With Application Auto Scaling, you can configure automatic scaling for the following resources:
Amazon ECS services
Amazon EC2 Spot Fleet requests
Amazon EMR clusters
Amazon AppStream 2.0 fleets
Amazon DynamoDB tables and global secondary indexes throughput capacity
Amazon Aurora Replicas
Amazon SageMaker endpoint variants
Custom resources provided by your own applications or services
Amazon Comprehend document classification and entity recognizer endpoints
AWS Lambda function provisioned concurrency
Amazon Keyspaces (for Apache Cassandra) tables
Amazon Managed Streaming for Apache Kafka broker storage
The Application Auto Scaling service API includes three key sets of actions:
Register and manage scalable targets - Register AWS or custom resources as scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and retrieve information on existing scalable targets.
Configure and manage automatic scaling - Define scaling policies to dynamically scale your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, and retrieve your recent scaling activity history.
Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can suspend and resume (individually or in combination) scale-out activities that are triggered by a scaling policy, scale-in activities that are triggered by a scaling policy, and scheduled scaling.
To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.
Represents a CloudWatch alarm associated with a scaling policy.
A client for the Application Auto Scaling API.
Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Application Auto Scaling.
For information about the available metrics for a service, see AWS Services That Publish CloudWatch Metrics in the Amazon CloudWatch User Guide.
To create your customized metric specification:
Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish Custom Metrics in the Amazon CloudWatch User Guide.
Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases, and increase when capacity decreases.
For more information about CloudWatch, see Amazon CloudWatch Concepts.
Describes the dimension names and values associated with a metric.
Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.
Only the AWS services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in Building dashboards with CloudWatch in the Application Auto Scaling User Guide.
Represents a scalable target.
Represents the minimum and maximum capacity for a scheduled action.
Represents a scaling activity.
Represents a scaling policy to use with Application Auto Scaling.
For more information about configuring scaling policies for a specific service, see Getting started with Application Auto Scaling in the Application Auto Scaling User Guide.
Represents a scheduled action.
Represents a step adjustment for a StepScalingPolicyConfiguration. Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.
For the following examples, suppose that you have an alarm with a breach threshold of 50:
To trigger the adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.
To trigger the adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.
There are a few rules for the step adjustments for your step policy:
The ranges of your step adjustments can't overlap or have a gap.
At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.
At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.
The upper and lower bound can't be null in the same step adjustment.
Represents a step scaling policy configuration to use with Application Auto Scaling.
Specifies whether the scaling activities for a scalable target are in a suspended state.
Represents a target tracking scaling policy configuration to use with Application Auto Scaling.
Errors returned by DeleteScalingPolicy
Errors returned by DeleteScheduledAction
Errors returned by DeregisterScalableTarget
Errors returned by DescribeScalableTargets
Errors returned by DescribeScalingActivities
Errors returned by DescribeScalingPolicies
Errors returned by DescribeScheduledActions
Errors returned by PutScalingPolicy
Errors returned by PutScheduledAction
Errors returned by RegisterScalableTarget
Trait representing the capabilities of the Application Auto Scaling API. Application Auto Scaling clients implement this trait.