DOP-C02 Resilient Cloud Solutions Practice Question
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?
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
✓
Deploy EC2 instances in multiple Availability Zones
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.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Store session state in an EBS volume attached to each instance
Why it's wrong here
EBS volumes are zone-bound and can only be attached to a single EC2 instance at a time, so storing session state there tightly couples session data to a specific host. If that instance or its Availability Zone fails, the session data becomes inaccessible until manual recovery steps such as detaching and reattaching the volume are taken, causing downtime. Highly available architectures must store session state in a shared external service like ElastiCache or DynamoDB that survives individual instance failures.
- ✓
Deploy EC2 instances in multiple Availability Zones
Why this is correct
Distributing EC2 instances across multiple Availability Zones ensures the application can tolerate a complete failure of one physical data center, because the remaining instances continue to serve traffic. Each AZ has independent power, cooling, and network connectivity, so an outage in one AZ does not affect the others. This redundancy is the fundamental building block of high availability on AWS and is a necessary condition for achieving a higher service-level agreement.
- ✗
Use a single NAT instance in a public subnet
Why it's wrong here
A single NAT instance in a public subnet is a monolithic point of failure in the network path for all private subnet traffic. If the instance fails, is terminated, or becomes unhealthy due to OS-level issues, all outbound internet access from the private subnets is lost. Moreover, a NAT instance is a self-managed EC2 instance that requires manual failover, unlike a NAT gateway, which is fully managed and can be deployed per Availability Zone to provide redundant connectivity.
- ✗
Use only M5 instance types for better performance
Why it's wrong here
Instance type selection, such as choosing M5 general-purpose instances, influences compute, memory, and network performance but has no bearing on the resilience or availability of the architecture. Availability depends on redundancy through multiple instances, health checking, auto scaling, and distribution across Availability Zones. A larger or different instance type does not protect against failures; it can even increase the blast radius if a single instance hosts critical state without replication.
- ✓
Use an Application Load Balancer to distribute traffic
Why this is correct
An Application Load Balancer provides Layer-7 traffic distribution and performs active health checks on registered targets, automatically removing unhealthy instances from the rotation and rerouting traffic to healthy ones. When combined with instances spread across multiple Availability Zones, the ALB becomes a regional, fault-tolerant entry point that absorbs failures and balances load dynamically. This makes it a core component of a highly available architecture, although it must be paired with redundant targets to be effective.
Visual reference
Go deeper
Related to this question
About these practice questions
This DOP-C02 question is part of Courseiva's 1,013-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 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.