Step scaling policies increase or decrease the current capacity of your Auto Scaling group based on a set of scaling adjustments, known as step adjustments. The adjustments vary based on the size of the alarm breach.

For example, consider the following StepScaling description for an ASG that has both a current capacity and a desired capacity of 10. The current and desired capacity is maintained while the aggregated metric value is greater than 40 and less than 60.

 const policy = {
// ... other values
adjustmentType: "PercentChangeInCapacity",
steps: {
upper: [{ value: 60, adjustment: 10 }, { value: 70, adjustment: 30 }],
lower: [{ value: 40, adjustment: -10 }, { value: 30, adjustment: -30 }]
},
};

If the metric value gets to 60, Application Auto Scaling increases the desired capacity of the group by 1, to 11. That's based on the second step adjustment of the scale-out policy (add 10 percent of 10). After the new capacity is added, Application Auto Scaling increases the current capacity to 11. If the metric value rises to 70 even after this increase in capacity, Application Auto Scaling increases the target capacity by 3, to 14. That's based on the third step adjustment of the scale-out policy (add 30 percent of 11, 3.3, rounded down to 3).

If the metric value gets to 40, Application Auto Scaling decreases the target capacity by 1, to 13, based on the second step adjustment of the scale-in policy (remove 10 percent of 14, 1.4, rounded down to 1). If the metric value falls to 30 even after this decrease in capacity, Application Auto Scaling decreases the target capacity by 3, to 10, based on the third step adjustment of the scale-in policy (remove 30 percent of 13, 3.9, rounded down to 3).

Hierarchy

  • unknown
    • StepScalingPolicy

Constructors

Properties

lowerAlarm: any

Alarm that invokes [lowerPolicy] when the metric goes below the highest value of the lower range of steps.

lowerPolicy: any

Underlying [Policy] created to define the scaling strategy for the lower set of steps.

upperAlarm: any

Alarm that invokes [upperPolicy] when the metric goes above the lowest value of the upper range of steps.

upperPolicy: any

Underlying [Policy] created to define the scaling strategy for the upper set of steps.

Generated using TypeDoc