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.
Configuring the Auto Scaling group to launch EC2 instances in at least two Availability Zones ensures that if one AZ fails, the remaining AZ(s) can continue serving traffic. This is a fundamental pattern for building AZ-resilient compute tiers. Option E is correct because deploying Amazon RDS for MySQL in a Multi-AZ configuration automatically provisions and maintains a synchronous standby replica in a different AZ, providing automatic failover if the primary DB instance fails, thus ensuring database resilience.
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
Read replicas are not automatically promoted for failover; Multi-AZ is the correct approach.
- ✗
Use a Single-AZ RDS for MySQL database to keep costs low.
Why it's wrong here
Single-AZ does not provide automatic failover if the AZ fails.
- ✗
Place all EC2 instances in the same Availability Zone to reduce cross-AZ data transfer costs.
Why it's wrong here
This creates a single point of failure for the web tier.
- ✓
Configure the Auto Scaling group to launch EC2 instances in at least two Availability Zones.
Why this is correct
Distributing instances across AZs provides high availability for the web tier.
- ✓
Deploy the RDS for MySQL database in a Multi-AZ configuration.
Why this is correct
Multi-AZ provides automatic failover to a standby in a different AZ.
Go deeper
Related to this question
About these practice questions
This DOP-C02 question is part of Courseiva's 251-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: Deploying EC2 instances across multiple Availability Zones (B) ensures that the application remains available even if one AZ fails. Using an Application Load Balancer (E) distributes incoming traffic across these instances and performs health checks, automatically routing traffic away from unhealthy instances. Option A is incorrect because storing session state on an EBS volume attached to each instance tightly couples state to a single instance, making it unavailable if the instance fails; instead, use a shared session store like ElastiCache or DynamoDB. Option C is incorrect because a single NAT instance is a single point of failure; for high availability, use a NAT Gateway or deploy NAT instances across multiple AZs. Option D is incorrect because instance type selection (M5) does not contribute to high availability; availability is achieved through architectural redundancy, not hardware specifications.
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.