伸縮規則的作用由伸縮規則的類型來決定,可用於觸發伸縮活動或者智能設定伸縮組邊界值。根據不同業務需求,通過調用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程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
ess:CreateScalingRule |
create |
*ScalingGroup
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| 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 |
| AdjustmentValue |
integer |
否 |
伸縮規則的調整值,適用於簡單規則和步進規則,且此時該項必選。任何情況下,單次調整的 ECS 執行個體台數都不能超過 1000。不同調整方式對應的取值範圍:
|
100 |
| ScalingRuleType |
string |
否 |
伸縮規則類型,取值範圍:
預設值:SimpleScalingRule。 |
SimpleScalingRule |
| EstimatedInstanceWarmup |
integer |
否 |
執行個體預熱時間,適用於目標追蹤規則和步進規則。處於預熱狀態的 ECS 執行個體將正常的加入伸縮組,但是期間將不會向CloudMonitor上報監控資料。 說明
動態計算需要擴縮容的 ECS 執行個體數量時,處於預熱狀態的執行個體不計入現有執行個體數量。 取值範圍:0~86400,單位:秒。 預設值:300。 |
300 |
| MetricName |
string |
否 |
預定義監控項,適用於目標追蹤規則和預測規則,且此時該項必選。 目標追蹤規則取值範圍:
預測規則取值範圍:
更多資訊,請參見系統監控警示任務。 |
CpuUtilization |
| TargetValue |
number |
否 |
目標值,適用於目標追蹤規則和預測規則,且此時該項必選。TargetValue 最多保留小數點後三位,且必須大於 0。 |
0.125 |
| DisableScaleIn |
boolean |
否 |
是否禁用縮容,僅適用於目標追蹤規則。 預設值:false。 |
false |
| ScaleInEvaluationCount |
integer |
否 |
建立目標追蹤規則後,會自動建立警示任務。本參數用於指定對應的縮容警示任務觸發警示時,所需連續滿足閾值條件的次數。 預設值:15。 |
15 |
| ScaleOutEvaluationCount |
integer |
否 |
建立目標追蹤規則後,會自動建立警示任務。本參數用於指定對應的擴容警示任務觸發警示時,所需連續滿足閾值條件的次數。 預設值:3。 |
3 |
| PredictiveScalingMode |
string |
否 |
預測規則的模式,取值範圍:
預設值:PredictAndScale。 |
PredictAndScale |
| PredictiveValueBehavior |
string |
否 |
預測規則最大值處理方式,取值範圍:
預設值:MaxOverridePredictiveValue。 |
MaxOverridePredictiveValue |
| PredictiveValueBuffer |
integer |
否 |
預設值:0。 |
50 |
| PredictiveTaskBufferTime |
integer |
否 |
預測規則自動建立的預測任務預設均在整點執行,您可以設定開機前時間提前執行預測任務,預先準備資源。取值範圍:0~60,單位:分鐘。 預設值:0。 |
30 |
| InitialMaxSize |
integer |
否 |
伸縮組執行個體數上限,和 預設值為伸縮組最大執行個體數(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 |
| 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 |
| Dimensions |
array<object> |
否 |
指標緯度。用於指定指標監控的資源。 |
|
|
object |
否 |
|||
| DimensionKey |
string |
否 |
指標維度 key。 |
queue |
| DimensionValue |
string |
否 |
指標維度 value。 |
testQueue |
| AlarmOptions |
object |
否 |
警示屬性定義。 |
|
| Period |
integer |
否 |
目標追蹤規則中統計監控項資料的周期,單位:秒。取值範圍:
說明
預設值: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****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。