Question #1006
A company operates a three-tier web application in an on-premises data center. The frontend uses an Nginx web server, the middle tier is a monolithic .NET application, and the storage tier relies on a MySQL database. During a recent flash sale, the application crashed due to overloaded tiers, rendering the system unresponsive. The database reached its capacity limit from read operations, and the company needs a scalable AWS solution with minimal operational effort for upcoming events. Which combination of steps should be taken? (Choose three.)
Refactor the frontend to host static assets on Amazon S3. Use Amazon CloudFront to distribute content. Connect the frontend to the .NET application.
Rehost the Nginx web server on Amazon EC2 instances in an Auto Scaling group. Deploy a load balancer and use Amazon EFS for static assets required by Nginx.
Rehost the .NET application in an AWS Elastic Beanstalk environment configured with auto scaling.
Refactor the .NET application into Docker containers and deploy using AWS Fargate to manage scalability.
Migrate the MySQL database to Amazon Aurora MySQL using AWS DMS. Enable Aurora Auto Scaling for read replicas to handle read capacity.
Rehost the MySQL database on a larger Amazon EC2 instance with increased memory capacity.
Explanation
A: Hosting static assets on S3 with CloudFront reduces frontend load and improves scalability. B is incorrect because EFS adds latency and operational overhead compared to S3. C: Elastic Beanstalk automates .NET app scaling, reducing effort. D involves container refactoring, which is more complex. E: Aurora Auto Scaling handles read replicas dynamically, solving database bottlenecks. F uses vertical scaling (larger EC2), which is less scalable than Aurora's read replicas. Key points: Use managed services (S3, CloudFront, Elastic Beanstalk, Aurora) for scalability and minimal operational effort.
Answer
The correct answer is: ACE