AWS Certified Solutions Architect – Associate (SAA-C03) — Question 839
A company runs an ecommerce application on AWS. Amazon EC2 instances process purchases and store the purchase details in an Amazon Aurora PostgreSQL DB cluster.
Customers are experiencing application timeouts during times of peak usage. A solutions architect needs to rearchitect the application so that the application can scale to meet peak usage demands.
Which combination of actions will meet these requirements MOST cost-effectively? (Choose two.)
Answer options
- A. Configure an Auto Scaling group of new EC2 instances to retry the purchases until the processing is complete. Update the applications to connect to the DB cluster by using Amazon RDS Proxy.
- B. Configure the application to use an Amazon ElastiCache cluster in front of the Aurora PostgreSQL DB cluster.
- C. Update the application to send the purchase requests to an Amazon Simple Queue Service (Amazon SQS) queue. Configure an Auto Scaling group of new EC2 instances that read from the SQS queue.
- D. Configure an AWS Lambda function to retry the ticket purchases until the processing is complete.
- E. Configure an Amazon AP! Gateway REST API with a usage plan.
Correct answer: A, C
Explanation
Using Amazon SQS (Option C) decouples the application frontend from the database, preventing timeouts by queuing purchase requests during peak traffic, while an Auto Scaling group of EC2 instances can scale to process these queued messages at a steady pace. Additionally, using Amazon RDS Proxy (Option A) pools database connections, which prevents database exhaustion from a surge of EC2 instances scaling up to process the queued requests. Other options like ElastiCache (Option B) do not resolve write-heavy transaction bottlenecks, and API Gateway usage plans (Option E) would throttle and reject legitimate user requests.