如果您需要根據業務變動需求與策略自動增加或減少指定類型的實例數量,則可以通過配置伸縮組來自動調整您的業務計算能力(即實例數量)。如果當前伸縮組屬性不再滿足業務需求,則您可以調用API ModifyScalingGroup修改伸縮組屬性(例如最大實例數、最小實例數或期望實例數等屬性),避免重新創建伸縮組并重新配置相關屬性,節省了時間和資源成本。
接口說明
-
不支持修改以下參數:
-
RegionId
-
LoadBalancerId
說明 如果需要修改負載均衡實例,請使用 AttachLoadBalancers 和 DetachLoadBalancers 接口。-
DBInstanceId
說明 如果需要修改 RDS 實例,請使用 AttachDBInstances 和 DetachDBInstances 接口。 -
-
當伸縮組的狀態為
Active
或Inactive
時才能調用該接口。 -
啟用新的伸縮配置不會影響通過早前伸縮配置創建并正在運行的 ECS 實例或 ECI 實例。
-
如果修改了 MaxSize,導致當前伸縮組的 ECS 或 ECI 實例數超過 MaxSize,則伸縮組會自動移出 ECS 實例或 ECI 實例,使得伸縮組的 ECS 或 ECI 實例數等于 MaxSize。
-
如果伸縮組修改了 MinSize,導致當前伸縮組的 ECS 或 ECI 實例數低于 MinSize,則伸縮組會自動加入 ECS 實例或 ECI 實例,使得伸縮組的 ECS 或 ECI 實例數等于 MinSize。
-
如果伸縮組設置了 DesiredCapacity 時,修改了 DesiredCapacity,導致當前伸縮組的 ECS 或 ECI 實例數與 DesiredCapacity 不一致,則伸縮組會自動加入或移除 ECS 實例或 ECI 實例,使得伸縮組的 ECS 或 ECI 實例數等于 DesiredCapacity。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
ess:ModifyScalingGroup | update | *ScalingGroup acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId} |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
ScalingGroupId | string | 是 | 待修改伸縮組的 ID。 | asg-bp1ffogfdauy0jw0**** |
ScalingGroupName | string | 否 | 伸縮組的名稱,同一地域下伸縮組名稱唯一。長度為 2~64 個字符,以數字、大小英文字母或中文開頭,可以包含數字、下劃線(_)、短劃線(-)和半角句號(.)。 | scalinggroup**** |
MinSize | integer | 否 | 伸縮組內 ECS 實例或 ECI 實例臺數的最小值,當伸縮組內 ECS 或 ECI 實例數小于 MinSize 時,彈性伸縮會自動創建 ECS 實例或 ECI 實例。 說明
MinSize 的值必須小于或等于 MaxSize 的值。
| 1 |
MaxSize | integer | 否 | 伸縮組內 ECS 實例或 ECI 實例臺數的最大值,當伸縮組內 ECS 或 ECI 實例數大于 MaxSize 時,彈性伸縮會自動移出 ECS 實例或 ECI 實例。 MaxSize 的取值范圍和彈性伸縮使用情況有關,請前往配額中心查看單個伸縮組可以設置的組內最大實例數對應的配額值。 例如,如果單個伸縮組可以設置的組內最大實例數對應的配額值為 2000,則 MaxSize 的取值范圍為 0~2000。 | 99 |
DefaultCooldown | integer | 否 | 伸縮組默認的冷卻時間,僅適用于簡單規則。取值范圍:0~86400,單位:秒。 冷卻時間內,該伸縮組不執行其他的伸縮活動,僅針對云監控報警任務觸發的伸縮活動有效。 | 600 |
RemovalPolicies | array | 否 | 指定移出 ECS 實例的伸縮組策略。取值范圍:
| |
string | 否 | 指定移出 ECS 實例的伸縮組策略。取值范圍:
| NewestInstance | |
ActiveScalingConfigurationId | string | 否 | 伸縮組內生效的伸縮配置的 ID。 | asc-bp17pelvl720x5ub**** |
HealthCheckType | string | 否 | 伸縮組的健康檢查方式。取值范圍:
說明
如果需要同時開啟實例健康檢查和負載均衡健康檢查,請使用 HealthCheckTypes 參數。
| ECS |
LaunchTemplateId | string | 否 | 實例啟動模板 ID,用于指定伸縮組從實例啟動模板獲取啟動配置信息。 | lt-m5e3ofjr1zn1aw7**** |
LaunchTemplateVersion | string | 否 | 實例啟動模板的版本。取值范圍:
| Default |
OnDemandBaseCapacity | integer | 否 | 伸縮組所需要按量實例個數的最小值,取值范圍:0~1000。當按量實例個數少于該值時,將優先創建按量實例。 當 | 30 |
OnDemandPercentageAboveBaseCapacity | integer | 否 | 伸縮組滿足最小按量實例數(OnDemandBaseCapacity)要求后,超出的實例中按量實例應占的比例,取值范圍:0~100。 當 | 20 |
SpotInstanceRemedy | boolean | 否 | 是否開啟補齊搶占式實例。開啟后,當收到搶占式實例將被回收的系統消息時,伸縮組將嘗試創建新的實例,替換掉將被回收的搶占式實例。 | true |
CompensateWithOnDemand | boolean | 否 | 當
| true |
SpotInstancePools | integer | 否 | 指定可用實例規格的個數,伸縮組將按成本最低的多個規格均衡創建搶占式實例。取值范圍:0~10。 當 | 5 |
DesiredCapacity | integer | 否 | 伸縮組內 ECS 實例或 ECI 實例的期望數量,伸縮組會自動將 ECS 實例或 ECI 實例數量維持在期望實例數。取值范圍:MaxSize≥期望實例數量≥MinSize。 說明
如果期望實例數功能關閉后又重新開啟,則您需要重新設置 DesiredCapacity 值。
| 5 |
GroupDeletionProtection | boolean | 否 | 是否開啟伸縮組刪除保護。取值范圍:
| true |
MultiAZPolicy | string | 否 | 多可用區伸縮組 ECS 實例擴縮容策略。取值范圍:
說明
COST_OPTIMIZED 僅在伸縮配置設置了多實例規格或者選用了搶占式實例的情況下生效。
| PRIORITY |
VSwitchIds | array | 否 | 一臺或多臺虛擬交換機的 ID。 只有當伸縮組網絡類型為 VPC 時,當前參數才生效。指定虛擬交換機所屬的 VPC 必須和伸縮組所屬的 VPC 相同。 虛擬交換機可以來自多個可用區。虛擬交換機的優先級按照數字升序排序,1 表示最高優先級。當優先級較高的虛擬交換機所在可用區無法創建 ECS 實例時,自動選擇下一優先級的虛擬交換機創建 ECS 實例。 | |
string | 否 | 一臺或多臺虛擬交換機的 ID。 只有當伸縮組網絡類型為 VPC 時,當前參數才生效。指定虛擬交換機所屬的 VPC 必須和伸縮組所屬的 VPC 相同。 虛擬交換機可以來自多個可用區。虛擬交換機的優先級按照數字升序排序,1 表示最高優先級。當優先級較高的虛擬交換機所在可用區無法創建 ECS 實例時,自動選擇下一優先級的虛擬交換機創建 ECS 實例。 | vsw-bp1oo2a7isyrb8igf**** | |
LaunchTemplateOverrides | array<object> | 否 | 擴展啟動模板的實例規格信息。 | |
object | 否 | 擴展啟動模板的實例規格信息。 | ||
InstanceType | string | 否 | 當您需要伸縮組按照實例規格容量進行伸縮時,請同時指定本參數和 LaunchTemplateOverrides.WeightedCapacity。 本參數用于指定實例規格,會覆蓋啟動模板中的實例規格。 說明
僅當 LaunchTemplateId 參數指定了啟動模板時,本參數生效。
InstanceType 的取值范圍:在售的 ECS 實例規格。 | ecs.c5.xlarge |
WeightedCapacity | integer | 否 | 當您需要伸縮組按照實例規格容量進行伸縮時,在指定 LaunchTemplateOverrides.InstanceType 后,再指定本參數。兩個參數一一對應。 本參數用于指定實例規格的權重,即實例規格的單臺實例在伸縮組中表示的容量大小。 權重越大,滿足期望容量所需的本實例規格的實例數量越少。 由于每個實例規格的 vCPU 個數、內存大小等性能指標會有差異,您可以根據自身需求,給不同的實例規格配置不同的權重。 例如:
為滿足期望容量,伸縮組將為用戶擴容 2 臺 ecs.c5.xlarge 實例。 說明
擴容時伸縮組的容量不得超過最大容量(MaxSize)與實例規格的最大權重之和。
WeightedCapacity 的取值范圍:1~500。 | 4 |
SpotPriceLimit | float | 否 | 本參數用于指定實例啟動模板覆蓋規格(即 說明
僅當 LaunchTemplateId 參數指定了啟動模板時,該參數才生效。
| 0.025 |
MaxInstanceLifetime | integer | 否 | 實例在伸縮組中存活的最大時間。單位為秒。 取值范圍:0 或 默認值:null。 說明
ECI 類型的伸縮組或停機不收費的伸縮組不支持設置該參數。
| null |
AzBalance | boolean | 否 | 伸縮組的容量是否在多個可用區間均衡分布(僅當
默認值:false。 | false |
AllocationStrategy | string | 否 | 容量分配策略,決定了伸縮組如何選擇可用的實例規格類型滿足容量。容量分布策略同時對按量和搶占式容量生效(僅當 MultiAZPolicy 參數取值為 COMPOSABLE 策略時生效)。取值范圍:
默認值:priority。 | priority |
SpotAllocationStrategy | string | 否 | 搶占式容量分布策略。您可以通過該參數單獨指定搶占式容量的分布策略(僅當
默認值:priority。 | lowestPrice |
CustomPolicyARN | string | 否 | 自定義縮容策略 Function 函數 ARN。僅當 RemovalPolicies 配置第一個移除策略未 CustomPolicy 時生效。 | acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name |
DisableDesiredCapacity | boolean | 否 | 伸縮組是否關閉期望實例數功能。取值范圍:
說明
只有伸縮組當前無伸縮活動時,才能將該參數設置為 true(即關閉伸縮組的期望實例數功能),關閉伸縮組的期望實例數功能時伸縮組當前的 DesiredCapacity 屬性也會被清空,但伸縮組中當前的實例數量不發生變化。
| false |
ScalingPolicy | string | 否 | 指定伸縮組的回收模式。取值范圍:
ScalingPolicy 指定伸縮組的回收模式,但實例被移出伸縮組時的具體動作,由 RemoveInstances 的 RemovePolicy 參數決定,更多信息,請參見 RemoveInstances 。 | recycle |
HealthCheckTypes | array | 否 | 伸縮組的健康檢查方式。 說明
使用此參數可以設置多個值,開啟多個健康檢查選項。如果設置了 HealthCheckType 參數,則本參數將被忽略。
| |
string | 否 | 伸縮組的健康檢查方式列表。取值范圍:
默認值:ECS。 | ECS | |
StopInstanceTimeout | integer | 否 | 縮容流程中等待 ECS 實例停機成功的超時時間,單位為秒。 取值范圍:30~240。 說明
| 60 |
CapacityOptions | object | 否 | 容量選項。 | |
OnDemandBaseCapacity | integer | 否 | 已有伸縮組內所需要的按量實例數的最小值,當伸縮組內按量實例個數少于該值時,系統將優先創建按量實例。取值范圍:0~1000。 當 | 30 |
OnDemandPercentageAboveBaseCapacity | integer | 否 | 伸縮組滿足最小按量實例數 當 | 20 |
CompensateWithOnDemand | boolean | 否 | 當
| true |
SpotAutoReplaceOnDemand | boolean | 否 | 當開啟
默認值:false。 | true |
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-12-03 | OpenAPI 入參發生變更 | 查看變更詳情 |
2024-10-16 | OpenAPI 入參發生變更 | 查看變更詳情 |
2024-02-22 | OpenAPI 入參發生變更 | 查看變更詳情 |
2024-02-01 | OpenAPI 入參發生變更 | 查看變更詳情 |
2023-10-18 | OpenAPI 入參發生變更 | 查看變更詳情 |
2022-12-22 | API 內部配置變更,不影響調用 | 查看變更詳情 |