Crate rusoto_autoscaling
source · [−]Expand description
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:
-
(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.
-
(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.
-
Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
-
If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.
-
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 and1000.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
andRequestCountPerTarget
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.