AWS Certified Solutions Architect – Associate (SAA-C03) — Question 670
An ecommerce company runs its application on AWS. The application uses an Amazon Aurora PostgreSQL cluster in Multi-AZ mode for the underlying database. During a recent promotional campaign, the application experienced heavy read load and write load. Users experienced timeout issues when they attempted to access the application.
A solutions architect needs to make the application architecture more scalable and highly available.
Which solution will meet these requirements with the LEAST downtime?
Answer options
- A. Create an Amazon EventBridge rule that has the Aurora cluster as a source. Create an AWS Lambda function to log the state change events of the Aurora cluster. Add the Lambda function as a target for the EventBridge rule. Add additional reader nodes to fail over to.
- B. Modify the Aurora cluster and activate the zero-downtime restart (ZDR) feature. Use Database Activity Streams on the cluster to track the cluster status.
- C. Add additional reader instances to the Aurora cluster. Create an Amazon RDS Proxy target group for the Aurora cluster.
- D. Create an Amazon ElastiCache for Redis cache. Replicate data from the Aurora cluster to Redis by using AWS Database Migration Service (AWS DMS) with a write-around approach.
Correct answer: C
Explanation
Adding Aurora Reader instances allows the application to scale out its read capacity to handle heavy read loads. Implementing Amazon RDS Proxy pools database connections, which prevents the application from exhausting database connection limits during traffic spikes, and it can be deployed with zero downtime. Other options, such as setting up DMS replication to ElastiCache or relying on EventBridge logging, do not directly and efficiently resolve both the read/write scaling and connection timeout issues with minimal downtime.