In this page we are going to go through the AWS Auto Scaling concepts and implementation steps.
What is AWS Auto Scaling?
Auto Scaling helps you ensure that you have the correct number of Amazon EC2 instances available to handle the load for your application. Using Auto Scaling removes the guess work of how many EC2 instances you need at a point in time to meet your workload requirement.
When you run your applications in EC2 instances it is critical to monitor the performance of your workload using CloudWatch. Cloudwatch by itself however will not add or remove EC2 instances. This is where Auto Scaling comes into picture.
Auto Scaling allows you to add or remove EC2 instances on conditions you specify. Auto Scaling is powerful solution to solve capacity and Automation problems in an environment with fluctuating load.
Scalability : Auto Scaling ensures that your workload has enough EC2 resources to meet fluctuating performance requirements.
Automation : Auto Scaling automates EC2 resource provisioning to occur on-demand.
Below diagram shows the Auto Scaling life cycle to meet the uneven load for EC2 resources.
Scaling OUT and Scaling IN
There are three components required for Auto Scaling setup.
Auto Scaling Components
Launch Configuration (Defines WHAT will be launched by Auto Scaling?)
- AMI
- Instancy Type
- Security Groups
- Roles
Auto Scaling Group (Defines WHERE the Auto Scaling deployment takes place and some boundaries?)
- VPC and Subnet(s)
- Load Balancer
- Minimum Instances – This is the minimum number of instances you can have and at least you will have these number of instances will be running.
- Maximum Instances – This is the maximum number of instances you can have.
- Desired Capacity – This is number of instances to start with
Auto Scaling Policy(Defines When the Auto Scaling needs to happen?)
- Scheduled
- On-Demand
- Scale-out policy
- Scale-in policy
Condition based policies your Auto Scaling policies dynamic and able to meet fluctuating requirements. It is always a best practice to define at least one policy to Scale-out and one policy to scale-in.
Dynamic Auto Scaling