logo
Expand description

Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide. For information about granting IAM users required permissions for calls to Amazon EC2 Auto Scaling, see Granting IAM users required permissions for Amazon EC2 Auto Scaling resources in the Amazon EC2 Auto Scaling API Reference.

If you’re using the service, you’re probably looking for AutoscalingClient and Autoscaling.

Structs

Describes scaling activity, which is a long-running process that represents a change to your Auto Scaling group, such as changing its size or replacing an instance.

Describes a policy adjustment type.

Describes an alarm.

Describes an Auto Scaling group.

Describes an EC2 instance associated with an Auto Scaling group.

A client for the Auto Scaling API.

Describes a block device mapping.

A GetPredictiveScalingForecast call returns the capacity forecast for a predictive scaling policy. This structure includes the data points for that capacity forecast, along with the timestamps of those data points.

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Amazon EC2 Auto Scaling.

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.

For more information about CloudWatch, see Amazon CloudWatch Concepts.

Describes information used to set up an Amazon EBS volume specified in a block device mapping.

Describes an enabled metric.

Describes a scheduled action that could not be created, updated, or deleted.

Describes a filter that is used to return a more specific list of results when describing tags.

For more information, see Tagging Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.

Describes an EC2 instance.

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

Describes whether detailed monitoring is enabled for the Auto Scaling instances.

Describes an instance refresh for an Auto Scaling group.

Reports the progress of an instance refresh on instances that are in the Auto Scaling group.

Reports the progress of an instance refresh on an Auto Scaling group that has a warm pool. This includes separate details for instances in the warm pool and instances in the Auto Scaling group (the live pool).

Reports the progress of an instance refresh on instances that are in the warm pool.

Describes an instances distribution for an Auto Scaling group with a MixedInstancesPolicy.

The instances distribution specifies the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities.

When you update SpotAllocationStrategy, SpotInstancePools, or SpotMaxPrice, this update action does not deploy any changes across the running Amazon EC2 instances in the group. Your existing Spot Instances continue to run as long as the maximum price for those instances is higher than the current Spot price. When scale out occurs, Amazon EC2 Auto Scaling launches instances based on the new settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination policies.

Describes a launch configuration.

Describes a launch template and overrides.

You specify these properties as part of a mixed instances policy.

When you update the launch template or overrides, existing Amazon EC2 instances continue to run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination policies.

Describes an override for a launch template. The maximum number of instance types that can be associated with an Auto Scaling group is 40. The maximum number of distinct launch templates you can define for an Auto Scaling group is 20. For more information about configuring overrides, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

Describes the Amazon EC2 launch template and the launch template version that can be used by an Auto Scaling group to configure Amazon EC2 instances.

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Creating a launch template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you want to perform an action whenever it launches instances or terminates instances.

Describes information used to specify a lifecycle hook for an Auto Scaling group.

A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an instance when the instance launches (before it is put into service) or as the instance terminates (before it is fully terminated).

This step is a part of the procedure for creating a lifecycle hook for an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.

Describes the state of a Classic Load Balancer.

Describes the state of a target group.

A GetPredictiveScalingForecast call returns the load forecast for a predictive scaling policy. This structure includes the data points for that load forecast, along with the timestamps of those data points and the metric specification.

Describes a metric.

Describes the dimension of a metric.

Describes a granularity of a metric.

Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling group can provision a combination of On-Demand Instances and Spot Instances across multiple instance types. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

You can create a mixed instances policy for a new Auto Scaling group, or you can create it for an existing group by updating the group to specify MixedInstancesPolicy as the top-level property instead of a launch configuration or launch template.

Describes a notification.

Contains the output of PutScalingPolicy.

Represents a predefined metric for a target tracking scaling policy to use with Amazon EC2 Auto Scaling.

Represents a predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.

This structure specifies the metrics and target utilization settings for a predictive scaling policy.

You must specify either a metric pair, or a load metric and a scaling metric individually. Specifying a metric pair instead of individual metrics provides a simpler way to configure metrics for a scaling policy. You choose the metric pair, and the policy automatically knows the correct sum and average statistics to use for the load metric and the scaling metric.

Example

  • You create a predictive scaling policy and specify ALBRequestCount as the value for the metric pair and 1000.0 as the target value. For this type of metric, you must provide the metric dimension for the corresponding target group, so you also provide a resource label for the Application Load Balancer target group that is attached to your Auto Scaling group.

  • The number of requests the target group receives per minute provides the load metric, and the request count averaged between the members of the target group provides the scaling metric. In CloudWatch, this refers to the RequestCount and RequestCountPerTarget metrics, respectively.

  • For optimal use of predictive scaling, you adhere to the best practice of using a dynamic scaling policy to automatically scale between the minimum capacity and maximum capacity in response to real-time changes in resource utilization.

  • Amazon EC2 Auto Scaling consumes data points for the load metric over the last 14 days and creates an hourly load forecast for predictive scaling. (A minimum of 24 hours of data is required.)

  • After creating the load forecast, Amazon EC2 Auto Scaling determines when to reduce or increase the capacity of your Auto Scaling group in each hour of the forecast period so that the average number of requests received by each instance is as close to 1000 requests per minute as possible at all times.

Describes a load metric for a predictive scaling policy.

When returned in the output of DescribePolicies, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.

Represents a metric pair for a predictive scaling policy.

Describes a scaling metric for a predictive scaling policy.

When returned in the output of DescribePolicies, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.

Describes a process type.

For more information, see Scaling processes in the Amazon EC2 Auto Scaling User Guide.

Describes information used to start an instance refresh.

All properties are optional. However, if you specify a value for CheckpointDelay, you must also provide a value for CheckpointPercentages.

Describes a scaling policy.

Describes a scheduled scaling action.

Describes information used for one or more scheduled scaling action updates in a BatchPutScheduledUpdateGroupAction operation.

Describes information used to create a step adjustment for a step scaling policy.

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.

For more information, see Step adjustments in the Amazon EC2 Auto Scaling User Guide.

Describes an auto scaling process that has been suspended.

For more information, see Scaling processes in the Amazon EC2 Auto Scaling User Guide.

Describes a tag for an Auto Scaling group.

Describes a tag for an Auto Scaling group.

Represents a target tracking scaling policy configuration to use with Amazon EC2 Auto Scaling.

Describes a warm pool configuration.

Enums

Errors returned by AttachInstances

Errors returned by AttachLoadBalancerTargetGroups

Errors returned by AttachLoadBalancers

Errors returned by BatchDeleteScheduledAction

Errors returned by BatchPutScheduledUpdateGroupAction

Errors returned by CancelInstanceRefresh

Errors returned by CompleteLifecycleAction

Errors returned by CreateAutoScalingGroup

Errors returned by CreateLaunchConfiguration

Errors returned by CreateOrUpdateTags

Errors returned by DeleteAutoScalingGroup

Errors returned by DeleteLaunchConfiguration

Errors returned by DeleteLifecycleHook

Errors returned by DeleteNotificationConfiguration

Errors returned by DeletePolicy

Errors returned by DeleteScheduledAction

Errors returned by DeleteTags

Errors returned by DeleteWarmPool

Errors returned by DescribeAccountLimits

Errors returned by DescribeAdjustmentTypes

Errors returned by DescribeAutoScalingGroups

Errors returned by DescribeAutoScalingInstances

Errors returned by DescribeAutoScalingNotificationTypes

Errors returned by DescribeInstanceRefreshes

Errors returned by DescribeLaunchConfigurations

Errors returned by DescribeLifecycleHookTypes

Errors returned by DescribeLifecycleHooks

Errors returned by DescribeLoadBalancerTargetGroups

Errors returned by DescribeLoadBalancers

Errors returned by DescribeMetricCollectionTypes

Errors returned by DescribeNotificationConfigurations

Errors returned by DescribePolicies

Errors returned by DescribeScalingActivities

Errors returned by DescribeScalingProcessTypes

Errors returned by DescribeScheduledActions

Errors returned by DescribeTags

Errors returned by DescribeTerminationPolicyTypes

Errors returned by DescribeWarmPool

Errors returned by DetachInstances

Errors returned by DetachLoadBalancerTargetGroups

Errors returned by DetachLoadBalancers

Errors returned by DisableMetricsCollection

Errors returned by EnableMetricsCollection

Errors returned by EnterStandby

Errors returned by ExecutePolicy

Errors returned by ExitStandby

Errors returned by GetPredictiveScalingForecast

Errors returned by PutLifecycleHook

Errors returned by PutNotificationConfiguration

Errors returned by PutScalingPolicy

Errors returned by PutScheduledUpdateGroupAction

Errors returned by PutWarmPool

Errors returned by RecordLifecycleActionHeartbeat

Errors returned by ResumeProcesses

Errors returned by SetDesiredCapacity

Errors returned by SetInstanceHealth

Errors returned by SetInstanceProtection

Errors returned by StartInstanceRefresh

Errors returned by SuspendProcesses

Errors returned by TerminateInstanceInAutoScalingGroup

Errors returned by UpdateAutoScalingGroup

Traits

Trait representing the capabilities of the Auto Scaling API. Auto Scaling clients implement this trait.