EC2 Auto Scaling
EC2 Auto Scaling helps you ensure that you have the correct number of EC2 instances available to handle the load for your application.
You create collections of EC2 instances, called Auto Scaling groups.
To achieve highly available and fault-tolerant architecture for your applications, you must deploy all your instances in different Availability Zones.
This will help you isolate your resources if an outage occurs.
To achieve fault tolerance, you need to have redundant resources in place to avoid any system degradation in the event of a server fault or an Availability Zone outage.
Having a fault-tolerant architecture entails an extra cost in running additional resources than what is usually needed.
This is to ensure that the mission-critical workloads are processed.
For example, a company needs to deploy at least 2 EC2 instances to support the normal workloads of its application and automatically scale up to 6 EC2 instances to handle the peak load, then they should:
Create an Auto Scaling group of EC2 instances and set the minimum capacity to 4 and the maximum capacity to 6.
Deploy 2 instances in Availability Zone A and another 2 instances in Availability Zone B.
This might seem excessive in terms of EC2 instances but you have to think as if the AZ if definitely going to fail and that's why there are plenty of EC2 instances in each AZ to provide very high availability.
Last updated
Was this helpful?