SAA-C03 Question 273
Single answerA company is running containerized applications across a fleet of Amazon ECS tasks. They want to ensure that their application maintains high availability and can automatically recover from failures, while also distributing tasks across multiple Availability Zones (AZs). Which approach should they take to meet these requirements?
- A
Use an Amazon ECS service with a Fargate launch type and enable service auto-scaling.
- B
Run Amazon ECS tasks on a single EC2 instance in a specific Availability Zone.
- C
Use an Amazon ECS service with a cluster that spans multiple subnets across different Availability Zones.
- D
Manually monitor task health and redeploy tasks if they fail in a specific AZ.
Show answer and explanation
Correct answer: C
Explanation
To achieve high availability and fault tolerance for containerized applications on Amazon ECS, you should use a service that runs across multiple AZs. Configuring the ECS cluster to span multiple subnets in different AZs ensures that tasks are distributed across AZs, which helps mitigate the impact of an AZ failure. Manual monitoring and redeployment or restricting tasks to a single AZ are not suitable for high availability.
- A. Incorrect.
This option is incorrect because while using Fargate and service auto-scaling can ensure tasks are automatically scaled, it does not guarantee high availability across multiple AZs unless the cluster spans multiple AZs.
- B. Incorrect.
This option is incorrect because running ECS tasks on a single EC2 instance in a specific AZ does not provide high availability or fault tolerance across multiple AZs.
- C. Correct.
This is the correct option because running an ECS service with a cluster that spans multiple subnets and AZs ensures task distribution across AZs to maintain high availability and fault tolerance.
- D. Incorrect.
This option is incorrect because manually monitoring task health and redeploying tasks is not a scalable or automated solution to ensure high availability.