A company is designing a new relational Online Transaction Processing (OLTP) system. The system has key performance indicators requiring a recovery point objective (RPO) of zero (no data loss) and a recovery time objective (RTO) of less than 60 seconds during an Availability Zone outage. Additionally, the database must dynamically scale its read capacity to handle sudden spikes in query volume. Which of the following database configurations meets these requirements?
- Deploy an Amazon Aurora MySQL DB cluster with a primary instance and configure Aurora Auto Scaling to dynamically adjust the number of Aurora Replicas based on CPU utilization.Answer
- BDeploy an Amazon RDS for MySQL DB instance in a Multi-AZ deployment, and configure the application to send read queries directly to the standby instance in the secondary Availability Zone during peak traffic.
- CDeploy a single-node Amazon RDS for MySQL DB instance, and configure a cross-region read replica to act as the primary failover target with an automated script to promote the replica within 60 seconds.
- DDeploy an Amazon Aurora MySQL DB cluster, configure cross-account sharing using AWS-managed KMS keys to run read replicas in a secondary audit account, and scale them to absorb the read spikes.
Answer
Deploy an Amazon Aurora MySQL DB cluster with a primary instance and configure Aurora Auto Scaling to dynamically adjust the number of Aurora Replicas based on CPU utilization.
The correct option addresses all requirements: Amazon Aurora replicates data synchronously to multiple Availability Zones within the region (maintaining an RPO of zero). It supports dynamic scaling of up to 15 Aurora Replicas using Aurora Auto Scaling to handle sudden increases in read volume. In the event of a primary instance failure, Aurora automatically fails over to one of the replicas in less than 30 seconds, which satisfies the RTO constraint of less than 60 seconds.
Step-by-Step Solution
Key Concept
Amazon Aurora vs. Amazon RDS Multi-AZ scaling and high availability features