Question #1071
A company is deploying a distributed analytics application on AWS. The application processes large datasets ranging from hundreds of gigabytes to petabytes, requiring a shared file system accessible across multiple instances. The solution must be highly available, automatically scalable, and minimize administrative management. Which architecture meets these requirements?
Deploy the application on AWS Fargate. Use Amazon S3 for storage.
Deploy the application on Amazon EC2 instances with an Auto Scaling group. Use Amazon FSx for Lustre.
Deploy the application on Amazon EC2 instances in a Multi-AZ deployment. Use Amazon EFS.
Deploy the application on Amazon EC2 instances. Use Amazon EBS volumes with provisioned IOPS.
Explanation
Option C is correct because:
- Amazon EFS is a fully managed, scalable, and highly available network file system (NFS) that supports shared access across multiple EC2 instances. It automatically scales storage capacity based on demand, eliminating administrative management.
- Multi-AZ EC2 deployment ensures high availability by distributing instances across Availability Zones (AZs), aligning with the requirement for fault tolerance.
Other options are incorrect because:
- A: Amazon S3 is object storage, not a POSIX-compliant file system, making it unsuitable for applications requiring shared file access.
- B: While FSx for Lustre is a high-performance file system, it requires manual configuration for Multi-AZ redundancy and is optimized for compute-heavy workloads, not general-purpose shared storage.
- D: EBS volumes are block storage tied to a single EC2 instance and cannot be shared across instances without complex setups.
Key Points: Use EFS for shared, scalable file storage with Multi-AZ EC2 for high availability. Avoid S3/EBS for POSIX file system requirements.
Answer
The correct answer is: C