EC2 Auto Scaling is a service provided by Amazon that automatically monitors your EC2 usage to maintain the performance of your application. Auto Scaling works using 1. Auto Scaling Group 2. Launch Configuration
The Auto Scaling group contains a number of EC2 that combine to form a group. It allows you to configure minimum number of EC2 to create a group individually. So that Auto Scaling would ensure your group should not go below the minimum size of your group limit. Alike, you could also configure maximum number of EC2 to create a group and Auto Scaling would ensure that your group should not exceed above this size. It supports
- AWS allows you to create a Auto Scaling group with launch configuration, launch template or EC2 instance only as of now
- AWS automatically creates and associate a launch configuration if you create the group with EC2 instance option
- It could be coupled with Elastic Load Balancer
- Health Checks & Metrics
EC2 Launch Configuration is basically a template which contains Instance launch configuration such as AMI ID, Instance Type, Storage Devices, Key Pair, Security groups etc. AWS EC2 launch configuration supports
- It allows you to configure with multiple Scaling group but not at the same time.
- It doesn’t allow to modify the launch configuration once its created.
Benefits of using Ec2 Auto Scaling
- Quick Ec2 scaling Capacity
- Automatic Maintenance
AWS EC2 Auto Scaling helps to explore your infrastructure with the help of scaling group and launch configuration. It discovers what could be scaled within your application by automatic & periodic health checkup and metrices.
AWS Auto Scaling works based on
- Scaling Strategy
- Dynamic Scaling
- Predictive Scaling
AWS compute resources are basically scaled based on set of instructions called Scaling plans. There is an another concept called Scaling Strategy which tells Auto Scaling to optimize the utilization of the resources in scaling plan. AWS also offers you to create custom strategy as per the metrics and threshold you define.
In Dynamic Scaling, It adjusts resources capacity based on live changes to the resource utilization. It mainly provides enough capacity to maintain the utilization in the target value mentioned in scaling strategy.
Predictive Scaling uses machine learning to analyze the historical workload of resources and also helps in workload forecasting for coming days.
I hope this blog helps to understand the basic of Auto Scaling in AWS and how it works. Please comment if you have any questions related to this blog.