AWS Auto Scaling
The three AWS scaling services and how they differ: AWS Auto Scaling scaling plans for groups of resources, EC2 Auto Scaling for instances, and Application Auto Scaling for other services, with supported resources, scaling strategies, predictive scaling, and when to use each.
3 min read · Last reviewed · SAA-C03
Sign in to bookmark tutorials and track what you have read.
On this page
What it is
"Auto scaling" on AWS covers three related services, and the exam lists AWS Auto Scaling by that name. It helps to know all three:
| Service | What it scales | When to choose it |
|---|---|---|
| AWS Auto Scaling (scaling plans) | Several related resources together, discovered by tags or a CloudFormation stack | Set up scaling for a whole application in a few minutes, with recommended strategies |
| Amazon EC2 Auto Scaling | EC2 instances in Auto Scaling groups | Scaling, Health checkA regular test, such as a request to a web page, that a load balancer, an Auto Scaling group, or Route 53 makes to see whether a resource is working. Unhealthy resources stop receiving traffic or are replaced.Glossary entry, and replacement for EC2 fleets |
| Application Auto Scaling | Resources in other services: ECS services, DynamoDB tables and indexes, Aurora replicas, Lambda provisioned concurrency, ElastiCache, EMR, Keyspaces, SageMaker AI endpoints, Spot Fleets, and more | Scaling one non-EC2 resource |
Scaling plans use EC2 Auto Scaling and Application Auto Scaling underneath to adjust capacity.
Application Auto Scaling registers a resource as a scalable target and scales it with target tracking, step scaling, or scheduled scaling. Scheduled actions change the minimum and maximum capacity at set times, once or on a recurring (cron) schedule, for predictable load, for example raising Lambda provisioned concurrency before business hours and lowering it after, with no custom code.
Scaling plans
- Supported resources:
- EC2 Auto Scaling groups.
- Amazon ECS services (desired task count).
- DynamoDB tables and global secondary indexes (read and write capacity).
- Aurora DB clusters (number of Read replicaA read-only copy of a database that is updated asynchronously from the primary. It takes read traffic off the primary, can be in another Region, and can be promoted to a standalone database.Glossary entry).
- Spot Fleets.
- Resource discovery: find the scalable resources of an application by tags (for example
production) or by CloudFormation stack. - Scaling strategies: built-in recommendations to optimize for performance, for cost, or a balance of the two, using standard utilization or throughput metrics, or custom metrics.
- Dynamic scaling: target tracking that adjusts capacity as load changes.
- Predictive scaling for Auto Scaling groups: forecasts regular traffic patterns and adds capacity ahead of time. If you only need predictive scaling, AWS recommends setting predictive scaling policies directly on the Auto Scaling group, which offers more features.
Security, resilience, performance, and cost
- Security: scaling uses service-linked roles; control who can change scaling settings with IAM.
- Resilience and performance: scaling out on demand keeps applications responsive; set minimum capacity high enough for availability.
- Cost: no additional charge for AWS Auto Scaling, EC2 Auto Scaling, or Application Auto Scaling. You pay for the resources and the CloudWatch alarms and metrics they use. Scaling in when load drops saves money.
Reverse mindmap: when the question points here
- Several resources of one application at once leads to AWS Auto Scaling scaling plan
- Find resources by tag or CloudFormation stack leads to Scaling plan resource discovery
- Optimize for cost or performance leads to Scaling strategy
- EC2 instances leads to EC2 Auto Scaling group
- Scale ahead of daily peaks leads to Predictive scaling policy
- One resource in another service leads to Application Auto Scaling
- ECS tasks leads to Application Auto Scaling
- DynamoDB provisioned capacity leads to Application Auto Scaling
- Aurora read replicas leads to Aurora Auto Scaling, through Application Auto Scaling
- Lambda provisioned concurrency leads to Application Auto Scaling
- Change capacity at set times each day leads to Application Auto Scaling scheduled actions
Key takeaways
- AWS Auto Scaling scaling plans configure scaling for several related resources together, found by tags or CloudFormation stack.
- Plans support EC2 Auto Scaling groups, ECS services, DynamoDB tables and indexes, Aurora replicas, and Spot Fleets.
- EC2 Auto Scaling scales instances; Application Auto Scaling scales resources in many other services, including on a schedule with scheduled actions.
- Scaling strategies optimize for performance, cost, or a balance; predictive scaling is best set directly on Auto Scaling groups.
- There is no extra charge for any of the scaling services.
Sources
- AWS Auto Scaling User Guide: What is a scaling plan?
- AWS Auto Scaling User Guide: Getting started with scaling plans
- Application Auto Scaling User Guide: What is Application Auto Scaling?
- Application Auto Scaling User Guide: Scheduled scaling for Application Auto Scaling
- Application Auto Scaling User Guide: AWS services that you can use with Application Auto Scaling
- AWS Auto Scaling pricing