AWS Certified DevOps Engineer – Professional (DOP-C02) — Question 356
A company needs to update its order processing application to improve resilience and availability. The application requires a stateful database and uses a single-node Amazon RDS DB instance to store customer orders and transaction history. A DevOps engineer must make the database highly available.
Which solution will meet this requirement?
Answer options
- A. Migrate the database to Amazon DynamoDB global tables. Configure automatic failover between AWS Regions by using Amazon Route 53 health checks.
- B. Migrate the database to Amazon EC2 instances in multiple Availability Zones. Use Amazon Elastic Block Store (Amazon EBS) Multi-Attach to connect all the instances to a single EBS volume.
- C. Use the RDS DB instance as the source instance to create read replicas in multiple Availability Zones. Deploy an Application Load Balancer to distribute read traffic across the read replicas.
- D. Modify the RDS DB instance to be a Multi-AZ deployment. Verify automatic failover to the standby instance if the primary instance becomes unavailable.
Correct answer: D
Explanation
Modifying the Amazon RDS DB instance to a Multi-AZ deployment is the most straightforward and AWS-recommended way to achieve high availability with automatic failover for an existing RDS database. Option A involves a complex migration to a NoSQL database (Amazon DynamoDB) which may not support the application's stateful relational requirements, while Option B's use of EBS Multi-Attach is not supported for standard block storage clustering in this manner. Option C only provides read scalability through read replicas and does not offer automatic write failover, making it insufficient for full high availability.