A healthcare company runs a critical OLTP workload on Amazon RDS for PostgreSQL with Multi-AZ enabled. A solutions architect is asked to offload reporting queries—which can run for up to 20 minutes—from the primary instance without impacting transaction performance. The reporting queries must reflect data that is no more than 5 minutes old. Which solution BEST meets these requirements?
- A. Create one or more RDS read replicas and direct reporting queries to the replica endpoint✓ Correct
- B. Enable RDS Proxy and configure a separate connection pool for read-only queries
- C. Create an Amazon Redshift cluster and use AWS DMS to continuously replicate data from RDS; run reports against Redshift
- D. Direct reporting queries to the Multi-AZ standby instance using the standby endpoint
Explanation
RDS read replicas are asynchronously replicated copies of the primary database. Typical replication lag is measured in seconds, well within the 5-minute freshness requirement. Reporting queries are routed to the read replica endpoint, completely isolating long-running analytical queries from the primary OLTP workload. Multiple read replicas can be added if query concurrency increases. The Multi-AZ standby instance is a synchronous hot standby used exclusively for failover—it is not accessible for read queries; AWS does not expose a direct connection endpoint to the standby. Amazon Redshift with DMS is a valid analytics architecture but adds significant complexity, cost, and setup time; DMS replication latency can exceed 5 minutes depending on batch settings, potentially violating the freshness requirement. RDS Proxy improves connection pooling and failover speed but does not separate read workloads from the primary; it does not route queries to a replica by itself.