Updated: Aug 16, 2019
Auto Scaling helps you ensure that you have the correct number of Amazon EC2 instances available to handle your application’s workload.You create collections of EC2 instances,called Auto Scaling groups.
You can specify the minimum number of instances in each Auto Scaling group,and Auto Scaling ensures that your group never goes below this size.
You can specify the maximum number of instances in each Auto Scaling group,and Auto Scaling ensures that your group never goes above this size.
If you specify a desired capacity,Auto Scaling ensures that your group always has a fixed number of instances.
If you specify scaling policies,then Auto Scaling will launch new instances or terminate existing instances when the demand on your application increases or decreases.
Auto Scaling only launches new instances or terminate existing instances.It does not stop or start instances.
Auto Scaling Group
Your EC2 instances are organized into Auto Scaling groups and are treated as a logical unit for the purposes of scaling and management.When you create an Auto Scaling group,you can specify its minimum,maximum and desired number of EC2 instances.
Your Auto Scaling group uses a Launch Configuration as a template for launching new EC2 instances.When you create a Launch Configuration,you can specify information such as AMI ID,instance type,key pair, security groups,and block device mapping for your instances.
A Scaling plan tells Auto Scaling when and how to scale.Type of plans are:
Maintain current instance levels at all times: Auto Scaling performs a periodic health check on running instances within an Auto Scaling group.When Auto Scaling finds an unhealthy instance,it terminates that instance and launches a new one.
Manual Scaling: Manual Scaling is the most basic way to scale your resources.You specify a change in the maximum,minimum,or desired capacity of your Auto Scaling group.Auto Scaling then manages the process of creating or terminating instances to maintain the updated capacity.
Scale based on a schedule: Sometimes you know exactly when you will need to increase or decrease the number of instances in your group,simply because that need arises on a predictable schedule.Scaling by schedule means that scaling actions are performed automatically as a function of time and date.
Scale based on demand: Define parameters that control the Auto Scaling process.For example,you can create a policy that calls for enlarging your fleet of EC2 instances whenever the average CPU utilization rate stays above ninety percent for fifteen minutes.This is useful when you can define how you want to scale in response to changing conditions,but you don’t know when these conditions will change. You can set up Auto Scaling to respond for you.
SETUP SCALING QUICKLY
AWS Auto Scaling lets you set target utilization levels for multiple resources in a single, intuitive interface. You can quickly see the average utilization of all of your scalable resources without having to navigate to other consoles. For example, if your application uses Amazon EC2 and Amazon DynamoDB, you can use AWS Auto Scaling to manage resource provisioning for all of the EC2 Auto Scaling groups and database tables in your application.
MAKE SMART SCALING DECISIONS
AWS Auto Scaling lets you build scaling plans that automate how groups of different resources respond to changes in demand. You can optimize availability, costs, or a balance of both. AWS Auto Scaling automatically creates all of the scaling policies and sets targets for you based on your preference. AWS Auto Scaling monitors your application and automatically adds or removes capacity from your resource groups in real-time as demands change.
AUTOMATICALLY MAINTAIN PERFORMANCE
Using AWS Auto Scaling, you maintain optimal application performance and availability, even when workloads are periodic, unpredictable, or continuously changing. AWS Auto Scaling continually monitors your applications to make sure that they are operating at your desired performance levels. When demand spikes, AWS Auto Scaling automatically increases the capacity of constrained resources so you maintain a high quality of service.
PAY ONLY FOR WHAT YOU NEED
AWS Auto Scaling can help you optimize your utilization and cost efficiencies when consuming AWS services so you only pay for the resources you actually need. When demand drops, AWS Auto Scaling will automatically remove any excess resource capacity so you avoid overspending. AWS Auto Scaling is free to use, and allows you to optimize the costs of your AWS environment.
How it works?