SAA-C03 Design Resilient Architectures Practice Question
A healthcare analytics team runs a containerized reporting service on Amazon ECS with the Fargate launch type in a single Availability Zone. The service must remain available if one Availability Zone fails, and it must scale automatically based on CPU utilization. The tasks are stateless and write output to Amazon S3. Which configuration should a solutions architect implement?
⚠ Common exam trap
Watch out — candidates often confuse the deployment circuit breaker, which only handles failed rollouts, with genuine multi-Availability-Zone redundancy and demand-based scaling.
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
✓
Create an ECS service with a task count of two, place the tasks in subnets in two Availability Zones, register them with a target group behind an Application Load Balancer, and attach a target-tracking scaling policy based on ECSServiceAverageCPUUtilization.
Resilience against an Availability Zone failure requires task capacity in more than one zone, and an Application Load Balancer with health checks directs traffic only to healthy tasks. Because the tasks are stateless and store output in S3, no shared state must be replicated. Application Auto Scaling with a target-tracking policy on ECSServiceAverageCPUUtilization then adjusts task count to match demand without manual intervention.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Create an ECS service with a task count of two, place the tasks in subnets in two Availability Zones, register them with a target group behind an Application Load Balancer, and attach a target-tracking scaling policy based on ECSServiceAverageCPUUtilization.
Why this is correct
Running at least two tasks in subnets across two Availability Zones removes the single-zone dependency, and the Application Load Balancer health checks route around a task in a failed zone. Target-tracking on ECSServiceAverageCPUUtilization is the native Application Auto Scaling mechanism for ECS services, so the service adds and removes tasks automatically as CPU load changes.
- ✗
Configure the ECS service with two tasks in the same subnet of one Availability Zone and add a Network Load Balancer with cross-zone load balancing enabled.
Why it's wrong here
Cross-zone load balancing distributes traffic across registered targets in different zones, but both tasks remain in a single zone, so a zone failure still takes down the entire service. Placing redundant tasks in the same subnet provides no fault isolation and leaves the architecture vulnerable to exactly the failure the team must survive.
- ✗
Use the EC2 launch type with an Auto Scaling group spanning two Availability Zones and a scheduled scaling policy that adds instances at peak hours.
Why it's wrong here
Switching to the EC2 launch type changes the operating model and requires managing cluster capacity, while scheduled scaling reacts to a calendar rather than to actual CPU utilization. This adds operational overhead compared with Fargate and does not provide the utilization-driven automatic scaling the team asked for, even though it can span two zones.
- ✗
Deploy the ECS service with a task count of one and enable deployment circuit breaker with rollback so that a failed task is automatically replaced.
Why it's wrong here
The deployment circuit breaker detects failed deployments and rolls them back; it does not provide cross-Availability-Zone redundancy during normal operation. A single task in a single zone is still a single point of failure, and the circuit breaker does not scale the service based on CPU, so neither resilience nor the scaling requirement is met.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
This SAA-C03 question is part of Courseiva's 935-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 and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Amazon Web Services exam blueprint
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.