Question

Difficulty: Very hardResilient Database Configurations and High Availability

An enterprise application uses an Amazon RDS for PostgreSQL database to manage critical transactions. The architecture must guarantee high availability (HA) within the primary Region (uswest2us-west-2) with a Recovery Time Objective (RTO) of less than 6060 seconds and a Recovery Point Objective (RPO) of 00. For disaster recovery (DR) in a secondary Region (useast1us-east-1), the architecture must support a Recovery Point Objective (RPO) of less than 1515 minutes. The secondary Region must also support read scaling for local analytics workloads. Which of the following database configurations meets these requirements with the least operational complexity?

  1. A
    Configure the database as a Single-AZ Amazon RDS DB instance in the primary Region with a local read replica in a different Availability Zone. Configure the application to automatically promote the local read replica to primary during an outage, and create a cross-region read replica in the secondary Region.
  2. Configure the database as an Amazon RDS Multi-AZ DB cluster deployment in the primary Region. Create a cross-region read replica in the secondary Region to serve local analytics workloads.Answer
  3. C
    Configure an Amazon RDS Multi-AZ DB instance in the primary Region. Configure AWS Backup to take automated snapshots of the database every 1212 hours and copy them to the secondary Region to maintain a pilot light environment.
  4. D
    Configure an Amazon RDS Multi-AZ DB instance in the primary Region and create a cross-region read replica in the secondary Region. Configure an Amazon Route 53 Latency routing policy without health checks to automatically redirect write traffic to the secondary Region replica during a failure.

Answer

Configure the database as an Amazon RDS Multi-AZ DB cluster deployment in the primary Region, and create a cross-region read replica in the secondary Region to serve local analytics workloads.
The correct configuration utilizes an Amazon RDS Multi-AZ DB cluster deployment in the primary Region. Multi-AZ DB clusters provide high availability with a writer DB instance and two readable reader DB instances across three Availability Zones. Failovers in this configuration typically take less than 3535 seconds, which satisfies the RTO of less than 6060 seconds, and the replication is synchronous, guaranteeing an RPO of 00. A cross-region read replica in the secondary Region provides asynchronous replication to meet the DR RPO requirement of less than 1515 minutes and allows local analytics workloads to perform read operations without impacting the primary writer.

Step-by-Step Solution

1
Analyze high availability (HA) requirements for the primary database tier.
The requirement for an RPO of 00 means replication within the primary Region must be synchronous. The requirement for an RTO of less than 6060 seconds points to an RDS Multi-AZ cluster deployment, which typically fails over in less than 3535 seconds, compared to a standard Multi-AZ instance which can take 6060-120120 seconds.
This rules out single-AZ deployments utilizing asynchronous read replicas for HA.
2
Evaluate disaster recovery (DR) and read scaling constraints in the secondary Region.
The database must support an RPO of less than 1515 minutes in the secondary Region and allow read scaling for analytics.
Creating a cross-region read replica satisfies both constraints because replication is continuous (typically sub-minute lag, well under the 1515-minute RPO limit) and the replica can serve local read queries directly.
3
Assess failover and routing mechanisms.
Confirm that database write failovers across regions are not handled by passive read replicas directly, and that Route 53 Latency routing without health checks is insufficient.
This guarantees that the design relies on the native automated failover capabilities of the Multi-AZ DB cluster for local outages, and standard read replica promotion procedures for disaster recovery.

Key Concept

High Availability vs. Disaster Recovery in Amazon RDS
Rate this question