Q9 — AWS SAA-C03 Ch.17
Question 9 of 89 | ← Chapter 17
Q1309. A company uses a general-purpose instance class Amazon RDS for MySQL DB instance. The company has configured the DB instance in a Multi-AZ configuration across two Availability Zones as part of the company's production application.The company's finance team needs to run SQL queries against the DB instance to generate reports. Customers have reported significant performance issues with the application during report generation. A solutions architect needs to minimize the effect of the reporting job on the DB instance.Which solution will meet these requirements?
- A. Create a proxy in Amazon RDS Proxy. Update the reporting job to query the proxy endpoint.
- B. Update the RDS DB instance configuration to use three Availability Zones.
- C. Add an RDS read replica. Update the reporting job to query the replica endpoint. ✓
- D. Change the RDS configuration from a general-purpose instance class to a memory-optimized instance class.
Correct Answer: C. Add an RDS read replica. Update the reporting job to query the replica endpoint.
Explanation
The best solution to minimize the impact of reporting queries on the production Amazon RDS for MySQL DB instance is:C. Add an RDS read replica. Update the reporting job to query the replica endpoint.Why Option C is Correct:Read Replicas for Reporting WorkloadsAmazon RDS Read Replicas are read-only copies of the primary DB instance that asynchronously replicate data from the primary to offload read-heavy workloads (e.g., reporting, analytics). By directing reporting queries to the read replica, you isolate production workloads from the performance impact of long-running or resource-intensive queries.Read replicas are Multi-AZ capable (though not required for this use case), ensuring high availability for reporting if needed.Cost-Effective ScalingRead replicas use the same instance classes as the primary DB instance but can be scaled independently (e.g., upgrading to a larger instance class if reporting requires more resources). Unlike upgrading the primary instance (Option D), read replicas allow you to optimize costs by dedicating resources only to reporting.No Architectural ComplexityUnlike Amazon RDS Proxy (Option A), read replicas do not require application changes to connection logic (though you must update the reporting job's endpoint).Multi-AZ with three Availability Zones (Option B) is not supported by Amazon RDS (it only supports two AZs for Multi-AZ deployments).Why Other Options Are Incorrect:A. Amazon RDS ProxyRDS Proxy improves connection management (e.g., connection pooling) but does not isolate read workloads. Reporting queries would still run on the primary DB instance, causing performance issues. Useful for handling connection spikes (e.g., from microservices) but not for separating read/write workloads.B. Three Availability ZonesAmazon RDS does not support Multi-AZ deployments across three AZs. The maximum is two AZs (one primary, one standby).Even if supported, this would not address the reporting workload's impact on the primary instance.D. Memory-Optimized Instance ClassUpgrading to a memory-optimized instance (e.g., db.r6g.xlarge) may improve overall performance but does not isolate reporting queries.Reporting could still consume CPU/memory resources on the primary instance, affecting production workloads.More expensive than a read replica, which is a better fit for this use case.Implementation Steps for Option C:Create a Read ReplicaNavigate to the RDS console, select the primary DB instance, and choose "Create read replica." Configure the replica (e.g., instance class, storage, AZ placement).Update Reporting JobModify the reporting application's database connection string to point to the read replica's endpoint. Ensure the replica is fully synchronized before running reports (check the "Replication Status" in the RDS console).Monitor PerformanceUse Amazon CloudWatch to track metrics like ReplicaLag (time behind primary) and CPUUtilization on the replica.If lag is high, consider scaling the replica's instance class or using Multi-AZ read replicas for higher availability.Conclusion:Option C (Read Replica) is the most effective, scalable, and cost-efficient solution to isolate reporting workloads from production traffic on Amazon RDS for MySQL.