Question #1957
A company is hosting a web application on multiple Amazon EC2 instances spread across several Availability Zones within a single VPC. The application requires a scalable, low-latency storage solution that is simultaneously accessible by all instances, with strict data residency requirements to ensure all data remains within the VPC. What should a solutions architect propose?
Use Amazon S3 for storage and integrate it into the application via REST API calls
Deploy an Amazon S3 bucket and configure all instances to access it as a network-mounted drive
Provision an Amazon Elastic Block Store (EBS) volume and attach it to all instances concurrently
Implement an Amazon Elastic File System (EFS) file system and mount it on all instances
Explanation
Answer D is correct because Amazon Elastic File System (EFS) is designed for scalable, low-latency file storage that can be mounted concurrently by multiple EC2 instances across multiple Availability Zones (AZs) within a VPC. It ensures data residency by operating entirely within the VPC when configured with proper security groups and network ACLs.
Why other options are incorrect:
- A: Amazon S3 is object storage accessed via REST APIs, which introduces latency and is not natively mountable. Data residency requires VPC endpoints, which are not explicitly mentioned.
- B: S3 cannot be natively mounted as a network drive. Third-party tools like s3fs-fuse may introduce performance issues and do not guarantee VPC-only data access.
- C: EBS volumes cannot be attached to instances in multiple AZs simultaneously, even with Multi-Attach, which is limited to a single AZ.
Key Points:
- EFS supports multi-AZ, shared file storage with low latency.
- Data residency is ensured by keeping EFS within the VPC.
- EBS is limited to single-AZ or single-instance attachments.
- S3 is not suitable for file system-like access or low-latency requirements.
Answer
The correct answer is: D