What is Application Auto Scaling? - Application Auto Scaling

What is Application Auto Scaling?

Application Auto Scaling is a web service for developers and system administrators who need a solution for automatically scaling their scalable resources for individual AWS services beyond Amazon EC2. With Application Auto Scaling, you can configure automatic scaling for the following resources:

  • AppStream 2.0 fleets

  • Aurora replicas

  • Amazon Comprehend document classification and entity recognizer endpoints

  • DynamoDB tables and global secondary indexes

  • Amazon ECS services

  • ElastiCache (Redis OSS) clusters (replication groups)

  • Amazon EMR clusters

  • Amazon Keyspaces (for Apache Cassandra) tables

  • Lambda function provisioned concurrency

  • Amazon Managed Streaming for Apache Kafka (MSK) broker storage

  • Amazon Neptune clusters

  • SageMaker AI endpoint variants

  • SageMaker AI inference components

  • SageMaker AI Serverless provisioned concurrency

  • Spot Fleet requests

  • Pool of Amazon WorkSpaces

  • Custom resources provided by your own applications or services. For more information, see the GitHub repository.

To see the regional availability for any of the AWS services listed above, see the Region table.

For information about scaling your fleet of Amazon EC2 instances using Auto Scaling groups, see the Amazon EC2 Auto Scaling User Guide.

Features of Application Auto Scaling

Application Auto Scaling allows you to automatically scale your scalable resources according to conditions that you define.

  • Target tracking scaling – Scale a resource based on a target value for a specific CloudWatch metric.

  • Step scaling – Scale a resource based on a set of scaling adjustments that vary based on the size of the alarm breach.

  • Scheduled scaling – Scale a resource one time only or on a recurring schedule.

  • Predictive scaling – Scale a resource proactively to match anticipated load based on historical data.

Work with Application Auto Scaling

You can configure scaling using the following interfaces depending on the resource that you are scaling:

  • AWS Management Console – Provides a web interface that you can use to configure scaling. If you've signed up for an AWS account, access Application Auto Scaling by signing into the AWS Management Console. Then, open the service console for one of the resources listed in the introduction. Ensure that you open the console in the same AWS Region as the resource that you want to work with.

    Note

    Console access is not available for all resources. For more information, see AWS services that you can use with Application 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. For a list of commands, see application-autoscaling 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 Tools to Build on AWS.

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

  • AWS CloudFormation – Supports configuring scaling using a CloudFormation template. For more information, see Configure Application Auto Scaling resources using AWS CloudFormation.

To connect programmatically to an AWS service, you use an endpoint. For information about endpoints for calls to Application Auto Scaling, see Application Auto Scaling endpoints and quotas in the AWS General Reference.