AWS Certified Solutions Architect – Professional — Question 443
A car rental company has built a serverless REST API to provide data to its mobile app. The app consists of an Amazon API Gateway API with a Regional endpoint, AWS Lambda functions, and an Amazon Aurora MySQL Serverless DB cluster. The company recently opened the API to mobile apps of partners. A significant increase in the number of requests resulted, causing sporadic database memory errors. Analysis of the API traffic indicates that clients are making multiple HTTP GET requests for the same queries in a short period of time. Traffic is concentrated during business hours, with spikes around holidays and other events.
The company needs to improve its ability to support the additional usage while minimizing the increase in costs associated with the solution.
Which strategy meets these requirements?
Answer options
- A. Convert the API Gateway Regional endpoint to an edge-optimized endpoint. Enable caching in the production stage.
- B. Implement an Amazon ElastiCache for Redis cache to store the results of the database calls. Modify the Lambda functions to use the cache.
- C. Modify the Aurora Serverless DB cluster configuration to increase the maximum amount of available memory.
- D. Enable throttling in the API Gateway production stage. Set the rate and burst values to limit the incoming calls.
Correct answer: A
Explanation
Enabling API Gateway caching in the production stage allows identical HTTP GET requests to be served directly from the cache, preventing redundant invocations of AWS Lambda and reducing the query load on the Amazon Aurora Serverless DB cluster. This is a highly cost-effective solution compared to deploying Amazon ElastiCache, which requires architectural changes and ongoing instance costs. Modifying Aurora Serverless memory capacity or implementing throttling either increases costs unnecessarily or negatively impacts the partner integration by dropping requests.