All Products
Search
Document Center

Auto Scaling:DescribeScalingRules

Last Updated:Jul 24, 2024

Queries scaling rules. When you call this operation, you can specify the ID, name, or Alibaba Cloud Resource Name (ARN) of a scaling rule to query the details of the scaling rule. For example, you can query the adjustment method, instance warm-up period, and associated event-triggered tasks of the desired scaling rule.

Operation description

You can specify a scaling group ID to query all scaling rules in the scaling group. You can also specify the scaling rule ID, name, unique identifier, and type in the request parameters as filter conditions.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

There is currently no authorization information disclosed in the API.

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringYes

The region ID of the scaling group to which the scaling rules that you want to query belong.

cn-qingdao
PageNumberintegerNo

The number of the page to return. Pages start from page 1.

Default value: 1.

1
PageSizeintegerNo

The number of entries to return on each page. Maximum value: 50.

Default value: 10.

50
ScalingGroupIdstringNo

The ID of the scaling group.

asg-bp1ffogfdauy0jw0****
ScalingRuleTypestringNo

The type of the scaling rule. Valid values:

  • SimpleScalingRule: adjusts the number of ECS instances based on the values of the AdjustmentType and AdjustmentValue parameters.
  • TargetTrackingScalingRule: calculates the number of ECS instances that need to be scaled in a dynamic manner and maintains the value of a predefined metric close to the value of the TargetValue parameter.
  • StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.
  • PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.
SimpleScalingRule
ShowAlarmRulesbooleanNo

Specifies whether to return CloudMonitor event-triggered tasks associated with scaling rules. Valid values:

  • true
  • false

Default value: false.

false
ScalingRuleIdsarrayNo

The IDs of the scaling rules that you want to query.

stringNo

The IDs of the scaling rules that you want to query.

asr-bp1dvirgwkoowxk7****
ScalingRuleNamesarrayNo

The names of the scaling rules that you want to query.

stringNo

The names of the scaling rules that you want to query.

scalingrule****
ScalingRuleArisarrayNo

The unique identifiers of the scaling rules that you want to query.

stringNo

The unique identifiers of the scaling rules that you want to query.

ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The ID of the request.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****
PageNumberinteger

The page number of the returned page.

1
PageSizeinteger

The number of entries returned per page.

50
TotalCountinteger

The total number of scaling rules.

1
ScalingRulesarray<object>

The scaling rules.

object

The scaling rule.

MetricNamestring

The name of the metric of the event-triggered task that is associated with the scaling rule.

CpuUtilization
AdjustmentTypestring

The adjustment method of the scaling rule. Valid values:

  • QuantityChangeInCapacity: adds or removes the specified number of Elastic Compute Service (ECS) instances to or from the scaling group.
  • PercentChangeInCapacity: adds or removes the specified percentage of ECS instances to or from the scaling group.
  • TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.
QuantityChangeInCapacity
InitialMaxSizeinteger

The maximum number of ECS instances that can be contained in the scaling group. If you specify this parameter, you must also specify PredictiveValueBehavior.

100
EstimatedInstanceWarmupinteger

The warm-up period of instances. During the warm-up period, a series of preparation measures are taken for the new instances. Performance metrics of instances being warmed up are not counted towards the monitoring range.

300
ScaleOutEvaluationCountinteger

The number of consecutive times that the event-triggered task created for scale-out purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.

3
PredictiveScalingModestring

The mode of the predictive scaling rule. Valid values:

  • PredictAndScale: provides predictions and creates prediction tasks.
  • PredictOnly: provides predictions but does not create prediction tasks.
PredictAndScale
MinAdjustmentMagnitudeinteger

The minimum number of instances that must be scaled. This parameter takes effect only if you set ScalingRuleType to SimpleScalingRule or StepScalingRule and set AdjustmentType to PercentChangeInCapacity.

1
ScalingRuleAristring

The unique identifier of the scaling rule.

ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****
PredictiveTaskBufferTimeinteger

The amount of buffer time before prediction tasks are executed. By default, all prediction tasks that are automatically created based on a predictive scaling rule are executed on the hour. You can specify a buffer time for resource preparation before prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.

30
MinSizeinteger

The minimum number of ECS instances that must be contained in the scaling group.

1
ScalingGroupIdstring

The ID of the scaling group.

asg-bp1ffogfdauy0jw0****
PredictiveValueBehaviorstring

The action on the predicted maximum value. Valid values:

  • MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.
  • PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks when the predicted value is greater than the initial maximum capacity.
  • PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a ratio that is specified by PredictiveValueBuffer, and uses the increased value as the maximum value for prediction tasks if the predicted value increased by this ratio is greater than the initial maximum capacity.
MaxOverridePredictiveValue
TargetValuefloat

The target value of the metric. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, Auto Scaling keeps the metric value close to the target value by adding instances to or removing instances from the scaling group.

0.125
Cooldowninteger

The cooldown period of the scaling rule. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.

20
MaxSizeinteger

The maximum number of ECS instances that can be contained in the scaling group.

2
PredictiveValueBufferinteger

The ratio based on which the predicted value is increased when PredictiveValueBehavior is set to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.

50
ScalingRuleTypestring

The type of the scaling rule. Valid values:

  • SimpleScalingRule: a simple scaling rule. Once a simple scaling rule is executed, Auto Scaling adjusts the number of ECS instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.
  • TargetTrackingScalingRule: a target tracking scaling rule. Once a target tracking scaling rule is executed, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the specified target value (TargetValue).
  • StepScalingRule: a step scaling rule. Once a step scaling rule is executed, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.
  • PredictiveScalingRule: a predictive scaling rule. Once a predictive scaling rule is executed, Auto Scaling analyzes the historical monitoring data based on the machine learning technology and predicts the trends of metric data. Auto Scaling also creates scheduled tasks to enable dynamic adjustment of the boundary values for the scaling group.
SimpleScalingRule
AdjustmentValueinteger

The number of instances that must be scaled based on the scaling rule.

1
ScaleInEvaluationCountinteger

The number of consecutive times that the event-triggered task for scale-in purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.

15
DisableScaleInboolean

Indicates whether scale-in is disabled. This parameter takes effect only if you set ScalingRuleType to TargetTrackingScalingRule. Valid values:

  • true
  • false
true
ScalingRuleNamestring

The name of the scaling rule.

scalingrule****
ScalingRuleIdstring

The ID of the scaling rule.

asr-bp1dvirgwkoowxk7****
Alarmsarray<object>

The event-triggered tasks that are associated with the scaling rule. The value of this parameter is returned only if you set ShowAlarmRules to true. Otherwise, null is returned.

object

The event-triggered tasks that are associated with the scaling rule. Event-triggered tasks that are associated with the scaling rule are returned only if you set the ShowAlarmRules parameter to true. Otherwise, an empty list is returned.

AlarmTaskIdstring

The ID of the event-triggered task that is associated with the scaling rule.

asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****
ComparisonOperatorstring

The comparison operator between the statistical value and the threshold of the metric of the event-triggered task that is associated with the scaling rule. The comparison operator indicates the relationship in which the metric value and the metric threshold can meet the alert condition.

  • Valid value if the metric value is greater than or equal to the threshold: >=
  • Valid value if the metric value is less than or equal to the threshold: <=
  • Valid value if the metric value is greater than the threshold: >
  • Valid value if the metric value is less than the threshold: <
>=
MetricNamestring

The name of the metric of the event-triggered task that is associated with the scaling rule.

CpuUtilization
EvaluationCountinteger

The number of consecutive times when the event-triggered task that is associated with the scaling rule must meet the alert condition before an alert is triggered.

3
AlarmTaskNamestring

The name of the event-triggered task that is associated with the scaling rule.

alarmtask****
MetricTypestring

The type of the metric of the event-triggered task that is associated with the scaling rule. Valid values:

  • system: system metrics
  • custom: custom metrics
system
Thresholdfloat

The alert threshold of the event-triggered task that is associated with the scaling rule.

50
Statisticsstring

The statistical method of the event-triggered task that is associated with the scaling rule. Valid values:

  • Average
  • Maximum
  • Minimum
Average
Dimensionsarray<object>

The dimensions of the event-triggered task that is associated with the scaling rule.

object

The dimensions of the event-triggered task that is associated with the scaling rule.

DimensionKeystring

The key of the dimension that is associated with the metric. Valid values:

  • ScalingGroupId: the ID of the scaling group.
  • userId: the ID of the user account.
scaling_group
DimensionValuestring

The value of the dimension that is associated with the metric.

asg-bp18p2yfxow2dloq****
StepAdjustmentsarray<object>

The step adjustments of the step scaling rule.

object

The step adjustments of the step scaling rule.

MetricIntervalUpperBoundfloat

The upper limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.

5.0
ScalingAdjustmentinteger

The number of ECS instances that are scaled in a step adjustment.

1
MetricIntervalLowerBoundfloat

The lower limit of a step adjustment. Valid values: -9.999999E18 to 9.999999E18.

1.0
AlarmDimensionsarray<object>

The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.

object
DimensionKeystring

The dimension key of the metric.

rulePool
DimensionValuestring

The dimension value of the metric.

sgp-l1cbirz451yxu2dxxx

Examples

Sample success responses

JSONformat

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "PageNumber": 1,
  "PageSize": 50,
  "TotalCount": 1,
  "ScalingRules": [
    {
      "MetricName": "CpuUtilization",
      "AdjustmentType": "QuantityChangeInCapacity",
      "InitialMaxSize": 100,
      "EstimatedInstanceWarmup": 300,
      "ScaleOutEvaluationCount": 3,
      "PredictiveScalingMode": "PredictAndScale",
      "MinAdjustmentMagnitude": 1,
      "ScalingRuleAri": "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
      "PredictiveTaskBufferTime": 30,
      "MinSize": 1,
      "ScalingGroupId": "asg-bp1ffogfdauy0jw0****",
      "PredictiveValueBehavior": "MaxOverridePredictiveValue",
      "TargetValue": 0.125,
      "Cooldown": 20,
      "MaxSize": 2,
      "PredictiveValueBuffer": 50,
      "ScalingRuleType": "SimpleScalingRule",
      "AdjustmentValue": 1,
      "ScaleInEvaluationCount": 15,
      "DisableScaleIn": true,
      "ScalingRuleName": "scalingrule****",
      "ScalingRuleId": "asr-bp1dvirgwkoowxk7****",
      "Alarms": [
        {
          "AlarmTaskId": "asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****",
          "ComparisonOperator": ">=",
          "MetricName": "CpuUtilization",
          "EvaluationCount": 3,
          "AlarmTaskName": "alarmtask****",
          "MetricType": "system",
          "Threshold": 50,
          "Statistics": "Average",
          "Dimensions": [
            {
              "DimensionKey": "scaling_group",
              "DimensionValue": "asg-bp18p2yfxow2dloq****"
            }
          ]
        }
      ],
      "StepAdjustments": [
        {
          "MetricIntervalUpperBound": 5,
          "ScalingAdjustment": 1,
          "MetricIntervalLowerBound": 1
        }
      ],
      "AlarmDimensions": [
        {
          "DimensionKey": "rulePool",
          "DimensionValue": "sgp-l1cbirz451yxu2dxxx"
        }
      ]
    }
  ]
}

Error codes

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2023-04-03The response structure of the API has changedView Change Details