全部產品
Search
文件中心

Auto Scaling:擴縮容策略

更新時間:Nov 14, 2025

伸縮組通過自動調整資源來應對應用的負載變化,確保服務的穩定性和成本效益。當觸發擴容或縮容操作時,需要選擇“合適”的執行個體加入或移出伸縮組,判斷“合適”的執行個體的過程主要由預設的擴縮容策略完成。Auto Scaling為您預設了幾種擴縮容策略,您可以參考本文完成擴縮容策略的配置。

擴縮容策略說明

伸縮組預設會根據您配置的交換器的順序(優先順序策略),進行伸縮組的伸縮活動,您可以通過修改擴縮容策略來實現其他策略,伸縮組為您預設了幾種伸縮策略,具體策略說明如下。

重要

伸縮群組類型ECS,且網路類型專用網路時,支援修改該配置,當伸縮群組類型ECI時,預設擴縮容策略優先順序策略

  • 優先順序策略(預設策略)。

    根據您定義的虛擬交換器擴縮容。當優先順序較高的虛擬交換器所在可用性區域無法建立執行個體時,自動在下一優先順序的虛擬交換器的可用性區域建立執行個體。

  • 均衡分布策略

    如果您期望在擴縮容後,保持伸縮組在可用性區域之間分布均衡從而達成多可用性區域容災的效果,您可以採用本策略。如果由於庫存不足等原因導致可用性區域之間ECS執行個體的數量不均衡,您可以執行再均衡分布操作來平衡ECS執行個體的分布情況。具體操作,請參見ECS執行個體再均衡分布

  • 成本最佳化策略

    當成本在您的決策中優先順序比較高,您可以使用成本最佳化策略。使用該策略,在伸縮活動發生時,會按照執行個體的vCPU單價從低到高進行嘗試建立,當伸縮配置設定了搶佔式計費方式的多執行個體規格時,優先建立對應搶佔式計費執行個體,當搶佔式計費執行個體規格由於庫存等原因都無法建立時,自動嘗試以隨用隨付的方式建立,在縮容活動發生時,則會優先移出vCPU單價最高的執行個體。

  • 自訂群組合策略

    使用組合方式自訂容量分布策略。您可使用該策略調整伸縮組內按量執行個體和搶佔式執行個體的比例,可用性區域間的容量均衡以及執行個體規格的選擇。

如何配置,請參見配置擴縮容策略

配置擴縮容策略

修改已有伸縮組的擴縮容策略

如果您需要修改已有伸縮組的擴縮容策略,請參考以下步驟完成配置。

  1. 登入Auto Scaling控制台

  2. 在左側導覽列中,單擊伸縮組管理
  3. 在頂部功能表列處,選擇地區。
  4. 伸縮組管理頁中,找到您需要修改擴縮容策略的伸縮組,在右側操作下,單擊修改按鈕彈出修改伸縮組視窗。

  5. 擴縮容策略設定為您需要的策略。

    如果您選擇了均衡分布策略成本最佳化策略自訂群組合策略,需要進一步完成其子配置,具體子配置項說明,請參見子配置項說明

  6. 單擊確認按鈕完成配置操作。

建立伸縮組時配置擴縮容策略

您可以在通過表單建立伸縮組時,完成擴縮容策略的配置,如下圖所示。

image

如果您選擇了成本最佳化策略自訂群組合策略,需要進一步完成其子配置,具體子配置項說明,請參見子配置項說明

子配置項說明

如果您設定了均衡分布策略成本最佳化策略自訂群組合策略,您可參考下表完成進一步配置。

均衡分布策略

配置項

說明

均衡模式

  • 儘力交付模式:預設交付模式,當某可用性區域因資源限制建立失敗時,會降級至其他可用性區域。

  • 僅均衡:當某可用性區域因資源限制建立失敗時,不會降級至其他可用性區域。

開啟自動均衡

開啟後,伸縮組會自動檢測可用性區域容量,當可用性區域容量不均衡時,會主動進行可用性區域間擴縮,實現可用性區域容量再均衡。

成本最佳化策略

配置項

說明

組內最小按量執行個體數(台)

伸縮組所需隨用隨付ECS執行個體的最小台數,預設為0台。如果伸縮組內的隨用隨付ECS執行個體的數量小於該值,將優先建立隨用隨付執行個體。

按量執行個體所佔比例(%)

自動建立ECS執行個體時隨用隨付執行個體所佔的比例,預設為70%。計算該值時,不包括組內最小按量執行個體數對應的台數。

最低價的多個執行個體規格(個)

價格最低的執行個體規格的個數,預設為1個。在伸縮配置中指定了多個可選執行個體規格時生效。建立搶佔式執行個體時,伸縮組會在價格最低的幾個執行個體規格之間均衡建立ECS執行個體。

開啟搶佔式執行個體補償

開啟搶佔式執行個體補償後,在搶佔式執行個體被回收前5分鐘,伸縮組會主動建立新的搶佔式執行個體,並替換掉將被回收的搶佔式執行個體。

使用按量執行個體補充搶佔式容量

預設為開啟狀態。如果因價格、庫存等原因無法滿足所需要的搶佔式執行個體容量時,開啟該功能,伸縮組會嘗試建立隨用隨付執行個體來滿足當前搶佔式執行個體的容量。

開啟搶佔式執行個體自動替換按量

開啟使用按量執行個體補充搶佔式容量後,伸縮組中按量執行個體比例可能會超過按量執行個體所佔比例(%),您可以開啟該選項,開啟後伸縮組會嘗試使用搶佔式執行個體替換按量執行個體。

自訂群組合策略

配置項

說明

組內最小按量執行個體數(台)

伸縮組所需隨用隨付ECS執行個體的最小台數,預設為0台。如果伸縮組內的隨用隨付ECS執行個體的數量小於該值,將優先建立隨用隨付執行個體。

按量執行個體所佔比例(%)

自動建立ECS執行個體時隨用隨付執行個體所佔的比例,預設為70%。計算該值時,不包括組內最小按量執行個體數對應的台數。

開啟可用性區域容量均衡

在伸縮組指定的多可用性區域(即指定多個專用網路交換器)之間均勻分配ECS執行個體。

說明

您可以通過執行再均衡分布操作來平衡ECS執行個體在可用性區域的分布,具體操作,請參見ECS執行個體再均衡分布

容量分布策略

容量分布策略決定伸縮組如何選擇可用的執行個體規格滿足容量。

  • 執行個體規格順序:按照配置的執行個體規格的順序依次優先建立執行個體。

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

單獨指定搶佔式容量分布策略

開啟後可以單獨為搶佔式執行個體指定容量分布策略。

搶佔式容量分布策略

容量分布策略

最低價的多個執行個體規格(個)

指定最低價的多個執行個體規格,當建立搶佔式執行個體時,將在指定的執行個體規格中進行均衡分布。

開啟搶佔式執行個體補償

開啟後在搶佔式執行個體被回收前5分鐘左右,將主動替換掉當前搶佔式執行個體。

使用按量執行個體補充搶佔式容量

預設為開啟狀態。如果因價格、庫存等原因無法滿足所需要的搶佔式執行個體容量時,開啟該功能,伸縮組會嘗試建立隨用隨付執行個體來滿足當前搶佔式執行個體的容量。

開啟搶佔式執行個體自動替換按量

開啟使用按量執行個體補充搶佔式容量後,伸縮組中按量執行個體比例可能會超過按量執行個體所佔比例(%),您可以開啟該選項,開啟後伸縮組會嘗試使用搶佔式執行個體替換按量執行個體。

通過API修改伸縮組擴縮容策略

您可以通過API調用的方式修改伸縮組的擴縮容策略,本文以通過調用ModifyScalingGroup修改伸縮組擴縮容策略為例。不同策略需要關注不同的配置項,不同擴縮容策略需設定配置項如下:

設定優先權策略

根據您定義的虛擬交換器擴縮容。當優先順序較高的虛擬交換器所在可用性區域無法建立執行個體時,自動在下一優先順序的虛擬交換器的可用性區域建立執行個體。

參數名稱

類型

說明

如何設定

ScalingGroupId

string

伸縮組ID。(必選)

設定為待修改伸縮組的ID。

MultiAZPolicy

string

擴縮容策略。(必選)

實現優先順序策略需設定為PRIORITY

設定為均衡分布策略

重要

伸縮組需配置多可用性區域交換器才可以在多個可用性區域建立執行個體。

參數名稱

類型

說明

如何設定

ScalingGroupId

string

伸縮組ID。(必選)

設定為待修改伸縮組的ID。

MultiAZPolicy

string

擴縮容策略。(必選)

實現均衡分布策略需設定為BALANCE

BalanceMode

string

均衡模式。(可選)

取值範圍:

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

  • BalancedOnly:當某可用性區域因資源限制建立失敗時,不會降級至其他可用性區域。

預設值:BalancedBestEffort

AutoRebalance

boolean

開啟自動均衡(可選)

開啟後,伸縮組會自動檢測可用性區域容量,當可用性區域容量不均衡時,會主動進行可用性區域間擴縮,實現可用性區域容量再均衡。

僅當BalanceMode=BalancedOnly才生效。

取值範圍:

  • false:不開啟。

  • true:開啟。

預設值:false。

如果由於庫存不足等原因導致,執行個體在可用性區域之間變得不平衡,可以手動調用相關API,重新平衡執行個體分布,請參見RebalanceInstances - 重新平衡ECS執行個體分布

設定為成本最佳化策略

按照執行個體的vCPU單價從低到高進行嘗試建立,伸縮配置設定了搶佔式執行個體後,優先建立搶佔式執行個體,無法建立搶佔式執行個體時嘗試建立按量執行個體。

重要

伸縮配置設定多執行個體規格開啟搶佔式執行個體後,成本最佳化策略才可生效。

參數名稱

類型

說明

如何設定

ScalingGroupId

string

伸縮組ID。(必選)

設定為待修改伸縮組的ID。

MultiAZPolicy

string

擴縮容策略。(必選)

實現成本最佳化策略需設定為COST_OPTIMIZED

OnDemandBaseCapacity

integer

組內最小按量執行個體數(台)。(可選)

當伸縮組內按量執行個體個數少於該值時,系統將優先建立按量執行個體。

根據實際需求設定。

取值範圍:0~1000。

預設值:0。

OnDemandPercentageAboveBaseCapacity

integer

按量執行個體所佔比例(%)。(可選)

滿足最小按量執行個體數OnDemandBaseCapacity的要求後,超出的執行個體中按量執行個體應占的比例。

根據實際需求設定。

取值範圍:0~100。

預設值:0。

SpotInstancePools

integer

最低價的多個執行個體規格(個)。

價格最低的執行個體規格的個數。在伸縮配置中指定了多個可選執行個體規格時生效。
建立搶佔式執行個體時,伸縮組會在價格最低的幾個執行個體規格之間均衡建立ECS執行個體。

根據實際需求設定。

取值範圍:0~10。

預設值:2。

SpotInstanceRemedy

boolean

是否開啟搶佔式執行個體補償。

開啟搶佔式執行個體補償後,在搶佔式執行個體被回收前5分鐘,伸縮組會主動建立新的搶佔式執行個體,並替換掉將被回收的搶佔式執行個體。

根據實際需求設定。

取值範圍:

  • true:開啟。

  • false:關閉。

CompensateWithOnDemand

boolean

是否開啟使用按量執行個體補充搶佔式容量

如果因價格、庫存等原因無法建立足夠的搶佔式執行個體,是否允許自動嘗試建立按量執行個體滿足 ECS 執行個體數量要求。

根據實際需求設定。

取值範圍:

  • true:開啟。

  • false:關閉。

CapacityOptions.SpotAutoReplaceOnDemand

boolean

是否開啟搶佔式執行個體自動替換按量。

當開啟CompensateWithOnDemand後,如果按量比例超過OnDemandPercentageAboveBaseCapacity比例時,會嘗試使用spot替換按量容量。

根據實際需求設定。

取值範圍:

  • true:開啟。

  • false:關閉。

設定為自訂群組合策略

可使用該策略調整伸縮組內按量執行個體和搶佔式執行個體的比例,可用性區域間的容量均衡以及執行個體規格的選擇。

參數名稱

類型

說明

如何設定

ScalingGroupId

string

伸縮組ID(必選)

設定為待修改伸縮組的ID。

MultiAZPolicy

string

擴縮容策略(必選)

實現自訂群組合策略需設定為COMPOSABLE

OnDemandBaseCapacity

integer

組內最小按量執行個體數(台)。(可選)

當伸縮組內按量執行個體個數少於該值時,系統將優先建立按量執行個體。

根據實際需求設定。

取值範圍:0~1000。

預設值:0。

OnDemandPercentageAboveBaseCapacity

integer

按量執行個體所佔比例(%)。(可選)

滿足最小按量執行個體數OnDemandBaseCapacity的要求後,超出的執行個體中按量執行個體應占的比例。

根據實際需求設定。

取值範圍:0~100。

預設值:100。

AzBalance

boolean

是否開啟可用性區域容量均衡。(可選)

在伸縮組指定的多可用性區域(即指定多個專用網路交換器)之間均勻分配ECS執行個體。如果由於庫存不足等原因可用性區域之間變得不平衡,可以調用相關API,重新平衡,請參見RebalanceInstances - 重新平衡ECS執行個體分布

根據實際需求設定。

取值範圍:

  • true:開啟。

  • false:關閉。

AllocationStrategy

string

容量分布策略。(可選)

容量分布策略決定伸縮組如何選擇可用的執行個體規格滿足容量。

根據實際需求設定。

取值範圍:

  • priority(預設值):按照配置的執行個體規格的順序依次優先建立執行個體。

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

SpotAllocationStrategy

string

單獨指定搶佔式容量分布策略。(可選)

使用該選項可以單獨制定搶佔式容量分布策略。

根據實際需求設定。

取值範圍:

  • priority:按照配置的執行個體規格的順序依次優先建立執行個體。

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

SpotInstancePools

integer

最低價的多個執行個體規格(個)。

重要

當參數AllocationStrategySpotAllocationStrategy值為lowestPrice時需要設定該欄位。

價格最低的執行個體規格的個數。在伸縮配置中指定了多個可選執行個體規格時生效。
建立搶佔式執行個體時,伸縮組會在價格最低的幾個執行個體規格之間均衡建立ECS執行個體。

根據實際需求設定。

取值範圍:0~10。

預設值:2。

SpotInstanceRemedy

boolean

是否開啟搶佔式執行個體補償

重要

當參數AllocationStrategySpotAllocationStrategy值為lowestPrice時需要設定該欄位。

開啟搶佔式執行個體補償後,在搶佔式執行個體被回收前5分鐘,伸縮組會主動建立新的搶佔式執行個體,並替換掉將被回收的搶佔式執行個體。

根據實際需求設定。

取值範圍:

  • true:開啟。

  • false:關閉。

CompensateWithOnDemand

boolean

是否開啟使用按量執行個體補充搶佔式容量

重要

當參數AllocationStrategySpotAllocationStrategy值為lowestPrice時需要設定該欄位。

如果因價格、庫存等原因無法建立足夠的搶佔式執行個體,是否允許自動嘗試建立按量執行個體滿足 ECS 執行個體數量要求。

根據實際需求設定。

取值範圍:

  • true:開啟。

  • false:關閉。

CapacityOptions.SpotAutoReplaceOnDemand

boolean

是否開啟搶佔式執行個體自動替換按量。

當開啟CompensateWithOnDemand後,如果按量比例超過OnDemandPercentageAboveBaseCapacity比例時,會嘗試使用spot替換按量容量。

根據實際需求設定。

取值範圍:

  • true:開啟。

  • false:關閉。