AWS Certified Solutions Architect – Associate (SAA-C02) — Question 754
A startup company is hosting a website for its customers on an Amazon EC2 instance. The website consists of a stateless Python application and a MySQL database. The website servers only a small amount of traffic. The company is concerned about the reliability of the instance and needs to migrate to a highly available architecture. The company cannot modify the application code.
Which combination of actions should a solutions architect take to achieve high availability for the website?
Answer options
- A. Provision an internet gateway in each Availability Zone in use.
- B. Migrate the database to an Amazon RDS for MySQL Multi-AZ DB instance.
- C. Migrate the database to Amazon DynamoDB, and enable DynamoDB auto scaling.
- D. Use AWS DataSync to synchronize the database data across multiple EC2 instances.
- E. Create an Application Load Balancer to distribute traffic to an Auto Scaling group of EC2 instances that are distributed across two Availability Zones.
Correct answer: E
Explanation
To achieve high availability for the stateless application tier, deploying an Auto Scaling group of EC2 instances across multiple Availability Zones behind an Application Load Balancer (Option E) is the standard best practice. For the database tier, migrating to Amazon RDS for MySQL Multi-AZ (Option B) provides automatic failover and high availability without requiring any changes to the application code. Option C is incorrect because migrating from MySQL to DynamoDB requires significant application code changes, while Option D is not a viable real-time database replication strategy.