SAA-C03 Question 163
Select 3A company is building a web application that must be highly available and fault-tolerant. The application is hosted on Amazon EC2 instances behind an Application Load Balancer (ALB). The company wants to ensure that the application remains available even if an entire Availability Zone (AZ) goes down. How should the architecture be designed to meet these requirements?
- A
Deploy the EC2 instances across multiple Availability Zones and register them with the ALB.
- B
Configure Auto Scaling with a minimum of one instance per Availability Zone.
- C
Use a single Availability Zone to reduce costs while ensuring fault tolerance.
- D
Enable Cross-Zone Load Balancing on the ALB to optimize the distribution of traffic.
- E
Deploy an ALB in each Availability Zone to ensure traffic routing in case of AZ failure.
Show answer and explanation
Correct answers: A, B, D
Explanation
To design a highly available and fault-tolerant architecture, the EC2 instances must be deployed across multiple Availability Zones to avoid a single point of failure. Auto Scaling ensures that there are always instances available in each AZ, and enabling Cross-Zone Load Balancing on the ALB ensures even traffic distribution across all AZs. These combined strategies provide high availability and fault tolerance for the application.
- A. Correct.
Deploying EC2 instances across multiple Availability Zones ensures that the application remains available even if one AZ goes down. This is a key requirement for high availability and fault tolerance.
- B. Correct.
Auto Scaling ensures that there is always at least one instance per Availability Zone, maintaining availability and distributing load efficiently.
- C. Incorrect.
Using a single Availability Zone does not provide fault tolerance. If that AZ fails, the application will experience downtime.
- D. Correct.
Enabling Cross-Zone Load Balancing ensures that the ALB can distribute traffic evenly to instances across all AZs, improving availability and fault tolerance.
- E. Incorrect.
Deploying an ALB in each Availability Zone is unnecessary because a single ALB can handle traffic across multiple AZs. This would increase costs without improving fault tolerance.