A company runs an e-commerce application on Amazon RDS for MySQL. The application experiences read-heavy traffic during flash sales. The development team wants to offload read traffic without changing the application code. Which solution should be used?
Read Replicas offload read traffic without application changes.
Why this answer
Creating an RDS Read Replica allows read-heavy traffic to be offloaded from the primary RDS instance without any application code changes. The application simply needs to be configured to use the read replica's endpoint for SELECT queries, while writes continue to the primary instance. This directly addresses the requirement to offload read traffic without modifying the application code.
Exam trap
The trap here is that candidates often confuse Multi-AZ with read scaling, assuming the standby instance can serve reads, but in RDS Multi-AZ the standby is not accessible for read traffic—it only provides failover redundancy.
How to eliminate wrong answers
Option A is wrong because implementing ElastiCache requires updating the application code to cache queries, which violates the requirement of no code changes. Option B is wrong because Multi-AZ deployment provides high availability and automatic failover, but does not offload read traffic; the standby instance cannot serve reads. Option D is wrong because DynamoDB Accelerator (DAX) is an in-memory cache for Amazon DynamoDB, not for RDS for MySQL, and cannot be placed in front of an RDS instance.