SAA-C03 Design Resilient Architectures Practice Question
A company is deploying a stateless web application on Amazon ECS with Fargate. The application must be resilient to individual task failures and Availability Zone failures. Which three steps should the company take to achieve this resilience? (Choose three.)
⚠ Common exam trap
Watch out — candidates often confuse stateless applications with stateful ones and incorrectly choose to store session data in EFS, or they may think placing tasks in a single subnet improves performance without considering the single point of failure risk.
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 ECS service to use a spread placement strategy across Availability Zones.
Configuring the ECS service with a spread placement strategy across Availability Zones ensures tasks are distributed across multiple AZs, providing resilience against AZ failures. Setting a minimum healthy percent of 50 and a maximum percent of 200 allows the service to maintain at least half of the desired tasks during deployments or failures while scaling up to replace failed tasks without downtime. Using an Application Load Balancer (ALB) in front of the ECS service distributes incoming traffic across healthy tasks in different AZs, automatically rerouting traffic if a task or AZ fails.
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 the ECS service to use a spread placement strategy across Availability Zones.
Why this is correct
To achieve high availability and fault tolerance for a stateless web application, configuring the ECS service with a spread placement strategy across Availability Zones is essential. This ensures that tasks are distributed evenly across different physical locations within a region, preventing a single AZ failure from impacting the entire application. By spreading tasks, the application maintains resilience and continues operating even during localized outages.
- ✓
Set a minimum healthy percent of 50 and a maximum percent of 200 in the ECS service deployment configuration.
Why this is correct
Setting a minimum healthy percent of 50 ensures that at least half of the desired number of tasks remain running and healthy during a service deployment, maintaining application availability. Concurrently, a maximum percent of 200 allows the ECS service to launch up to twice the desired task count, providing sufficient capacity for new tasks to start before old ones are terminated, facilitating smooth rolling updates without service interruption.
- ✗
Place all ECS tasks in a single subnet to minimize network latency.
Why it's wrong here
Placing all ECS tasks within a single subnet severely compromises the application's fault tolerance and availability. While it might marginally reduce network latency between tasks, this configuration creates a single point of failure; an outage affecting that specific subnet or its Availability Zone would render the entire application inaccessible. Best practices for resilient cloud deployments mandate distributing resources across multiple subnets in distinct Availability Zones.
- ✓
Use an Application Load Balancer (ALB) in front of the ECS service to distribute traffic across tasks.
Why this is correct
An Application Load Balancer (ALB) is the ideal choice for distributing incoming HTTP/HTTPS traffic across the ECS tasks of a web application. ALBs provide advanced routing capabilities, such as path-based or host-based routing, and perform health checks on tasks, automatically directing traffic only to healthy instances. This ensures efficient load distribution, enhances fault tolerance, and improves the overall availability of the stateless web application.
- ✗
Store application session data in an attached EFS file system shared across all tasks.
Why it's wrong here
Storing application session data in an attached EFS file system contradicts the principle of a stateless web application, which should not maintain session state on the compute layer. Furthermore, EFS is a shared file system primarily designed for persistent storage, not optimized for high-performance session management. For stateful applications requiring session persistence, external, highly available services like Amazon ElastiCache or Amazon DynamoDB are more appropriate and performant.
- ✗
Disable automatic task replacement to avoid unnecessary task churn during failures.
Why it's wrong here
Disabling automatic task replacement for an ECS service would severely undermine the application's resilience and availability. This critical feature ensures that unhealthy or failed tasks are automatically stopped and replaced with new, healthy ones, maintaining the desired task count and service capacity. Without automatic replacement, task failures would lead to a permanent reduction in application capacity and potential service outages, requiring manual intervention.
Go deeper
Related to this question
About these practice questions
This SAA-C03 question is part of Courseiva's 302-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 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.