AWSDesign Resilient Architectures

RDS & Aurora — SAA-C03 Practice Question

A representative AWS Solutions Architect Associate (SAA-C03) exam question on RDS & Aurora. Work through it below, then read why each option is right or wrong.

Short answer

The correct answer is B. Migrate to Amazon Aurora PostgreSQL with multiple Aurora Replicas configured as reader endpoints, which provides both read scaling and faster failover.

Amazon Aurora PostgreSQL provides automatic failover in typically under 30 seconds (meeting the <35 second RTO requirement). Aurora maintains continuous replication with an RPO of effectively zero. Aurora Replicas share the same underlying storage volume and can serve read traffic, addressing the performance issue. The Aurora reader endpoint automatically load balances read traffic across replicas.

The Question

A company runs a production workload on Amazon RDS for PostgreSQL Multi-AZ instance. The database experiences heavy read traffic during business hours, causing performance degradation. The company also requires an RPO of less than 1 second and an RTO of less than 35 seconds for the database tier. The current Multi-AZ deployment provides failover in about 60 seconds. Which solution meets BOTH the performance and recovery requirements?

AAdd RDS read replicas in the same Region to offload read traffic and keep the existing Multi-AZ deployment for high availability
BMigrate to Amazon Aurora PostgreSQL with multiple Aurora Replicas configured as reader endpoints, which provides both read scaling and faster failoverCorrect
CEnable RDS Multi-AZ with two standby instances (Multi-AZ DB cluster) for faster failover and add read replicas for read scaling
DImplement Aurora Global Database with a secondary Region for disaster recovery and use Aurora Replicas for read scaling in the primary Region

Why B is correct

Amazon Aurora PostgreSQL provides automatic failover in typically under 30 seconds (meeting the <35 second RTO requirement). Aurora maintains continuous replication with an RPO of effectively zero. Aurora Replicas share the same underlying storage volume and can serve read traffic, addressing the performance issue. The Aurora reader endpoint automatically load balances read traffic across replicas.

Why the other options are wrong

Option A: Add RDS read replicas in the same Region to offload read traffic and keep the existing Multi-AZ deployment for high availability

Standard RDS Multi-AZ failover takes 60-120 seconds, which exceeds the 35-second RTO requirement. While read replicas address the performance issue, the recovery time requirement is not met.

Option C: Enable RDS Multi-AZ with two standby instances (Multi-AZ DB cluster) for faster failover and add read replicas for read scaling

RDS Multi-AZ DB cluster deployment (with readable standbys) does offer faster failover (~35 seconds) and read scaling from the standby instances. However, this is a valid option but Aurora PostgreSQL provides faster failover (<30 seconds), better read scaling through purpose-built Aurora Replicas, and typically better performance through its storage architecture. Aurora is the better architectural choice.

Option D: Implement Aurora Global Database with a secondary Region for disaster recovery and use Aurora Replicas for read scaling in the primary Region

Aurora Global Database is designed for cross-region disaster recovery and global reads, which is more than what the scenario requires. It adds unnecessary complexity and cost. The scenario only requires single-region read scaling and fast failover.

Key idea: RDS & Aurora

Why B is correct: Amazon Aurora PostgreSQL provides automatic failover in typically under 30 seconds (meeting the <35 second RTO requirement). Aurora maintains continuous replication with an RPO of effectively zero. Aurora Replicas share the same underlying storage volume and can serve read traffic, addressing the performance issue. The Aurora reader endpoint automatically load balances read traffic across replicas. Why A is wrong: Standard RDS Multi-AZ failover takes 60-120 seconds, which exceeds the 35-second RTO requirement. While read replicas address the performance issue, the recovery time requirement is not met. Why C is wrong: RDS Multi-AZ DB cluster deployment (with readable standbys) does offer faster failover (~35 seconds) and read scaling from the standby instances. However, this is a valid option but Aurora PostgreSQL provides faster failover (<30 seconds), better read scaling through purpose-built Aurora Replicas, and typically better performance through its storage architecture. Aurora is the better architectural choice. Why D is wrong: Aurora Global Database is designed for cross-region disaster recovery and global reads, which is more than what the scenario requires. It adds unnecessary complexity and cost. The scenario only requires single-region read scaling and fast failover. On the SAA-C03 exam, questions in the "Design Resilient Architectures" domain test whether you can map a scenario's constraints to the right choice. Read the requirement carefully, eliminate options that violate any single constraint, and pick the one that satisfies all of them with the least operational overhead.

Ready to see how you'd score?

Take the free practice quiz and find out which AWS Solutions Architect Associate domains you need to focus on. No signup required.

Practice 5 similar questions

Same cert, same or adjacent domain. Use these after reviewing the explanation.

Related AWS Solutions Architect Associate Practice Questions