AWS Certified Solutions Architect – Associate (SAA-C02) — Question 596
A company hosts a two-tier website that runs on Amazon EC2 instances. The website has a database that runs on Amazon RDS for MySQL. All users are required to log in to the website to see their own customized pages.
The website typically experiences low traffic. Occasionally, the website experiences sudden increases in traffic and becomes unresponsive. During these increases in traffic, the database experiences a heavy write load. A solutions architect must improve the website's availability without changing the application code.
What should the solutions architect do to meet these requirements?
Answer options
- A. Create an Amazon ElastiCache for Redis cluster. Configure the application to cache common database queries in the ElastiCache cluster.
- B. Create an Auto Scaling group. Configure Amazon CloudWatch alarms to scale the number of EC2 instances based on the percentage of CPU in use during the traffic increases.
- C. Create an Amazon CloudFront distribution that points to the EC2 instances as the origin. Enable caching of dynamic content, and configure a write throttle from the EC2 instances to the RDS database.
- D. Migrate the database to an Amazon Aurora Serverless cluster. Set the maximum Aurora capacity units (ACUs) to a value high enough to respond to the traffic increases. Configure the EC2 instances to connect to the Aurora database.
Correct answer: D
Explanation
Migrating to Amazon Aurora Serverless requires no application code changes because Aurora MySQL is fully compatible with RDS for MySQL, allowing the EC2 instances to easily point to the new endpoint. Aurora Serverless will automatically scale database capacity (ACUs) up to handle sudden write-heavy traffic spikes and scale down during low-traffic periods. Other options either require application code modifications (such as implementing ElastiCache) or do not resolve the primary database write bottleneck.