What is a scaling plan? - AWS Auto Scaling

What is a scaling plan?

Use a scaling plan to configure auto scaling for related or associated scalable resources in a matter of minutes. For example, you can use tags to group resources in categories such as production, testing, or development. Then, you can search for and set up scaling plans for scalable resources that belong to each category. Or, if your cloud infrastructure includes AWS CloudFormation, you can define stack templates to use to create collections of resources. Then, create a scaling plan for the scalable resources that belong to each stack.

Supported resources

AWS Auto Scaling supports the use of scaling plans for the following services and resources:

  • Amazon Aurora – Increase or decrease the number of Aurora read replicas that are provisioned for an Aurora DB cluster.

  • Amazon EC2 Auto Scaling – Launch or terminate EC2 instances by increasing or decreasing the desired capacity of an Auto Scaling group.

  • Amazon Elastic Container Service – Increase or decrease the desired task count in Amazon ECS.

  • Amazon DynamoDB – Increase or decrease the provisioned read and write capacity of a DynamoDB table or a global secondary index.

  • Spot Fleet – Launch or terminate EC2 instances by increasing or decreasing the target capacity of a Spot Fleet.

Scaling plan features and benefits

Scaling plans provide the following features and benefits:

  • Resource discovery – AWS Auto Scaling provides automatic resource discovery to help find resources in your application that can be scaled.

  • Dynamic scaling – Scaling plans use the Amazon EC2 Auto Scaling and Application Auto Scaling services to adjust capacity of scalable resources to handle changes in traffic or workload. Dynamic scaling metrics can be standard utilization or throughput metrics, or custom metrics.

  • Built-in scaling recommendations – AWS Auto Scaling provides scaling strategies with recommendations that you can use to optimize for performance, costs, or a balance between the two.

  • Predictive scaling – Scaling plans also support predictive scaling for Auto Scaling groups. This helps to scale your Amazon EC2 capacity faster when there are regularly occurring spikes.

Important

If you use scaling plans only for predictive scaling, we strongly recommend that you set predictive scaling policies directly on your Auto Scaling groups instead. This recently introduced option offers more features, such as using metrics aggregations to create new custom metrics or retain historical metric data across blue/green deployments. For more information, see Predictive scaling for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

For a guide for migrating from scaling plans to Amazon EC2 Auto Scaling predictive scaling policies, see Migrate your scaling plan.

How to get started

Use the following resources to help you create and use a scaling plan:

Work with scaling plans

You can create, access, and manage your scaling plans using any of the following interfaces:

  • AWS Management Console – Provides a web interface that you can use to access your scaling plans. If you've signed up for an AWS account, you can access your scaling plans by signing into the AWS Management Console, using the search box on the navigation bar to search for AWS Auto Scaling, and then choosing AWS Auto Scaling.

  • AWS Command Line Interface (AWS CLI) – Provides commands for a broad set of AWS services, and is supported on Windows, macOS, and Linux. To get started, see AWS Command Line Interface User Guide. For more information, see autoscaling-plans in the AWS CLI Command Reference.

  • AWS Tools for Windows PowerShell – Provides commands for a broad set of AWS products for those who script in the PowerShell environment. To get started, see the AWS Tools for Windows PowerShell User Guide. For more information, see the AWS Tools for PowerShell Cmdlet Reference.

  • AWS SDKs – Provides language-specific API operations and takes care of many of the connection details, such as calculating signatures, handling request retries, and handling errors. For more information, see AWS SDKs.

  • HTTPS API – Provides low-level API actions that you call using HTTPS requests. For more information, see the AWS Auto Scaling API Reference.

  • AWS CloudFormation – Supports creating scaling plans using CloudFormation templates. For more information, see the AWS::AutoScalingPlans::ScalingPlan reference in the AWS CloudFormation User Guide.

Regional availability

The AWS Auto Scaling API is available in several AWS Regions and it provides an endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see AWS Auto Scaling endpoints and quotas in the AWS General Reference.

Pricing

All scaling plan features are enabled for your use. The features are provided at no additional charge beyond the service fees for CloudWatch and the other AWS Cloud resources that you use.

Note

The predictive scaling feature relies on the CloudWatch GetMetricData operation to collect historical metric data for capacity forecasting, which incurs costs. However, if you enable predictive scaling with an Amazon EC2 Auto Scaling scaling policy instead of a scaling plan, there are no charges for calls to GetMetricData.