DOP-C02 Resilient Cloud Solutions Practice Question
A company runs a microservices application on Amazon ECS with Fargate. The application includes a service that processes orders and stores them in an RDS PostgreSQL database. The company wants to ensure that the order service is resilient to AZ failures and can handle a sudden increase in order volume. Which TWO actions should the DevOps engineer take? (Choose TWO.)
⚠ Common exam trap
Many exam-takers confuse connection pooling (RDS Proxy) with high availability (Multi-AZ) or assume that vertical scaling (increasing task limits) is sufficient for both resilience and sudden load, when in fact horizontal distribution across AZs is required for fault tolerance and elasticity.
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 the RDS instance in a Multi-AZ configuration.
Deploying the RDS instance in a Multi-AZ configuration provides automatic failover to a standby replica in a different Availability Zone, ensuring database resilience to AZ failures. Option D is correct because configuring the ECS service to run tasks in multiple Availability Zones distributes the order processing workload across AZs, improving both fault tolerance and scalability during sudden traffic spikes.
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 CPU and memory limits for the ECS task definition.
Why it's wrong here
Increasing the CPU and memory limits only changes the individual task's resource footprint; it does not add additional task instances, so there is no capacity to absorb a spike in order traffic and no redundancy to survive an Availability Zone failure. In fact, larger tasks can reduce deployment density across the cluster and make it harder for the ECS placement algorithms to distribute tasks evenly across AZs. Vertical scaling also does nothing to protect the RDS database, which remains a single point of failure. The correct approach for sudden load is horizontal scaling via ECS Service Auto Scaling and for AZ failure is multi-AZ task placement and a Multi-AZ database.
- ✗
Place an Amazon CloudFront distribution in front of the order service.
Why it's wrong here
Amazon CloudFront is an edge caching service that primarily accelerates distribution of static content and can cache some dynamic responses, but an order service receives non-idempotent transactional writes that must reach the backend in real time; a CDN cannot absorb write traffic or provide a failover for the ECS tasks or RDS instance. CloudFront does not perform health checks against the order service to reroute traffic, and even if an origin group were configured, the order service itself and the database would still need to be deployed redundantly across Availability Zones. Using CloudFront here would only add latency for uncached POST requests and create a misleading sense of resilience.
- ✓
Deploy the RDS instance in a Multi-AZ configuration.
Why this is correct
Deploying RDS in a Multi-AZ configuration creates a synchronous standby replica in a different Availability Zone, and Amazon RDS automatically fails over to the standby if the primary instance becomes unhealthy or the AZ fails. The DNS name stays the same, so the ECS order service can reconnect without code changes, and the standby is continuously updated with synchronous replication to prevent data loss. This directly addresses the database as a single point of failure, which is necessary because the order service depends on durable transactions to record orders.
- ✓
Configure the ECS service to run tasks in multiple Availability Zones.
Why this is correct
Configuring the ECS service to run tasks in multiple Availability Zones spreads the stateless order service compute across isolated infrastructure, so if an entire AZ becomes unavailable, the Application Load Balancer can route traffic only to healthy targets in the remaining AZs. ECS orchestrates task placement across the subnets you specify in different AZs, and with Service Auto Scaling you can maintain desired task counts and replace failed tasks. For complete resilience, the RDS database must also be Multi-AZ so both tiers of the application can survive an AZ outage.
- ✗
Use RDS Proxy to manage database connections.
Why it's wrong here
RDS Proxy is a connection-pooling layer that sits between the application and the database, improving scalability and reducing database CPU/memory overhead by reusing connections, but it does not replicate data or provide a standby database. If the RDS instance is in a single Availability Zone and that AZ fails, the proxy has no healthy database to route to; RDS Proxy is itself highly available but cannot rescue a single-AZ database. It can complement a Multi-AZ deployment by keeping connection churn low during failover, but it should never be used as a substitute for Multi-AZ.
Go deeper
Related to this question
About these practice questions
Courseiva writes every DOP-C02 question from scratch — 1,298 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or 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.