A digital subscription platform hosts a video-on-demand service. The media catalog database runs on an Amazon RDS for MySQL Multi-AZ DB instance. During popular show releases, the database experiences CPU utilization spikes up to 95% and application servers report database connection timeouts due to a massive surge in read-heavy traffic. The catalog metadata is highly static and updated only once per day. A Solutions Architect must optimize the database layer to reduce latency, prevent connection exhaustion on the database, and ensure that the caching layer is highly available and resilient to node failures. Which two actions should the Solutions Architect take to achieve these objectives? (Select two.)
- Deploy an Amazon ElastiCache for Redis cluster with replication enabled to cache database queries for the media catalog.Answer
- Deploy Amazon RDS Proxy between the application servers and the Amazon RDS DB instance to pool database connections.Answer
- CConfigure the application servers to direct read queries to the standby DB instance of the Multi-AZ deployment.
- DDeploy an Amazon ElastiCache for Memcached cluster and configure Auto Discovery to handle replication and failover across multiple Availability Zones.
- EDeploy an Amazon ElastiCache for Memcached cluster with a write-through strategy to persist cache updates to the RDS database.
Answer
The correct actions are deploying an Amazon ElastiCache for Redis cluster with replication enabled to cache database queries, and deploying Amazon RDS Proxy to pool database connections.
Deploying an Amazon ElastiCache for Redis cluster with replication enabled provides a highly available, replicated cache that offloads static catalog reads from the database. Deploying Amazon RDS Proxy handles connection pooling, preventing connection exhaustion and timeouts during traffic spikes.
Step-by-Step Solution
Key Concept
Optimizing database performance using ElastiCache for Redis for high-availability caching, and managing connection pooling using Amazon RDS Proxy.