AWS Certified Solutions Architect - Professional / Question #884 of 529

Question #884

A company is migrating its on-premises content management system (CMS) to AWS. The CMS operates within Docker containers hosted on VMs, utilizing shared storage for user-uploaded assets. The CMS must handle unpredictable traffic spikes with low-latency access to assets. The company cannot modify the CMS application and seeks to eliminate Docker environment management.

How should the company migrate the CMS to AWS to meet these requirements?

A

Migrate the containers to Amazon Elastic Kubernetes Service (Amazon EKS). Use Amazon S3 to store the shared assets accessed by the containers.

B

Migrate the containers to AWS Fargate for Amazon Elastic Container Service (Amazon ECS). Create an Amazon Elastic File System (Amazon EFS) file system. Define a Fargate task with a volume linking to the EFS file system.

C

Migrate the containers to AWS Fargate for Amazon ECS. Create an Amazon Elastic Block Store (Amazon EBS) volume. Attach the EBS volume to each Fargate task running the CMS.

D

Deploy Docker containers on Amazon EC2 instances. Install Docker and migrate the CMS. Create an Amazon EFS file system and mount it to the EC2 instances for shared asset storage.

Explanation

Answer B is correct because:
1. AWS Fargate removes the need to manage EC2 instances or Docker environments, aligning with the requirement to eliminate management overhead.
2. Amazon EFS is a shared, scalable file system that allows multiple Fargate tasks to access the same storage simultaneously, ensuring consistency for user-uploaded assets.
3. EFS integrates seamlessly with Fargate tasks via volume mounts, requiring no application modifications.

Other options fail because:
- A: S3 is object storage, not a file system, and would require application changes to use S3 APIs.
- C: EBS volumes cannot be shared across multiple tasks simultaneously, breaking the shared storage requirement.
- D: Using EC2 requires managing Docker and infrastructure, violating the 'eliminate management' requirement.

Key Points: Use Fargate for serverless containers and EFS for shared, low-latency file storage when migrating legacy apps without code changes.

Answer

The correct answer is: B