All Products
Search
Document Center

Auto Scaling:ExecuteScalingRule

Last Updated:Nov 03, 2023

Executes a scaling rule.

Usage notes

Before you call the ExecuteScalingRule operation, make sure that the following requirements are met:

  • The specified scaling group is in the Active state.

  • The scaling group does not have scaling activities in progress.

  • If the scaling group has no scaling activities in progress, the operation can trigger scaling activities even before the cooldown period of the scaling group expires.

  • If the addition of a specific number of Elastic Compute Service (ECS) instances to a scaling group causes the total number of ECS instances in the scaling group to exceed the maximum number of instances that can be contained in the scaling group, Auto Scaling adds ECS instances until the total number of instances is equal to the maximum number of instances.

  • If the removal of a specific number of ECS instances from a scaling group causes the total number of ECS instances in the scaling group to be less than the minimum number of instances that must be contained in the scaling group, Auto Scaling removes ECS instances until the total number of instances is equal to the minimum number of instances.

A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity by using the value of the ScalingActivityId parameter in the response.

Note

You can add or remove only a limited number of ECS instances at a time. For more information, see the AdjustmentValue parameter in CreateScalingRule.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code for different SDKs.

Request parameters

Parameter

Type

Required

Example

Description

Action

String

Yes

ExecuteScalingRule

The operation that you want to perform. Set the value to ExecuteScalingRule.

ScalingRuleAri

String

Yes

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

The unique identifier of the scaling rule.

Note

You can call this API operation to execute only simple scaling rules and step scaling rules. If you want to execute a step scaling rule, you must specify BreachThreshold and MetricValue.

ClientToken

String

No

123e4567-e89b-12d3-a456-426655440000

The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure the idempotence.

BreachThreshold

Float

No

1.0

The threshold that is specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.

MetricValue

Float

No

1.0

The metric value that is specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.

RegionId

String

No

cn-qingdao

The region ID of the scaling rule.

Response parameters

Parameter

Type

Example

Description

ScalingActivityId

String

asa-bp13o672yeautiil****

The ID of the scaling activity.

RequestId

String

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

The request ID.

Examples

Sample requests

http(s)://ess.aliyuncs.com/?Action=ExecuteScalingRule
&ScalingRuleAri=ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****
&ClientToken=123e4567-e89b-12d3-a456-426655440000
&BreachThreshold=1.0
&MetricValue=1.0
&RegionId=cn-qingdao
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<ExecuteScalingRuleResponse>
    <ScalingActivityId>asa-bp13o672yeautiil****</ScalingActivityId>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</ExecuteScalingRuleResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "ScalingActivityId" : "asa-bp13o672yeautiil****",
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

Error codes

For a list of error codes, see Service error codes.

HTTP status code

Error code

Error message

Description

404

InvalidScalingRuleAri.NotFound

The specified scaling rule Ari does not exist.

The specified scaling rule does not exist in the Alibaba Cloud account.

403

Forbidden.Unauthorized

A required authorization for the specified action is not supplied.

Auto Scaling is not authorized to call the operation.

400

IncorrectScalingGroupStatus

The current status of the specified scaling group does not support this action.

The scaling group to which the specified scaling rule belongs is not in the Active state.

400

ScalingActivityInProgress

You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.

The scaling group of the specified scaling rule has a scaling activity in progress.

400

InsufficientBalance

Your account does not have enough balance.

The balance of your Alibaba Cloud account is insufficient.

400

QuotaExceed.Instance

Living instance quota exceeded.

The maximum number of ECS instances has been reached.

400

IncorrectLoadBalancerStatus

The current status of the specified load balancer does not support this action.

The Server Load Balancer (SLB) instance that is associated with the scaling group of the specified scaling rule is not in the Active state.

400

IncorrectLoadBalancerHealthCheck

The current health check type of specified load balancer does not support this action.

The health check is not enabled for the SLB instance that is associated with the scaling group of the specified scaling rule.

400

InvalidLoadBalancerId.IncorrectInstanceNetworkType

The network type of the instance in specified load balancer does not support this action.

The network type of an ECS instance that is attached to the associated SLB instance is different from the network type of the scaling group.

400

InvalidLoadBalancerId.VPCMismatch

The specified virtual switch and the instance in specified load balancer are not in the same VPC.

An ECS instance that is attached to the specified SLB instance does not reside in the same VPC as the vSwitch that is specified by VswitchID.

400

IncorrectDBInstanceStatus

The current status of DB instance "XXX" does not support this action.

The ApsaraDB RDS instance that is associated with the scaling group of the specified scaling rule is not in the Running state.

400

QuotaExceeded.DBInstanceSecurityIP

Security IP quota exceeded in DB instance "XXX".

The maximum number of IP addresses in the IP address whitelist of the ApsaraDB RDS instance that is associated with the scaling group of the specified scaling rule has been reached.

400

QuotaExceeded.SecurityGroupInstance

Instance quota exceeded in the specified security group.

The maximum number of ECS instances that are associated with the specified security group has been reached.

400

IncorrectCapacity.NoChange

To execute the specified scaling rule, the total capacity will not change.

The number of instances in the scaling group remains unchanged after the scaling rule is executed.

400

QuotaExceeded.ScalingInstance

Scaling instance quota exceeded.

The maximum number of ECS instances that is allowed has been reached.

400

QuotaExceeded.AfterpayInstance

Living afterpay instance quota exceeded.

The maximum number of pay-as-you-go ECS instances that is allowed has been reached.

400

ResourceNotAvailable.ECS

The specified region or zone does not offer the specified disk or instance category.

The ECS instances of the specified instance type or disk category cannot be created in the specified region.

400

ScalingRule.InvalidScalingRuleType

Specific scaling rule type: %s can not be executed.

The specified type of scaling rule cannot be executed.

400

InvalidStepAdjustments.NoStepFound

No adjustment step found for a metric value of: %s.

No matching adjustment steps are found for the specified metric.

400

MissingParameter.MetricValue

Metric value must be specified for StepScalingRule.

No metric value is specified for the step scaling rule.

400

MissingParameter.BreachThreshold

Breach threshold must be specified for StepScalingRule.

No threshold is specified for the step scaling rule.

400

MetricValueBeyondPermitRange

Specific parameter "%s" beyond permit range.

The specified metric value is invalid.

400

BreachThresholdBeyondPermitRange

Specific parameter "%s" beyond permit range.

The specified threshold is invalid.