AWS Certified Solutions Architect – Associate (SAA-C03) — Question 545
A company runs a stateful production application on Amazon EC2 instances. The application requires at least two EC2 instances to always be running.
A solutions architect needs to design a highly available and fault-tolerant architecture for the application. The solutions architect creates an Auto Scaling group of EC2 instances.
Which set of additional steps should the solutions architect take to meet these requirements?
Answer options
- A. Set the Auto Scaling group's minimum capacity to two. Deploy one On-Demand Instance in one Availability Zone and one On-Demand Instance in a second Availability Zone.
- B. Set the Auto Scaling group's minimum capacity to four. Deploy two On-Demand Instances in one Availability Zone and two On-Demand Instances in a second Availability Zone.
- C. Set the Auto Scaling group's minimum capacity to two. Deploy four Spot Instances in one Availability Zone.
- D. Set the Auto Scaling group's minimum capacity to four. Deploy two On-Demand Instances in one Availability Zone and two Spot Instances in a second Availability Zone.
Correct answer: B
Explanation
To ensure high availability and fault tolerance for a stateful application requiring at least two instances, the architecture must survive the loss of an entire Availability Zone (AZ) while still maintaining two running instances. Setting the minimum capacity to four and splitting the On-Demand Instances evenly (two in each of two AZs) ensures that if one AZ fails, the remaining two On-Demand Instances in the other AZ will keep the application running. Other options either fail to meet the minimum of two instances during an AZ outage, use only a single AZ, or rely on Spot Instances which are unsuitable for stateful production workloads due to potential interruption.