AWS Certified Solutions Architect – Associate (SAA-C02) — Question 548
A company is creating a prototype of an ecommerce website on AWS. The website consists of an Application Load Balancer, an Auto Scaling group of Amazon
EC2 instances for web servers, and an Amazon RDS for MySQL DB instance that runs with the Single-AZ configuration.
The website is slow to respond during searches of the product catalog. The product catalog is a group of tables in the MySQL database that the company does not update frequently. A solutions architect has determined that the CPU utilization on the DB instance is high when product catalog searches occur.
What should the solutions architect recommend to improve the performance of the website during searches of the product catalog?
Answer options
- A. Migrate the product catalog to an Amazon Redshift database. Use the COPY command to load the product catalog tables.
- B. Implement an Amazon ElastiCache for Redis cluster to cache the product catalog. Use lazy loading to populate the cache.
- C. Add an additional scaling policy to the Auto Scaling group to launch additional EC2 instances when database response is slow.
- D. Turn on the Multi-AZ configuration for the DB instance. Configure the EC2 instances to throttle the product catalog queries that are sent to the database.
Correct answer: B
Explanation
Caching the infrequently updated product catalog in an Amazon ElastiCache for Redis cluster significantly reduces the CPU load on the RDS DB instance by serving read-heavy search queries from fast in-memory storage. Lazy loading is an effective caching strategy that populates the cache only when a cache miss occurs, keeping the cache relevant and minimizing unnecessary data storage. Other options like migrating to Redshift (an analytical data warehouse) or adding more EC2 instances do not address the primary database CPU bottleneck.