AWS Certified DevOps Engineer – Professional (DOP-C02) — Question 367
A company is running its ecommerce website on AWS. The website is currently hosted on a single Amazon EC2 instance in one Availability Zone. A MySQL database runs on the same EC2 instance.
The company needs to eliminate single points of failure in the architecture to improve the website's availability and resilience.
Which solution will meet these requirements with the LEAST configuration changes to the website?
Answer options
- A. Deploy the application by using AWS Fargate containers. Migrate the database to Amazon DynamoDB. Use Amazon API Gateway to route requests.
- B. Deploy the application on EC2 instances across multiple Availability Zones. Put the EC2 instances into an Auto Scaling group behind an Application Load Balancer. Migrate the database to Amazon Aurora Multi-AZ. Use Amazon CloudFront for content delivery.
- C. Use AWS Elastic Beanstalk to deploy the application across multiple AWS Regions. Migrate the database to Amazon Redshift. Use Amazon ElastiCache for session management.
- D. Migrate the application to AWS Lambda functions. Use Amazon S3 for static content hosting. Migrate the database to Amazon DocumentDB (with MongoDB compatibility).
Correct answer: B
Explanation
Option B is the best solution because keeping the application on EC2 instances and migrating the MySQL database to Amazon Aurora Multi-AZ requires minimal configuration changes. The other options involve migrating to entirely different database engines (like DynamoDB, Redshift, or DocumentDB) and refactoring the application code for serverless platforms (like Lambda or Fargate), which would require substantial development effort.