全部產品
Search
文件中心

Auto Scaling:ModifyScalingGroup

更新時間:Sep 10, 2026

如果您需要根據業務變動需求與策略自動增加或減少指定類型的執行個體數量,則可以透過設定伸縮群組來自動調整您的業務運算能力(即執行個體數量)。如果目前伸縮群組屬性不再滿足業務需求,則您可以呼叫 API ModifyScalingGroup 修改伸縮群組屬性(例如最大執行個體數、最小執行個體數或期望執行個體數等屬性),避免重新建立伸縮群組並重新設定相關屬性,節省了時間和資源成本。

介面說明

  • 不支援修改以下參數:

    • RegionId。

    • LoadBalancerId。

    說明

    如果需要修改負載平衡執行個體,請使用 AttachLoadBalancers 和 DetachLoadBalancers 介面。

    • DBInstanceId。

    說明

    如果需要修改 RDS 執行個體,請使用 AttachDBInstances 和 DetachDBInstances 介面。

  • 當伸縮群組的狀態為 ActiveInactive 時才能呼叫該介面。

  • 啟用新的伸縮設定不會影響透過早前伸縮設定建立並正在執行的 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 執行個體的伸縮群組策略。取值範圍:

  • OldestInstance:移出最早加入伸縮群組的 ECS 執行個體。

  • NewestInstance:移出最新加入伸縮群組的 ECS 執行個體。

  • OldestScalingConfiguration:移出最早伸縮設定建立的 ECS 執行個體。

string

指定移出 ECS 執行個體的伸縮群組策略。取值範圍:

  • OldestInstance:移出最早加入伸縮群組的 ECS 執行個體。

  • NewestInstance:移出最新加入伸縮群組的 ECS 執行個體。

  • OldestScalingConfiguration:移出最早伸縮設定建立的 ECS 執行個體。

NewestInstance

ActiveScalingConfigurationId

string

伸縮群組內生效的伸縮設定的 ID。

asc-bp17pelvl720x5ub****

HealthCheckType

string

伸縮群組的健康檢查方式。取值範圍:

  • NONE:不做健康檢查。

  • ECS:對伸縮群組內的執行個體做健康檢查(ECS 類型和 ECI 類型的伸縮群組均使用本取值開啟執行個體健康檢查)。

  • LOAD_BALANCER: 根據負載平衡(暫不支援 CLB 負載平衡類型)健康檢查結果判斷執行個體健康狀態。 預設值:ECS。

說明

如果需要同時開啟執行個體健康檢查和負載平衡健康檢查,請使用 HealthCheckTypes 參數。

ECS

LaunchTemplateId

string

執行個體啟動範本 ID,用於指定伸縮群組從執行個體啟動範本取得啟動設定資訊。

lt-m5e3ofjr1zn1aw7****

LaunchTemplateVersion

string

執行個體啟動範本的版本。取值範圍:

  • 固定的範本版本號。

  • Default:始終使用範本預設版本。

  • Latest:始終使用範本最新版本。

Default

OnDemandBaseCapacity

integer

伸縮群組所需要隨收隨付執行個體個數的最小值,取值範圍:0~1000。當隨收隨付執行個體個數少於該值時,將優先建立隨收隨付執行個體。

MultiAZPolicy 參數取值為 COMPOSABLE 策略時,預設值為 0。

30

OnDemandPercentageAboveBaseCapacity

integer

伸縮群組滿足最小隨收隨付執行個體數(OnDemandBaseCapacity)要求後,超出的執行個體中隨收隨付執行個體應佔的比例,取值範圍:0~100。

MultiAZPolicy 參數取值為 COMPOSABLE 策略時,預設值為 100。

20

SpotInstanceRemedy

boolean

是否開啟補齊搶佔式執行個體。開啟後,當收到搶佔式執行個體將被回收的系統訊息時,伸縮群組將嘗試建立新的執行個體,替換掉將被回收的搶佔式執行個體。

true

CompensateWithOnDemand

boolean

CreateScalingGroup 介面的 MultiAZPolicy 取值為 COST_OPTIMIZED 時,如果因價格、庫存等原因無法建立足夠的搶佔式執行個體,是否允許自動嘗試建立隨收隨付執行個體滿足 ECS 執行個體數量要求。取值範圍:

  • true:允許。

  • false:不允許。

true

SpotInstancePools

integer

指定可用執行個體規格的個數,伸縮群組將按成本最低的多個規格均衡建立搶佔式執行個體。取值範圍:0~10。

MultiAZPolicy 參數取值為 COMPOSABLE 策略時,預設值為 2。

5

DesiredCapacity

integer

伸縮群組內 ECS 執行個體或 ECI 執行個體的期望數量,伸縮群組會自動將 ECS 執行個體或 ECI 執行個體數量維持在期望執行個體數。取值範圍:MaxSize≥期望執行個體數量≥MinSize。

說明

如果期望執行個體數功能關閉後又重新開啟,則您需要重新設定 DesiredCapacity 值。

5

GroupDeletionProtection

boolean

是否開啟伸縮群組刪除保護。取值範圍:

  • true:開啟伸縮群組刪除保護,此時不能刪除該伸縮群組。

  • false:關閉伸縮群組刪除保護。

true

MultiAZPolicy

string

多可用區伸縮群組 ECS 執行個體擴縮容策略。取值範圍:

  • PRIORITY:根據虛擬交換器(VSwitchIds.N)的優先順序進行擴縮容。彈性伸縮優先在優先順序最高的交換器所在可用區嘗試擴縮容,如果無法擴縮容,則自動在下一優先順序的交換器所在可用區進行擴縮容。

  • COST_OPTIMIZED:擴容時彈性伸縮按 vCPU 單價從低到高嘗試建立 ECS 執行個體,縮容時按 vCPU 單價從高到低嘗試移出 ECS 執行個體。當伸縮設定設定了搶佔式計費方式的多執行個體規格時,優先建立對應搶佔式執行個體。您可以繼續透過 CompensateWithOnDemand 參數,指定彈性伸縮在無法建立搶佔式執行個體時,是否自動嘗試建立隨收隨付執行個體。

說明

COST_OPTIMIZED 僅在伸縮設定設定了多執行個體規格或者選用了搶佔式執行個體的情況下生效。

  • BALANCE:在伸縮群組指定的多可用區之間均勻分配 ECS 執行個體。如果由於庫存不足等原因可用區之間變得不平衡,您可以透過 API RebalanceInstance 平衡資源。

  • COMPOSABLE:是一種組合策略,您可以根據需要自主組合上述多可用區伸縮群組 ECS 執行個體的擴縮容策略。

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 個數、記憶體大小等效能指標會有差異,您可以根據自身需求,給不同的執行個體規格設定不同的權重。

例如:

  • 目前容量:0。

  • 期望容量:6。

  • ecs.c5.xlarge 規格容量:4。

為滿足期望容量,伸縮群組將為使用者擴容 2 台 ecs.c5.xlarge 執行個體。

說明

擴容時伸縮群組的容量不得超過最大容量(MaxSize)與執行個體規格的最大權重之和。

WeightedCapacity 的取值範圍:1~500。

4

SpotPriceLimit

number

本參數用於指定執行個體啟動範本覆蓋規格(即 LaunchTemplateOverride.N.InstanceType)的競價價格上限。您可以指定 N 個該參數,擴充啟動範本支援 N 個執行個體規格。N 的取值範圍:1~20。

說明

僅當 LaunchTemplateId 參數指定了啟動範本時,該參數才生效。

0.025

MaxInstanceLifetime

integer

執行個體在伸縮群組中存活的最大時間。單位為秒。

取值範圍:0 或 [86400, Integer.maxValue]。其中,0 表示清空 MaxInstanceLifetime 設定過的值(即未設定 MaxInstanceLifetime 值)。

預設值:null。

說明

ECI 類型的伸縮群組或停機不收費的伸縮群組不支援設定該參數。

86400

AzBalance

boolean

伸縮群組的容量是否在各個可用區間均衡分佈(僅當 MultiAZPolicy 參數取值為 COMPOSABLE 策略時生效),取值範圍:

  • true:伸縮群組的容量在各個可用區間均衡分佈。

  • false:伸縮群組的容量不在各個可用區間均衡分佈。

預設值:false。

false

AllocationStrategy

string

容量分配策略,決定了伸縮群組如何選擇可用的執行個體規格類型滿足容量。容量分佈策略同時對隨收隨付和搶佔式容量生效(僅當 MultiAZPolicy 參數取值為 COMPOSABLE 策略時生效)。取值範圍:

  • priority:按照設定的執行個體規格的順序建立執行個體。

  • lowestPrice:按照執行個體規格單位 vCpu 價格從低到高建立執行個體。

預設值:priority。

priority

SpotAllocationStrategy

string

搶佔式容量分佈策略。您可以透過該參數單獨指定搶佔式容量的分佈策略(僅當 MultiAZPolicy 參數取值為 COMPOSABLE 策略時生效)。取值範圍:

  • priority:按照設定的執行個體規格的順序建立執行個體。

  • lowestPrice:按照執行個體規格單位 vCpu 價格從低到高建立執行個體。

預設值: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

伸縮群組是否關閉期望執行個體數功能。取值範圍:

  • false:啟用期望執行個體數功能。

  • true:關閉期望執行個體數功能。

說明

只有伸縮群組目前無伸縮活動時,才能將該參數設定為 true(即關閉伸縮群組的期望執行個體數功能),關閉伸縮群組的期望執行個體數功能時伸縮群組目前的 DesiredCapacity 屬性也會被清空,但伸縮群組中目前的執行個體數量不發生變化。

false

ScalingPolicy

string

指定伸縮群組的回收模式。取值範圍:

  • recycle:伸縮群組的回收模式為停機回收模式。

  • release:伸縮群組的回收模式為釋放模式。

  • forcerelease:伸縮群組的回收模式為強制釋放模式。

    說明

    選擇 forcerelease 後,在彈性收縮活動中系統會強制釋放 執行中(Running)的執行個體。強制釋放執行個體相當於斷電操作,會導致該執行個體記憶體以及儲存中的臨時資料被擦除,資料無法復原,請您謹慎選擇。

  • forcerecycle:伸縮群組的回收模式為強制停機回收模式。

    說明

    選擇 forcerecycle 後,在彈性收縮活動中系統會強制關機 執行中(Running)的執行個體。強制關機相當於斷電操作,會導致該執行個體記憶體以及儲存中的臨時資料被擦除,資料無法復原,請您謹慎選擇。

ScalingPolicy 指定伸縮群組的回收模式,但執行個體被移出伸縮群組時的具體動作,由 RemoveInstances 的 RemovePolicy 參數決定,更多資訊,請參見 RemoveInstances

recycle

HealthCheckTypes

array

伸縮群組的健康檢查方式。

說明

使用此參數可以設定多個值,開啟多個健康檢查選項。如果設定了 HealthCheckType 參數,則本參數將被忽略。

string

伸縮群組的健康檢查方式清單。取值範圍:

  • NONE:不做健康檢查。

  • ECS:對伸縮群組內的執行個體做健康檢查(ECS 類型和 ECI 類型的伸縮群組均使用本取值開啟執行個體健康檢查)。

  • LOAD_BALANCER: 根據負載平衡(暫不支援負載平衡 CLB 類型)健康檢查結果判斷執行個體健康狀態。

預設值:ECS。

ECS

StopInstanceTimeout

integer

縮容流程中等待 ECS 執行個體停機成功的逾時時間,單位為秒。 取值範圍:30~240。

說明
  • 該參數僅在 ScalingPolicy = release 模式下的縮容流程裡生效。

  • 如果設定了該參數,系統會最長等待 StopInstanceTimeout 時間將執行個體停機成功,逾時後無論執行個體是否成功停機都會繼續縮容。

  • 如果沒有設定該參數,系統會長時間等待執行個體停機成功,只有執行個體停機成功後才繼續縮容,停機失敗時,縮容流程會回滾,縮容失敗。

  • 該參數設定為 0 時,表示取消該參數設定。

60

CapacityOptions

object

容量選項。

OnDemandBaseCapacity

integer

已有伸縮群組內所需要的隨收隨付執行個體數的最小值,當伸縮群組內隨收隨付執行個體個數少於該值時,系統將優先建立隨收隨付執行個體。取值範圍:0~1000。

MultiAZPolicy 參數取值為 COMPOSABLE 策略時,預設值為 0。

30

OnDemandPercentageAboveBaseCapacity

integer

伸縮群組滿足最小隨收隨付執行個體數 OnDemandBaseCapacity 要求後,超出的執行個體中隨收隨付執行個體應佔的比例。取值範圍:0~100。

MultiAZPolicy 參數取值為 COMPOSABLE 策略時,預設值為 100。

20

CompensateWithOnDemand

boolean

CreateScalingGroup 介面的 MultiAZPolicy 取值為 COST_OPTIMIZED 時,如果因價格、庫存等原因無法建立足夠的搶佔式執行個體,是否允許自動嘗試建立隨收隨付執行個體滿足 ECS 執行個體數量要求。取值範圍:

  • true:允許。

  • false:不允許。

true

SpotAutoReplaceOnDemand

boolean

當開啟 CompensateWithOnDemand 後,如果隨收隨付比例超過 OnDemandPercentageAboveBaseCapacity 比例時,會嘗試使用 spot 替換隨收隨付容量。常見場景 CompensateWithOnDemand 因 Spot 庫存或價格原因導致 Spot 降級隨收隨付執行個體,為避免隨收隨付執行個體長時間存在,嘗試使用 Spot 替換多餘的隨收隨付容量。取值範圍:

  • true:允許。

  • false:不允許。

預設值:false。

true

PriceComparisonMode

string

伸縮群組成本最佳化策略的比價模式。取值範圍:

  • PricePerUnit:使用每單位容量價格比價。

    執行個體在伸縮群組中容量大小等於為執行個體規格設定的權重,預設為 1,即一台 ECS 所佔容量為 1。

  • PricePerVCpu:使用每單位 vCpu 價格進行比價。

預設值:PricePerUnit。

PricePerUnit

BalanceMode

string

可用區均衡模式,僅當開啟可用區均衡模式時生效。取值範圍:

  • BalancedBestEffort:當某可用區資源建立失敗時,會降級至其他可用區,保障資源的盡力交付。

  • BalancedOnly:當某可用區資源建立失敗時,不會降級至其他可用區,擴容活動部分成功,避免資源在不同可用區過度不均衡。

預設值:BalancedBestEffort。

BalancedBestEffort

AutoRebalance

boolean

是否開啟伸縮群組自動均衡,僅當可用區均衡伸縮群組開啟了 BalancedOnly 才生效。取值範圍:

  • false:不開啟伸縮群組自動均衡。

  • true:開啟伸縮群組自動均衡時,伸縮群組會自動偵測可用區間容量,當可用區容量不均衡時,會主動進行可用區擴縮,進行可用區容量再均衡。

預設值: false。

false

返回參數

名稱

類型

描述

樣本值

object

RequestId

string

請求 ID。

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

樣本

正常返回樣本

JSON格式

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

錯誤碼

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

變更歷史

更多資訊,參考變更詳情