全部產品
Search
文件中心

Auto Scaling:ExecuteScalingRule

更新時間:Jan 14, 2025

執行伸縮規則可以實現手動或自動調整ECS執行個體或ECI執行個體資源。其中,對於簡單規則和步進規則,您才可以調用API ExecuteScalingRule執行一條伸縮規則,而對於目標追蹤規則和預測規則,Auto Scaling會自動執行伸縮規則。

介面說明

調用該介面需注意以下幾點:

  • 調用該介面前,請確保滿足以下條件:
    • 伸縮組處於Active狀態。
    • 伸縮組沒有執行中的伸縮活動。
  • 當伸縮組沒有執行中的伸縮活動時,該介面可以繞過冷卻時間(Cooldown)直接執行伸縮活動。
  • 如果伸縮規則需要增加的ECS執行個體數加上當前伸縮組的執行個體數(Total Capacity)大於最大執行個體數(MaxSize),則按Total Capacity=MaxSize執行伸縮活動。
  • 如果當前伸縮組的執行個體數(Total Capacity)減去伸縮規則需要減少的ECS執行個體數小於最小執行個體數(MinSize),則按Total Capacity=MinSize執行伸縮活動。

調用該介面返回成功,只是表示Auto Scaling服務接受了該介面的調用請求,可以執行伸縮活動,但不代表伸縮活動能夠執行成功。您需要通過返回的ScalingActivityId查看該伸縮活動的執行狀態。

說明 單次調整的ECS執行個體台數存在限制,請參見CreateScalingRule中的AdjustmentValue參數說明。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

請求參數

名稱

類型

是否必選

樣本值

描述

Action String ExecuteScalingRule

系統規定參數。取值:ExecuteScalingRule

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

伸縮規則唯一識別碼。

說明 調用API執行伸縮規則時,只支援執行簡單規則和步進規則,且執行步進規則時必須同時指定BreachThresholdMetricValue參數。
ClientToken String 123e4567-e89b-12d3-a456-426655440000

用於保證請求的等冪性。

由用戶端產生該參數值,要保證在不同請求間唯一,最大不超過64個ASCII字元。更多資訊,請參見如何保證等冪性

BreachThreshold Float 1.0

執行步進伸縮規則時指定的當前閾值,取值範圍:-9.999999E18~9.999999E18。

MetricValue Float 1.0

執行步進伸縮規則時指定的當前指標值,取值範圍:-9.999999E18~9.999999E18。

RegionId String cn-qingdao

伸縮規則所屬地區ID。

返回資料

名稱

類型

樣本值

描述

ScalingActivityId String asa-bp13o672yeautiil****

伸縮活動的id。

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

請求ID。

樣本

請求樣本

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
&公用請求參數

正常返回樣本

XML格式

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

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

JSON格式

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

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

錯誤碼

訪問錯誤中心查看更多錯誤碼。

HttpCode

錯誤碼

錯誤資訊

描述

404

InvalidScalingRuleAri.NotFound

The specified scaling rule Ari does not exist.

指定的伸縮規則在該帳號下不存在。

403

Forbidden.Unauthorized

A required authorization for the specified action is not supplied.

您並未向Auto Scaling完整授權OpenAPI介面。

400

IncorrectScalingGroupStatus

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

指定伸縮規則所屬的伸縮組未處於Active狀態。

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.

指定伸縮規則所屬的伸縮組有伸縮活動進行中。

400

InsufficientBalance

Your account does not have enough balance.

帳號餘額不足。

400

QuotaExceed.Instance

Living instance quota exceeded.

ECS執行個體個數達到上限。

400

IncorrectLoadBalancerStatus

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

指定伸縮規則所屬的伸縮組的Server Load Balancer執行個體未處於active狀態。

400

IncorrectLoadBalancerHealthCheck

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

指定伸縮規則所屬的伸縮組的Server Load Balancer執行個體未開啟健全狀態檢查。

400

InvalidLoadBalancerId.IncorrectInstanceNetworkType

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

指定的Server Load Balancer執行個體含有的ECS執行個體的網路類型與伸縮組的網路類型不符。

400

InvalidLoadBalancerId.VPCMismatch

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

指定的伸縮組的Server Load Balancer執行個體含有的ECS執行個體與VSwitchId不在同一個VPC當中。

400

IncorrectDBInstanceStatus

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

指定伸縮規則所屬的伸縮組的RDS執行個體未處於running狀態。

400

QuotaExceeded.DBInstanceSecurityIP

Security IP quota exceeded in DB instance "XXX".

指定伸縮規則所屬的伸縮組的RDS執行個體訪問白名單的IP個數達到上限。

400

QuotaExceeded.SecurityGroupInstance

Instance quota exceeded in the specified security group.

指定的安全性群組已添加的ECS執行個體個數達到上限。

400

IncorrectCapacity.NoChange

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

伸縮規則未造成伸縮組執行個體數的變化。

400

QuotaExceeded.ScalingInstance

Scaling instance quota exceeded.

Auto Scaling的ECS執行個體使用個數達到上限。

400

QuotaExceeded.AfterpayInstance

Living afterpay instance quota exceeded.

隨用隨付ECS執行個體的使用個數達到上限。

400

ResourceNotAvailable.ECS

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

指定的地區無法建立指定的ECS執行個體類型或磁碟類型。

400

ScalingRule.InvalidScalingRuleType

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

無法執行當前類型的伸縮規則。

400

InvalidStepAdjustments.NoStepFound

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

未找到合格分步執行步驟。

400

MissingParameter.MetricValue

Metric value must be specified for StepScalingRule.

執行分步伸縮規則必須指定指標值。

400

MissingParameter.BreachThreshold

Breach threshold must be specified for StepScalingRule.

執行分步伸縮規則必須指定閾值。

400

MetricValueBeyondPermitRange

Specific parameter "%s" beyond permit range.

指標值超過了可選範圍。

400

BreachThresholdBeyondPermitRange

Specific parameter "%s" beyond permit range.

閾值超過了可選範圍。