AWS Certified Solutions Architect – Professional — Question 1002
A company has an online shop that uses an Amazon API Gateway API, AWS Lambda functions, and an Amazon DynamoDB table provisioned with 900 RCUs.
The API Gateway API receives requests from customers, and the Lambda functions handle the requests. Some of the Lambda functions read data from the
DynamoDB table.
During peak hours, customers are reporting timeout errors and slow performance. An investigation reveals that the Lambda functions that read the DynamoDB table occasionally time out. Amazon CloudWatch metrics show that the peak usage of the DynamoDB table is just below 900 RCUs.
Which solution will resolve this issue MOST cost-effectively?
Answer options
- A. Configure the DynamoDB table's read capacity to use auto scaling with default parameters.
- B. Increase the timeout of all the Lambda functions that read from the DynamoDB table.
- C. Use DynamoDB Streams to replicate data to a new table. Configure all the Lambda functions to read from the new table.
- D. Increase the DynamoDB table's provisioned read capacity to 1,400 RCUs.
Correct answer: A
Explanation
Enabling DynamoDB auto scaling allows the read capacity to dynamically scale up during peak traffic bursts to prevent throttling, and scale down during off-peak hours to save costs. Simply increasing the Lambda timeout does not address the underlying database throttling issue, and manually over-provisioning the table to 1,400 RCUs would result in unnecessary costs during low-traffic periods. Replicating the table via DynamoDB Streams adds unnecessary architectural complexity and doubles storage and write costs.