aws-cdk-lib.aws_autoscaling.BasicStepScalingPolicyProps

interface BasicStepScalingPolicyProps

LanguageType name
.NETAmazon.CDK.AWS.AutoScaling.BasicStepScalingPolicyProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsautoscaling#BasicStepScalingPolicyProps
Javasoftware.amazon.awscdk.services.autoscaling.BasicStepScalingPolicyProps
Pythonaws_cdk.aws_autoscaling.BasicStepScalingPolicyProps
TypeScript (source)aws-cdk-lib » aws_autoscaling » BasicStepScalingPolicyProps

Example

declare const autoScalingGroup: autoscaling.AutoScalingGroup;

const workerUtilizationMetric = new cloudwatch.Metric({
    namespace: 'MyService',
    metricName: 'WorkerUtilization'
});

autoScalingGroup.scaleOnMetric('ScaleToCPU', {
  metric: workerUtilizationMetric,
  scalingSteps: [
    { upper: 10, change: -1 },
    { lower: 50, change: +1 },
    { lower: 70, change: +3 },
  ],

  // Change this to AdjustmentType.PERCENT_CHANGE_IN_CAPACITY to interpret the
  // 'change' numbers before as percentages instead of capacity counts.
  adjustmentType: autoscaling.AdjustmentType.CHANGE_IN_CAPACITY,
});

Properties

NameTypeDescription
metricIMetricMetric to scale on.
scalingStepsScalingInterval[]The intervals for scaling.
adjustmentType?AdjustmentTypeHow the adjustment numbers inside 'intervals' are interpreted.
cooldown?DurationGrace period after scaling activity.
estimatedInstanceWarmup?DurationEstimated time until a newly launched instance can send metrics to CloudWatch.
evaluationPeriods?numberHow many evaluation periods of the metric to wait before triggering a scaling action.
metricAggregationType?MetricAggregationTypeAggregation to apply to all data points over the evaluation periods.
minAdjustmentMagnitude?numberMinimum absolute number to adjust capacity with as result of percentage scaling.

metric

Type: IMetric

Metric to scale on.


scalingSteps

Type: ScalingInterval[]

The intervals for scaling.

Maps a range of metric values to a particular scaling behavior.


adjustmentType?

Type: AdjustmentType (optional, default: ChangeInCapacity)

How the adjustment numbers inside 'intervals' are interpreted.


cooldown?

Type: Duration (optional, default: Default cooldown period on your AutoScalingGroup)

Grace period after scaling activity.


estimatedInstanceWarmup?

Type: Duration (optional, default: Same as the cooldown)

Estimated time until a newly launched instance can send metrics to CloudWatch.


evaluationPeriods?

Type: number (optional, default: 1)

How many evaluation periods of the metric to wait before triggering a scaling action.

Raising this value can be used to smooth out the metric, at the expense of slower response times.


metricAggregationType?

Type: MetricAggregationType (optional, default: The statistic from the metric if applicable (MIN, MAX, AVERAGE), otherwise AVERAGE.)

Aggregation to apply to all data points over the evaluation periods.

Only has meaning if evaluationPeriods != 1.


minAdjustmentMagnitude?

Type: number (optional, default: No minimum scaling effect)

Minimum absolute number to adjust capacity with as result of percentage scaling.

Only when using AdjustmentType = PercentChangeInCapacity, this number controls the minimum absolute effect size.