AWS Certified Developer Associate (#136)

A company has a multi-tiered web application on AWS. During a recent spike in traffic, one of the primary relational databases on Amazon RDS could not serve all the traffic. Some read queries for repeatedly accessed items failed, so users received error messages. What can be done to minimize the impact on database read queries MOST efficiently during future traffic spikes?

Use Amazon S3 to cache database query results.
Use Amazon RDS as a custom origin for Amazon CloudFront.
Use local storage and memory on Amazon EC2 instances to cache data.
Use Amazon ElastiCache in front of the primary database to cache data.