全部產品
Search
文件中心

Auto Scaling:CreateScalingRule - 建立一條伸縮規則

更新時間:May 21, 2026

伸縮規則的作用由伸縮規則的類型來決定,可用於觸發伸縮活動或者智能設定伸縮組邊界值。根據不同業務需求,通過調用API CreateScalingRule建立不同類型的伸縮規則,例如,業務需要只能設定伸縮組邊界值,建議您選擇預測規則類型。

介面說明

伸縮規則定義了具體的擴張或收縮操作,例如加入或移出 N 台執行個體。如果執行伸縮規則會造成伸縮組的 ECS 或 ECI 執行個體數低於 MinSize 或高於 MaxSize,則Auto Scaling會自動調整需要加入或移出的 ECS 或 ECI 執行個體數,使得伸縮組的 ECS 或 ECI 執行個體數調整到 MinSize 或 MaxSize,但伸縮規則的設定值不會變化。樣本如下:

  • 某個伸縮組,MaxSize=3,當前執行個體數 Total Capacity=2,伸縮規則指定加 3 台 ECS 執行個體,則在實際執行過程中只會加 1 台 ECS 執行個體,但伸縮規則的設定值仍然為 3。

  • 某個伸縮組,MinSize=2,當前執行個體數 Total Capacity =3,伸縮規則指定減去 5 台 ECS 執行個體,則在實際執行過程中只會減 1 台 ECS 執行個體,但伸縮規則的設定值仍然為 5。

請注意以下參數相關說明:

  • 當 AdjustmentType 是 TotalCapacity 時,表示將當前伸縮組的 ECS 或 ECI 執行個體數量調整到指定數量,對應的 AdjustmentValue 值必須大於等於 0。

  • 當 AdjustmentType 是 QuantityChangeInCapacity 或 PercentChangeInCapacity,對應的 AdjustmentValue 值為正數表示增加執行個體、為負數表示減少執行個體。

  • 當 AdjustmentType 是 PercentChangeInCapacity,Auto Scaling服務以伸縮組當前執行個體數(Total Capacity)xAdjusmentValue/100,並使用四捨五入原則來確認增加或減少的 ECS 執行個體或 ECI 執行個體個數。

  • 當伸縮規則指定了冷卻時間(Cooldown),則執行該伸縮規則的伸縮活動完成後,會以伸縮規則中指定的冷卻時間對伸縮組進行冷卻處理,如果伸縮規則未指定冷卻時間,則以伸縮組指定的冷卻時間(DefaultCooldown)為準。

  • 一個伸縮組內可以建立的伸縮規則數量有限,具體說明請參見使用限制

  • 返回的伸縮規則唯一識別碼(ScalingRuleAri)可以供以下介面使用:
    • 在執行伸縮規則(ExecuteScalingRule)的 ScalingRuleAri 參數中指定,您可以手動執行該伸縮規則。

    • 在建立定時任務(CreateScheduledTask)的 ScheduledAction 參數中指定,使用者可以定時執行該伸縮規則。

調試

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

調試

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

ess:CreateScalingRule

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

請求參數

名稱

類型

必填

描述

樣本值

ScalingGroupId

string

伸縮規則所屬伸縮組的 ID。

asg-bp1ffogfdauy0jw0****

ScalingRuleName

string

伸縮規則的名稱,2~64 個英文或中文字元,以數字、大小字母或中文開頭,可包含數字、底線(_)、連字號(-)或點號(.)。

同一使用者帳號同一地區同一伸縮組內伸縮規則唯一。

如果沒有指定該參數,預設值為 ScalingRuleId 的值。

scalingrule****

Cooldown

integer

伸縮規則的冷卻時間,僅適用於簡單規則。取值範圍:0~86400,單位:秒。

預設值:空。

60

MinAdjustmentMagnitude

integer

伸縮規則最小調整執行個體數,僅當伸縮規則類型為 SimpleScalingRule 或 StepScalingRule,且 AdjustmentType 為 PercentChangeInCapacity 時生效。

1

AdjustmentType

string

伸縮規則的調整方式,適用於簡單規則和步進規則,且此時該項必選。取值範圍:

  • QuantityChangeInCapacity:增加或減少指定數量的 ECS 執行個體。

  • PercentChangeInCapacity:增加或減少指定比例的 ECS 執行個體。

  • TotalCapacity:將當前伸縮組的 ECS 執行個體數量調整到指定數量。

QuantityChangeInCapacity

AdjustmentValue

integer

伸縮規則的調整值,適用於簡單規則和步進規則,且此時該項必選。任何情況下,單次調整的 ECS 執行個體台數都不能超過 1000。不同調整方式對應的取值範圍:

  • QuantityChangeInCapacity:-1000~1000。

  • PercentChangeInCapacity:-100~10000。

  • TotalCapacity:0~2000。

100

ScalingRuleType

string

伸縮規則類型,取值範圍:

  • SimpleScalingRule:簡單規則。根據調整方式(AdjustmentType)和調整值(AdjustmentValue)調整 ECS 或 ECI 執行個體數量。

  • TargetTrackingScalingRule:目標追蹤規則。根據預定義監控(MetricName)項動態計算需要擴縮容的 ECS 或 ECI 執行個體數量,盡量將預定義監控項的指標值維持在目標值(TargetValue)附近。

  • StepScalingRule:步進規則,根據閾值和指標值提供分步擴充方式。

  • PredictiveScalingRule:預測規則,基於機器學習能力分析伸縮組的歷史監控資料預測未來監控指標值,並支援自動建立定時任務設定伸縮組邊界。

預設值:SimpleScalingRule。

SimpleScalingRule

EstimatedInstanceWarmup

integer

執行個體預熱時間,適用於目標追蹤規則和步進規則。處於預熱狀態的 ECS 執行個體將正常的加入伸縮組,但是期間將不會向CloudMonitor上報監控資料。

說明

動態計算需要擴縮容的 ECS 執行個體數量時,處於預熱狀態的執行個體不計入現有執行個體數量。

取值範圍:0~86400,單位:秒。

預設值:300。

300

MetricName

string

預定義監控項,適用於目標追蹤規則和預測規則,且此時該項必選。

目標追蹤規則取值範圍:

  • CpuUtilizationAgent:(Agent)CPU 使用率(推薦)。

  • MemoryUtilization:(Agent)記憶體(推薦)。

  • CpuUtilization:(ECS)平均 CPU 使用率。

  • IntranetTx:(ECS)內網出流量的平均值。

  • IntranetRx:(ECS)內網入流量的平均值。

  • VpcInternetTx:(ECS)公網出流量的平均值。

  • VpcInternetRx:(ECS)公網入流量的平均值。

  • LoadBalancerRealServerAverageQps:(ALB)伺服器組單機 QPS。

預測規則取值範圍:

  • CpuUtilization:(ECS)平均 CPU 使用率。

  • IntranetRx:(ECS)內網入流量平均值。

  • IntranetTx :(ECS)內網出流量平均值。

更多資訊,請參見系統監控警示任務

CpuUtilization

TargetValue

number

目標值,適用於目標追蹤規則和預測規則,且此時該項必選。TargetValue 最多保留小數點後三位,且必須大於 0。

0.125

DisableScaleIn

boolean

是否禁用縮容,僅適用於目標追蹤規則。

預設值:false。

false

ScaleInEvaluationCount

integer

建立目標追蹤規則後,會自動建立警示任務。本參數用於指定對應的縮容警示任務觸發警示時,所需連續滿足閾值條件的次數。

預設值:15。

15

ScaleOutEvaluationCount

integer

建立目標追蹤規則後,會自動建立警示任務。本參數用於指定對應的擴容警示任務觸發警示時,所需連續滿足閾值條件的次數。

預設值:3。

3

PredictiveScalingMode

string

預測規則的模式,取值範圍:

  • PredictAndScale:產生預測結果並建立預測任務。

  • PredictOnly:產生預測結果,但不會建立預測任務。

預設值:PredictAndScale。

PredictAndScale

PredictiveValueBehavior

string

預測規則最大值處理方式,取值範圍:

  • MaxOverridePredictiveValue:初始最大值會覆蓋預測值。預測值大於初始最大值時,預測任務的最大值採用初始最大值。

  • PredictiveValueOverrideMax:預測值會覆蓋初始最大值。預測值大於初始最大值時,預測任務的最大值採用預測值。

  • PredictiveValueOverrideMaxWithBuffer:預測值會附加一定比例。預測值會按照 PredictiveValueBuffer 比例增加,當增加後的值大於初始最大值時,會採用增加後的值。

預設值:MaxOverridePredictiveValue。

MaxOverridePredictiveValue

PredictiveValueBuffer

integer

PredictiveValueBehaviorPredictiveValueOverrideMaxWithBuffer時生效,預測值會按照該比例增加,當增加後的值大於初始最大值時,會採用增加後的值。取值範圍:0~100。

預設值:0。

50

PredictiveTaskBufferTime

integer

預測規則自動建立的預測任務預設均在整點執行,您可以設定開機前時間提前執行預測任務,預先準備資源。取值範圍:0~60,單位:分鐘。

預設值:0。

30

InitialMaxSize

integer

伸縮組執行個體數上限,和PredictiveValueBehavior結合使用。

預設值為伸縮組最大執行個體數(MaxSize 的值)。

100

StepAdjustments

array<object>

分步步驟對應的執行個體擴充資訊組成的集合。

object

分步步驟對應的執行個體擴充資訊組成的集合。

MetricIntervalUpperBound

number

分步步驟的上邊界,取值範圍:-9.999999E18~9.999999E18。

5.0

ScalingAdjustment

integer

分步步驟對應的執行個體擴充數量,僅適用於步進規則。

1

MetricIntervalLowerBound

number

分步步驟的下邊界,僅適用於步進規則。取值範圍:-9.999999E18~9.999999E18。

1.0

RegionId

string

伸縮組所屬的地區 ID。

cn-hangzhou

AlarmDimensions

array<object>

監控項維度資訊值,適用於目標追蹤規則,當監控項需額外維度資訊時設定,例如 LoadBalancerRealServerAverageQps 監控項需指定 rulePool 維度索引值資訊。

object

監控項維度資訊值,適用於目標追蹤規則,當監控項需額外維度資訊時設定,例如 LoadBalancerRealServerAverageQps 監控項需指定 rulePool 維度索引值資訊。

DimensionKey

string

監控項關聯的維度資訊鍵。

rulePool

DimensionValue

string

監控項關聯的維度資訊值。

sgp-l1cbirz451yxuxxx

MetricType

string

監控項類型。取值範圍:

  • system:使用CloudMonitor系統指標。

  • custom:使用上報到CloudMonitor的自訂指標。

  • hybrid:使用企業CloudMonitor的指標。

system

HybridMonitorNamespace

string

企業CloudMonitor指標倉庫 id。

管理指標倉庫,請參見管理指標倉庫

aliyun-test

HybridMetrics

array<object>

企業CloudMonitor指標設定。如何設定,請參見使用公式運算自訂目標追蹤規則

array<object>

Id

string

公制運算運算式中指標的引用 id。

a

Expression

string

多個企業CloudMonitor指標的公制運算運算式,運算式的計算結果將用於觸發擴縮容。

運算運算式需滿足逆波蘭運算式(RPN)規範,並且操作符只支援+ - * /

(a+b)/2

MetricName

string

企業CloudMonitor指標倉庫中的指標名稱。

AliyunSmq_NumberOfMessagesVisible

Statistic

string

指標的統計方式。取值範圍:

  • Average:指定區間內所有點的平均值。

  • Minimum:指定區間內所有點的最小值。

  • Maximum:指定區間內所有點的最大值。

Average

Dimensions

array<object>

指標緯度。用於指定指標監控的資源。

object

DimensionKey

string

指標維度 key。

queue

DimensionValue

string

指標維度 value。

testQueue

AlarmOptions

object

警示屬性定義。

Period

integer

目標追蹤規則中統計監控項資料的周期,單位:秒。取值範圍:

  • 15。

  • 60。

  • 120。

  • 300。

  • 900。

說明

預設值:60。

60

返回參數

名稱

類型

描述

樣本值

object

ScalingRuleAri

string

伸縮規則的唯一識別碼。

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

RequestId

string

請求 ID。

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

ScalingRuleId

string

伸縮規則的 ID,由系統產生,全域唯一。

asr-bp1dvirgwkoowxk7****

樣本

正常返回樣本

JSON格式

{
  "ScalingRuleAri": "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ScalingRuleId": "asr-bp1dvirgwkoowxk7****"
}

錯誤碼

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

變更歷史

更多資訊,參考變更詳情