Question #1088
A company operates a mission-critical web application on Amazon EC2 instances behind an Application Load Balancer, with the instances in an Auto Scaling group. The application uses an Amazon RDS MySQL database deployed in a single Availability Zone. The company wants the application to be highly available with minimal downtime and minimal data loss while requiring the LEAST operational effort. Which solution meets these requirements?
Deploy EC2 instances across multiple AWS Regions. Use Amazon Route 53 failover routing policies. Enable cross-region read replicas for the RDS MySQL database.
Configure the Auto Scaling group to use multiple Availability Zones. Modify the RDS MySQL database to use a Multi-AZ deployment. Use an RDS Proxy to manage database connections.
Distribute EC2 instances across one Availability Zone. Create daily automated backups of the RDS database. Restore backups to a new Availability Zone during failures.
Deploy EC2 instances in multiple AWS Regions. Write application data to Amazon DynamoDB Global Tables. Use an Amazon CloudWatch alarm to trigger failover.
Explanation
Answer B meets the requirements because:
1. Auto Scaling across AZs: Distributes EC2 instances across multiple AZs, ensuring the application remains available if one AZ fails.
2. RDS Multi-AZ: Automatically provisions a standby replica in another AZ, enabling automatic failover with minimal downtime and data loss (synchronous replication).
3. RDS Proxy: Manages database connections during failover, reducing application disruptions.
Other options fail because:
- A: Cross-region setups add complexity, and read replicas are asynchronous (risk of data loss).
- C: Daily backups risk data loss, and manual restores increase downtime/effort.
- D: Multi-region deployment is unnecessary and DynamoDB isn't part of the current architecture.
Key Points: Use Multi-AZ for RDS and Auto Scaling across AZs for HA with minimal operational overhead.
Answer
The correct answer is: B