Class: Aws::ApplicationAutoScaling::Types::StepScalingPolicyConfiguration
- Inherits:
-
Struct
- Object
- Struct
- Aws::ApplicationAutoScaling::Types::StepScalingPolicyConfiguration
- Defined in:
- gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb
Overview
When making an API call, you may pass StepScalingPolicyConfiguration data as a hash:
{
adjustment_type: "ChangeInCapacity", # accepts ChangeInCapacity, PercentChangeInCapacity, ExactCapacity
step_adjustments: [
{
metric_interval_lower_bound: 1.0,
metric_interval_upper_bound: 1.0,
scaling_adjustment: 1, # required
},
],
min_adjustment_magnitude: 1,
cooldown: 1,
metric_aggregation_type: "Average", # accepts Average, Minimum, Maximum
}
Represents a step scaling policy configuration to use with Application Auto Scaling.
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#adjustment_type ⇒ String
Specifies how the
ScalingAdjustment
value in a [StepAdjustment][1] is interpreted (for example, an absolute number or a percentage). -
#cooldown ⇒ Integer
The amount of time, in seconds, to wait for a previous scaling activity to take effect.
-
#metric_aggregation_type ⇒ String
The aggregation type for the CloudWatch metrics.
-
#min_adjustment_magnitude ⇒ Integer
The minimum value to scale by when the adjustment type is
PercentChangeInCapacity
. -
#step_adjustments ⇒ Array<Types::StepAdjustment>
A set of adjustments that enable you to scale based on the size of the alarm breach.
Instance Attribute Details
#adjustment_type ⇒ String
Specifies how the ScalingAdjustment
value in a StepAdjustment
is interpreted (for example, an absolute number or a percentage).
The valid values are ChangeInCapacity
, ExactCapacity
, and
PercentChangeInCapacity
.
AdjustmentType
is required if you are adding a new step scaling
policy configuration.
3520 3521 3522 3523 3524 3525 3526 3527 3528 |
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3520 class StepScalingPolicyConfiguration < Struct.new( :adjustment_type, :step_adjustments, :min_adjustment_magnitude, :cooldown, :metric_aggregation_type) SENSITIVE = [] include Aws::Structure end |
#cooldown ⇒ Integer
The amount of time, in seconds, to wait for a previous scaling activity to take effect.
With scale-out policies, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the cooldown time. The scaling policy won't increase the desired capacity again unless either a larger scale out is triggered or the cooldown period ends. While the cooldown period is in effect, capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity. For example, when an alarm triggers a step scaling policy to increase the capacity by 2, the scaling activity completes successfully, and a cooldown period starts. If the alarm triggers again during the cooldown period but at a more aggressive step adjustment of 3, the previous increase of 2 is considered part of the current capacity. Therefore, only 1 is added to the capacity.
With scale-in policies, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the cooldown period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the cooldown period for the scale-in activity stops and doesn't complete.
Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups and a default value of 300 for the following scalable targets:
AppStream 2.0 fleets
Aurora DB clusters
ECS services
EMR clusters
Neptune clusters
SageMaker endpoint variants
Spot Fleets
Custom resources
For all other scalable targets, the default value is 0:
Amazon Comprehend document classification and entity recognizer endpoints
DynamoDB tables and global secondary indexes
Amazon Keyspaces tables
Lambda provisioned concurrency
Amazon MSK broker storage
3520 3521 3522 3523 3524 3525 3526 3527 3528 |
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3520 class StepScalingPolicyConfiguration < Struct.new( :adjustment_type, :step_adjustments, :min_adjustment_magnitude, :cooldown, :metric_aggregation_type) SENSITIVE = [] include Aws::Structure end |
#metric_aggregation_type ⇒ String
The aggregation type for the CloudWatch metrics. Valid values are
Minimum
, Maximum
, and Average
. If the aggregation type is
null, the value is treated as Average
.
3520 3521 3522 3523 3524 3525 3526 3527 3528 |
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3520 class StepScalingPolicyConfiguration < Struct.new( :adjustment_type, :step_adjustments, :min_adjustment_magnitude, :cooldown, :metric_aggregation_type) SENSITIVE = [] include Aws::Structure end |
#min_adjustment_magnitude ⇒ Integer
The minimum value to scale by when the adjustment type is
PercentChangeInCapacity
. For example, suppose that you create a
step scaling policy to scale out an Amazon ECS service by 25 percent
and you specify a MinAdjustmentMagnitude
of 2. If the service has
4 tasks and the scaling policy is performed, 25 percent of 4 is 1.
However, because you specified a MinAdjustmentMagnitude
of 2,
Application Auto Scaling scales out the service by 2 tasks.
3520 3521 3522 3523 3524 3525 3526 3527 3528 |
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3520 class StepScalingPolicyConfiguration < Struct.new( :adjustment_type, :step_adjustments, :min_adjustment_magnitude, :cooldown, :metric_aggregation_type) SENSITIVE = [] include Aws::Structure end |
#step_adjustments ⇒ Array<Types::StepAdjustment>
A set of adjustments that enable you to scale based on the size of the alarm breach.
At least one step adjustment is required if you are adding a new step scaling policy configuration.
3520 3521 3522 3523 3524 3525 3526 3527 3528 |
# File 'gems/aws-sdk-applicationautoscaling/lib/aws-sdk-applicationautoscaling/types.rb', line 3520 class StepScalingPolicyConfiguration < Struct.new( :adjustment_type, :step_adjustments, :min_adjustment_magnitude, :cooldown, :metric_aggregation_type) SENSITIVE = [] include Aws::Structure end |