伸縮規則的作用由伸縮規則的類型來決定,可用于觸發伸縮活動或者智能設置伸縮組邊界值。根據不同業務需求,通過調用API CreateScalingRule創建不同類型的伸縮規則,例如,業務需要只能設置伸縮組邊界值,建議您選擇預測規則類型。
接口說明
伸縮規則定義了具體的擴張或收縮操作,例如加入或移出 N 臺實例。如果執行伸縮規則會造成伸縮組的 ECS 或 ECI 實例數低于 MinSize 或高于 MaxSize,則彈性伸縮會自動調整需要加入或移出的 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,彈性伸縮服務以伸縮組當前實例數(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 | *全部資源 * |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
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 實例將正常的加入伸縮組,但是期間將不會向云監控上報監控數據。 說明
動態計算需要擴縮容的 ECS 實例數量時,處于預熱狀態的實例不計入現有實例數量。
取值范圍:0~86400,單位:秒。 默認值:300。 | 300 |
MetricName | string | 否 | 預定義監控項,適用于目標追蹤規則和預測規則,且此時該項必選。 目標追蹤規則取值范圍:
預測規則取值范圍:
更多信息,請參見系統監控報警任務。 | CpuUtilization |
TargetValue | float | 否 | 目標值,適用于目標追蹤規則和預測規則,且此時該項必選。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 | float | 否 | 分步步驟的上邊界,取值范圍:-9.999999E18~9.999999E18。 | 5.0 |
ScalingAdjustment | integer | 否 | 分步步驟對應的實例擴展數量,僅適用于步進規則。 | 1 |
MetricIntervalLowerBound | float | 否 | 分步步驟的下邊界,僅適用于步進規則。取值范圍:-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 |
返回參數
示例
正常返回示例
JSON
格式
{
"ScalingRuleAri": "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"ScalingRuleId": "asr-bp1dvirgwkoowxk7****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-09-13 | OpenAPI 入參發生變更 | 查看變更詳情 |
2023-04-03 | OpenAPI 入參發生變更 | 查看變更詳情 |