SAA-C03 Design Resilient Architectures Practice Question
A retail API runs on Amazon EC2 instances behind an Application Load Balancer and stores orders in an Amazon RDS for PostgreSQL database. A test that stopped one Availability Zone caused the API to return errors because all application servers were in the same AZ and the database was single-AZ. Which two changes should the architect make to continue serving traffic during a single-AZ failure? Select two.
⚠ Common exam trap
Many candidates think a read replica can serve as a high-availability solution for writes, but read replicas are asynchronous and do not support automatic failover for the primary database.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Configure the Auto Scaling group to launch instances across private subnets in at least two Availability Zones.
Distributing EC2 instances across private subnets in at least two Availability Zones (AZs) ensures that if one AZ fails, the Auto Scaling group can continue serving traffic from instances in the remaining AZs. This eliminates the single point of failure for the application tier. Option D is correct because converting the RDS for PostgreSQL database to a Multi-AZ deployment automatically provisions a standby replica in a different AZ, enabling automatic failover during an AZ outage and preserving database availability.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Increase the EC2 instance size and keep all application servers in the same subnet.
Why it's wrong here
Bigger instances add capacity, but they do not protect against the entire Availability Zone becoming unavailable.
When this WOULD be correct
If the question described a performance bottleneck (e.g., CPU or memory saturation) and the goal was to improve throughput for a single-AZ workload, increasing instance size would be correct.
- ✓
Configure the Auto Scaling group to launch instances across private subnets in at least two Availability Zones.
Why this is correct
Spreading the application tier across multiple AZs preserves healthy capacity if one AZ fails and lets the load balancer keep serving requests.
- ✗
Replace the Application Load Balancer with a Network Load Balancer in a single Availability Zone.
Why it's wrong here
A single-AZ load balancer still leaves the application vulnerable to an AZ outage and does not add redundant capacity.
When this WOULD be correct
When the requirement is to handle extremely high throughput with low latency for TCP/UDP traffic, and the application is already deployed across multiple AZs with its own failover logic. An NLB in a single AZ could be correct if the question explicitly states that only one AZ is used and the goal is to maximize performance within that AZ.
- ✓
Convert the RDS for PostgreSQL database to a Multi-AZ deployment.
Why this is correct
Multi-AZ RDS adds synchronous standby failover in another AZ, which protects the writer database from a single-AZ loss.
- ✗
Add an Amazon RDS read replica and point the application to the replica endpoint.
Why it's wrong here
Read replicas help with read scaling, but they are not a direct replacement for automatic writer failover in this scenario.
When this WOULD be correct
A read replica would be correct if the question asked for offloading read traffic from the primary database to improve read performance, or if the requirement was to have a standby for disaster recovery in a different region (cross-region read replica) without automatic failover.
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The SAA-C03 exam frequently reuses these exact scenarios with slightly different constraints.
✓Configure the Auto Scaling group to launch instances across private subnets in at least two Availability Zones.Correct answer▾
Why this is correct
Spreading the application tier across multiple AZs preserves healthy capacity if one AZ fails and lets the load balancer keep serving requests.
✗Increase the EC2 instance size and keep all application servers in the same subnet.Wrong answer — click to see why▾
Why this is wrong here
Increasing EC2 instance size and keeping all servers in one subnet does not provide fault tolerance across Availability Zones; a single AZ failure would still take down all application servers.
★ When this WOULD be the correct answer
If the question described a performance bottleneck (e.g., CPU or memory saturation) and the goal was to improve throughput for a single-AZ workload, increasing instance size would be correct.
Why candidates choose this
Candidates may think bigger instances alone can handle failures, confusing vertical scaling with high availability.
✗Replace the Application Load Balancer with a Network Load Balancer in a single Availability Zone.Wrong answer — click to see why▾
Why this is wrong here
A Network Load Balancer (NLB) in a single AZ cannot provide cross-AZ failover; the question requires serving traffic during a single-AZ failure, which demands multi-AZ architecture. An NLB alone does not address the lack of application server redundancy.
★ When this WOULD be the correct answer
When the requirement is to handle extremely high throughput with low latency for TCP/UDP traffic, and the application is already deployed across multiple AZs with its own failover logic. An NLB in a single AZ could be correct if the question explicitly states that only one AZ is used and the goal is to maximize performance within that AZ.
Why candidates choose this
Candidates may confuse load balancer types, thinking an NLB provides better availability than an ALB, or they may overlook that the NLB is still confined to a single AZ, which does not solve the multi-AZ failure requirement.
✗Add an Amazon RDS read replica and point the application to the replica endpoint.Wrong answer — click to see why▾
Why this is wrong here
A read replica does not provide automatic failover; the application would need to manually switch to the replica endpoint, which does not address the single-AZ failure of the primary database. The question requires continued serving traffic during a single-AZ failure, which Multi-AZ provides by automatic failover.
★ When this WOULD be the correct answer
A read replica would be correct if the question asked for offloading read traffic from the primary database to improve read performance, or if the requirement was to have a standby for disaster recovery in a different region (cross-region read replica) without automatic failover.
Why candidates choose this
Candidates may confuse read replicas with Multi-AZ deployments, thinking that a read replica provides high availability, but it does not offer automatic failover and is primarily for read scaling.
Analysis generated from the official SAA-C03blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Visual reference
Go deeper
Related to this question
About these practice questions
This SAA-C03 question is part of Courseiva's 302-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.