Multi-AZ Resilience for Web Applications
A company is building a multi-tier web application on AWS. The application must be resilient to the failure of an entire Availability Zone. The architecture includes an Application Load Balancer (ALB), EC2 instances in an Auto Scaling group, and an Amazon RDS for MySQL database. Which TWO actions should be taken to achieve this resilience? (Choose two.)
Quick Answer
The correct actions are deploying the RDS for MySQL database in a Multi-AZ configuration and configuring the Auto Scaling group to launch EC2 instances in at least two Availability Zones. This combination achieves AZ-level resilience by ensuring that both the compute and database tiers can survive the failure of an entire Availability Zone. The Auto Scaling group distributes EC2 instances across multiple zones, so traffic continues through the ALB if one zone goes down, while RDS Multi-AZ provides a synchronous standby replica in a different zone with automatic failover for the database. On the AWS Certified DevOps Engineer Professional DOP-C02 exam, this tests your understanding of layered resilience patterns—a common trap is thinking a single Multi-AZ deployment alone covers all tiers, but you must explicitly distribute compute resources as well. Remember the memory tip: "Spread the compute, sync the database" to recall that Auto Scaling spans zones while RDS mirrors writes.
⚠ Common exam trap
Watch out — candidates often confuse read replicas (asynchronous, for read scaling) with Multi-AZ deployments (synchronous, for high availability), and mistakenly think placing all resources in one AZ reduces costs without recognizing the critical single point of failure it introduces.
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 EC2 instances in at least two Availability Zones.
Option D is correct because an Auto Scaling group configured to span at least two Availability Zones ensures that if one AZ fails, the remaining AZ can continue serving traffic behind the ALB, maintaining compute capacity and application availability. Option E is correct because an RDS for MySQL Multi-AZ deployment maintains a synchronous standby replica in a different AZ and automatically fails over to it if the primary AZ becomes unavailable, providing database resilience. Option A is incorrect because a read replica is asynchronous and is intended for read scaling, not automatic failover for high availability. Option B is incorrect because a Single-AZ RDS database has no standby in another AZ and cannot survive an AZ failure. Option C is incorrect because placing all EC2 instances in one AZ concentrates the workload in a single failure domain, defeating the resilience requirement.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Configure an RDS read replica in a different Availability Zone.
Why it's wrong here
An RDS read replica is asynchronous and not designed for automatic failover; promoting it is manual and may lose recent transactions. It tempts because replicas do reside in another AZ and offload reads, but AZ resilience for MySQL requires a Multi-AZ standby with synchronous replication and automatic failover.
- ✗
Use a Single-AZ RDS for MySQL database to keep costs low.
Why it's wrong here
A Single-AZ RDS instance has no standby in another Availability Zone, so an AZ failure causes database downtime and potential data loss. It tempts because Single-AZ deployments cost less than Multi-AZ, making them valid for dev or non-critical databases, but the stem demands resilience to whole-AZ failure.
- ✗
Place all EC2 instances in the same Availability Zone to reduce cross-AZ data transfer costs.
Why it's wrong here
Concentrating EC2 instances in one Availability Zone means an AZ failure removes all capacity, defeating the stated resilience requirement. It tempts because cross-AZ data transfer does carry cost, so single-AZ placement suits cost-optimised, non-resilient workloads, but here the Auto Scaling group must span multiple AZs.
- ✓
Configure the Auto Scaling group to launch EC2 instances in at least two Availability Zones.
Why this is correct
Spreading EC2 instances across at least two Availability Zones means an AZ outage leaves capacity in the surviving zone, so the Auto Scaling group keeps serving traffic behind the ALB. This directly satisfies the requirement to survive failure of an entire Availability Zone.
- ✓
Deploy the RDS for MySQL database in a Multi-AZ configuration.
Why this is correct
Multi-AZ RDS maintains a synchronous standby in a second Availability Zone and automatically fails over the database endpoint during an AZ outage. This removes the database as a single point of failure, satisfying the requirement that the whole application survive an Availability Zone loss.
Go deeper
Related to this question
About these practice questions
This DOP-C02 question is part of Courseiva's 1,298-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 →
Same concept, more angles
5 more ways this is tested on DOP-C02
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company is designing a highly available architecture for a stateless web application using AWS services. Which TWO steps should they take to achieve high availability?
medium- A.Store session state in an EBS volume attached to each instance
- ✓ B.Deploy EC2 instances in multiple Availability Zones
- C.Use a single NAT instance in a public subnet
- D.Use only M5 instance types for better performance
- ✓ E.Use an Application Load Balancer to distribute traffic
Why B: Option B is correct because deploying EC2 instances across multiple Availability Zones ensures the application survives an AZ-level failure, which is a fundamental requirement for high availability in AWS. Option E is correct because an Application Load Balancer distributes incoming traffic across healthy targets in multiple AZs, performs health checks, and automatically routes around failed instances, directly supporting high availability for a stateless web tier. Option A is incorrect because storing session state on an EBS volume tied to a single instance creates a single point of failure and is unnecessary for a stateless application. Option C is incorrect because a single NAT instance is itself a single point of failure and cannot provide high availability. Option D is incorrect because choosing a specific instance type like M5 improves performance but does nothing to increase availability.
Variation 2. A company is designing a highly available architecture for a web application that uses Amazon EC2 instances. The application must be resilient to the failure of a single instance and a single Availability Zone. Which TWO actions should the company take? (Choose TWO.)
easy- ✓ A.Use an Auto Scaling group with a minimum of two instances spread across two Availability Zones.
- ✓ B.Distribute EC2 instances across at least two Availability Zones.
- C.Place all EC2 instances in a single Availability Zone and use a Network Load Balancer.
- D.Use a single Application Load Balancer in one Availability Zone.
- E.Use a single large EC2 instance in one Availability Zone.
Why A: An Auto Scaling group with a minimum of two instances spread across two Availability Zones ensures that if one instance or one entire AZ fails, the remaining instance(s) in the other AZ can continue serving traffic, and Auto Scaling will automatically launch a replacement instance in the healthy AZ to restore the desired count. Option B is correct because distributing EC2 instances across at least two Availability Zones is the fundamental requirement for AZ-level resilience, as it eliminates a single point of failure at the AZ boundary.
Variation 3. A company is designing a highly available architecture for a web application using AWS. Which TWO of the following design principles should be applied? (Select TWO.)
easy- A.Run all resources in a single Availability Zone to reduce complexity
- B.Store session data on EC2 instances to improve performance
- ✓ C.Deploy resources across multiple Availability Zones
- ✓ D.Use loosely coupled components, such as queues and asynchronous processing
- E.Use tightly coupled components to reduce latency
Why C: Correct answers: C and D. Deploying resources across multiple Availability Zones (C) ensures high availability by tolerating an AZ failure. Using loosely coupled components like queues (D) improves resilience by decoupling components, preventing cascading failures and allowing independent scaling. Option A is wrong because running in a single AZ creates a single point of failure. Option B is wrong because storing session data on EC2 instances is not recommended for high availability; session data should be stored externally (e.g., ElastiCache or DynamoDB). Option E is wrong because tightly coupled components increase dependency and reduce fault tolerance.
Variation 4. A company is designing a resilient architecture for a critical application. Which TWO strategies improve resilience?
medium- ✓ A.Deploy resources across multiple Availability Zones
- B.Use a single large instance instead of multiple smaller ones
- ✓ C.Use health checks to automatically replace unhealthy resources
- D.Disable automated backups to reduce latency
- E.Deploy resources in a single Availability Zone
Why A: Multi-AZ deployments and health checks with auto-remediation improve resilience by handling failures automatically.
Variation 5. A company wants to design a resilient architecture for a web application using AWS services. Which of the following is a best practice for improving resilience?
easy- ✓ A.Deploy EC2 instances in multiple Availability Zones.
- B.Use an Auto Scaling group in a single AZ.
- C.Use a single AZ with RDS Multi-AZ.
- D.Use one large EC2 instance to handle all traffic.
Why A: Deploying EC2 instances across multiple Availability Zones (AZs) is a fundamental best practice for resilience because it eliminates a single point of failure at the data center level. If one AZ experiences an outage, traffic can be automatically routed to healthy instances in other AZs via an Elastic Load Balancer (ELB), ensuring application availability. This approach aligns with the AWS Well-Architected Framework's Reliability Pillar, which mandates distributing workloads across multiple AZs to achieve high availability.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DOP-C02 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 DOP-C02 exam.