AWS Certified Solutions Architect – Professional (SAP-C02) — Question 472
A company's web application has reliability issues. The application serves customers globally. The application runs on a single Amazon EC2 instance and performs read-intensive operations on an Amazon RDS for MySQL database.
During high load, the application becomes unresponsive and requires a manual restart of the EC2 instance. A solutions architect must improve the application's reliability.
Which solution will meet this requirement with the LEAST development effort?
Answer options
- A. Create an Amazon CloudFront distribution. Specify the EC2 instance as the distribution’s origin. Configure a Multi-AZ deployment for the RDS for MySQL database. Use the standby DB instance for the read-intensive operations.
- B. Run the application on EC2 instances that are in an Auto Scaling group. Place the EC2 instances behind an Elastic Load Balancing (ELB) load balancer. Replace the database service with Amazon Aurora. Use Aurora Replicas for the read-intensive operations.
- C. Deploy AWS Global Accelerator. Configure a Multi-AZ deployment for the RDS for MySQL database. Use the standby DB instance for the read-intensive operations.
- D. Migrate the application to AWS Lambda functions. Create read replicas for the RDS for MySQL database. Use the read replicas for the read-intensive operations.
Correct answer: B
Explanation
Option B is correct because placing EC2 instances in an Auto Scaling group behind an ELB provides high availability and automatic scaling to handle load spikes. Migrating to Amazon Aurora and using Aurora Replicas offloads read-heavy operations, resolving the database bottleneck with minimal code modification compared to refactoring the application for AWS Lambda (Option D). Options A and C are incorrect because RDS Multi-AZ standby instances are passive and cannot be used to serve read traffic.