Question #580
A company operates a multi-node legacy application on premises that relies on a network-attached storage (NAS) system as a centralized configuration repository for .json files. The company is migrating the application to Amazon EC2 instances and requires a highly available, cost-effective solution for the configuration repository. Which solution BEST meets these requirements?
Attach an Amazon EBS volume to one EC2 instance. Configure a file system on the volume and share it via the host OS. Update the application to read/write configuration files from the shared volume.
Provision a micro EC2 instance with an instance store volume. Share the volume via the host OS and modify the application to access the shared files.
Create an Amazon S3 bucket to host the configuration files. Migrate the .json files to S3 and update the application to use the AWS SDK for reading/writing configurations.
Create an Amazon S3 bucket for the repository. Mount the bucket as a local volume on the EC2 instances using a third-party tool. Update the application to read/write files directly from the mounted volume.
Explanation
Option C is correct because:
1. High Availability & Durability: Amazon S3 offers 99.999999999% (11 9s) durability and 99.99% availability, meeting HA requirements.
2. Cost-Effectiveness: S3 charges based on storage used and requests, avoiding over-provisioning costs.
3. Direct Integration: Using the AWS SDK allows the application to read/write configurations natively without relying on OS-level file sharing or third-party tools.
Other options fail because:
- A: EBS volumes are AZ-bound and require manual sharing, creating a single point of failure.
- B: Instance store volumes are ephemeral and unsuitable for persistent storage.
- D: Mounting S3 as a volume introduces eventual consistency issues and third-party dependencies.
Key Points: S3 is ideal for static, frequently accessed files; avoid single-AZ solutions for HA; prefer native SDK integration over filesystem mounts.
Answer
The correct answer is: C