建立或修改伸縮組時,您可以設定適當的執行個體終止策略來控制伸縮組縮容時優先終止哪些ECS執行個體。Auto Scaling結合伸縮組的擴縮容策略和執行個體移出策略自動移出滿足策略規則的ECS執行個體,您無需手動幹預即可實現業務的自動化管理。本文介紹執行個體終止策略的生效方式和結果樣本,有助於您選擇與業務情境匹配的執行個體終止策略。
執行個體終止策略
ECS執行個體終止策略是擴縮容策略和執行個體移出策略的組合,伸縮組移出ECS執行個體時會同時受限於如下兩個策略:
指定執行個體終止策略的具體步驟,請參見配置伸縮組。
若伸縮組存在多個符合執行個體終止策略的ECS執行個體,Auto Scaling會隨機移出其中的一台ECS執行個體。
如果不想移出手動添加的ECS執行個體,請參見執行個體轉為保護狀態。
擴縮容策略
根據可用性區域或者ECS執行個體的成本,加入或者移出合適的ECS執行個體。縮容時,Auto Scaling按策略規則篩選並移出伸縮組內合適的ECS執行個體。具體策略如下:
優先順序策略:先指定的交換器優先順序最高。Auto Scaling優先在優先順序最高的交換器所在可用性區域嘗試擴縮容,如果無法擴縮容,則自動在下一優先順序的交換器所在可用性區域進行擴縮容。
均衡分布策略:在伸縮組關聯多個交換器且交換器分布在兩個以上可用性區域時生效。Auto Scaling擴縮容後,伸縮組內各交換器所在的可用性區域之間ECS執行個體均衡分布。
成本最佳化策略:在伸縮配置中指定了多個可選執行個體規格時生效。擴容時Auto Scaling按vCPU單價從低到高嘗試建立ECS執行個體,縮容時按vCPU單價從高到低嘗試移出ECS執行個體。
說明當伸縮配置設定了搶佔式計費方式的多執行個體規格時,優先建立對應搶佔式計費執行個體,當搶佔式計費執行個體規格由於庫存等原因都無法建立時,系統會自動嘗試以隨用隨付的方式建立ECS執行個體。
自訂群組合策略:使用組合方式自訂容量分布策略。您可使用該策略調整伸縮組內按量執行個體和搶佔式執行個體的比例,均衡可用性區域間的容量以及選擇滿足需求的執行個體規格。
執行個體移出策略
根據時間的先後順序,篩選伸縮組內合格ECS執行個體。執行個體移出策略支援設定兩段策略:
設定一段策略時,Auto Scaling只按照第一段策略篩選。
設定兩段策略時,Auto Scaling先按第一段策略篩選,再從篩選結果中進行第二段篩選,但不支援為這兩段設定相同的選項。
具體策略如下:
最早伸縮配置對應的執行個體:篩選添加時間最早的伸縮配置和啟動模板對應的執行個體。手動添加的執行個體沒有關聯伸縮配置或啟動模板,因此不會首先選出手動添加的執行個體。如果已移出全部關聯的執行個體,仍需要繼續移出執行個體,則隨機移出手動添加的執行個體。
說明最早伸縮配置對應的執行個體中提到的伸縮配置泛指組內執行個體配置資訊來源,包括伸縮配置和啟動模板。
啟動模板的版本號碼低不代表添加時間早,例如在建立伸縮組時選擇執行個體啟動模板lt-foress的版本2,然後修改伸縮組,選擇執行個體啟動模板lt-foress的版本1,則對伸縮組來說,啟動模板lt-foress的版本2是最早的。
最早建立的執行個體:篩選建立時間最早的執行個體。
最新建立的執行個體:篩選建立時間最新的執行個體。
自訂策略:使用者自訂執行個體移出策略,根據Function Compute服務名、版本和函數名,篩選出符合自訂策略的執行個體。
ECS執行個體移出樣本
假設,某伸縮組記憶體在的ECS執行個體如下表所示。以不同執行個體終止策略(擴縮容策略+執行個體移出策略)情境分類,為您展示Auto Scaling在不同策略情境下如何移出一台ECS執行個體。
下表中各ECS執行個體資料僅作為樣本,實際資料請以Auto Scaling控制台為準。
執行個體ID | 可用性區域 | 加入時間 | 伸縮配置 (asc-1的添加時間最早) | vCPU單價(美元) |
i-1 | 杭州可用性區域H | 2021年5月17日 11:05 | asc-1 | 1 |
i-2 | 杭州可用性區域I | 2021年5月18日 11:05 | asc-1 | 2 |
i-3 | 杭州可用性區域I | 2021年5月19日 11:05 | asc-1 | 3 |
i-4 | 杭州可用性區域H | 2021年5月20日 11:05 | asc-2 | 3 |
i-5 | 杭州可用性區域I | 2021年5月21日 11:05 | asc-2 | 3 |
情境一:擴縮容策略(優先順序策略)+執行個體移出策略
Auto Scaling會嚴格按照執行個體移出策略篩選移出的ECS執行個體,優先順序策略不改變該結果。
本樣本中,執行個體移出策略的第一階段移出策略選擇自訂策略時,以自訂策略的篩選結果為杭州可用性區域H和杭州可用性區域I的ECS執行個體為例,且執行個體ID分別為i-1和i-3。下表說明該執行個體終止策略的最終效果。
第一段移出策略 | 第二段移出策略 | 執行個體移出效果 | 移出執行個體的執行個體ID |
最早伸縮配置對應的執行個體 | 最早建立的執行個體 | 先篩選最早伸縮配置對應的ECS執行個體,再從中選擇最早建立的ECS執行個體。 | i-1 |
最新建立的執行個體 | 先篩選最早伸縮配置對應的ECS執行個體,再從中選擇最新建立的ECS執行個體。 | i-3 | |
無策略 | 篩選最早伸縮配置對應的執行個體,再從中隨機播放一台ECS執行個體。 |
| |
最早建立的執行個體 | - | 移出最早建立的ECS執行個體。 | i-1 |
最新建立的執行個體 | - | 移出最新建立的ECS執行個體。 | i-5 |
自訂策略 | 最早伸縮配置對應的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最早伸縮配置對應的ECS執行個體。 | i-1 |
最早建立的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最早建立的ECS執行個體。 | i-1 | |
最新建立的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最新建立的ECS執行個體。 | i-3 | |
無策略 | 篩選符合自訂策略規則的ECS執行個體,再從中隨機播放一台ECS執行個體。 |
|
情境二:擴縮容策略(均衡分布策略)+執行個體移出策略
Auto Scaling會按照均衡分布策略篩選ECS執行個體的可用性區域,再按照執行個體移出策略篩選並移出ECS執行個體,使移出ECS執行個體後伸縮組各可用性區域的ECS執行個體數量大致相當。本樣本中:
由於位於杭州可用性區域I的ECS執行個體比位於杭州可用性區域H的ECS執行個體多一台,所以,均衡發布策略的篩選結果為杭州可用性區域I的ECS執行個體,執行個體ID分別為i-2、i-3和i-5。
如果執行個體移出策略的第一階段移出策略選擇自訂策略時,以自訂策略的篩選結果為杭州可用性區域H和杭州可用性區域I的ECS執行個體為例,且執行個體ID分別為i-1和i-3。
下表結合執行個體移出策略說明該執行個體終止策略的最終效果。
第一段移出策略 | 第二段移出策略 | 說明 | 移出執行個體的執行個體ID |
最早伸縮配置對應的執行個體 | 最早建立的執行個體 | 先篩選最早伸縮配置對應的執行個體,再從中選擇最早建立的執行個體。 | i-2 |
最新建立的執行個體 | 先篩選最早伸縮配置對應的執行個體,再從中選擇最新建立的執行個體。 | i-3 | |
無策略 | 篩選最早伸縮配置對應的執行個體,再從中隨機播放一台ECS執行個體。 |
| |
最早建立的執行個體 | - | 移出最早建立的ECS執行個體。 | i-2 |
最新建立的執行個體 | - | 移出最新建立的ECS執行個體。 | i-5 |
自訂策略 | 最早伸縮配置對應的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最早伸縮配置對應的ECS執行個體。 | i-3 |
最早建立的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最早建立的ECS執行個體。 | i-3 | |
最新建立的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最新建立的ECS執行個體。 | i-3 | |
無策略 | 篩選符合自訂策略規則的ECS執行個體,再從中隨機播放一台ECS執行個體。 | i-3 |
情境三:擴縮容策略(成本最佳化策略)+執行個體移出策略
Auto Scaling會按照成本最佳化策略篩選並移出vCPU單價最高的ECS執行個體。如果伸縮組存在多個vCPU單價最高的執行個體時,Auto Scaling再按照執行個體移出策略篩選並移出ECS執行個體。本樣本中:
由於vCPU單價最高為3美元,所以,成本最佳化策略的篩選結果是執行個體ID為i-3、i-4和i-5的ECS執行個體。
如果執行個體移出策略的第一階段移出策略選擇自訂策略時,以自訂策略的篩選結果為杭州可用性區域H和杭州可用性區域I的ECS執行個體為例,且執行個體ID分別為i-1和i-3。
下表結合執行個體移出策略說明該組合策略的最終效果。
第一段移出策略 | 第二段移出策略 | 說明 | 移出執行個體的執行個體ID |
最早伸縮配置對應的執行個體 | 最早建立的執行個體 | 先篩選最早伸縮配置對應的執行個體,再從中選擇最早建立的執行個體 | i-3 |
最新建立的執行個體 | 先篩選最早伸縮配置對應的執行個體,再從中選擇最新建立的執行個體 | i-3 | |
無策略 | 篩選最早伸縮配置對應的執行個體,再從中隨機播放一台ECS執行個體 | i-3 | |
最早建立的執行個體 | - | 移出最早建立的ECS執行個體 | i-3 |
最新建立的執行個體 | - | 移出最新建立的ECS執行個體 | i-5 |
自訂策略 | 最早伸縮配置對應的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最早伸縮配置對應的ECS執行個體。 | i-3 |
最早建立的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最早建立的ECS執行個體。 | i-3 | |
最新建立的執行個體 | 先篩選符合自訂策略規則的ECS執行個體,再從中選擇最新建立的ECS執行個體。 | i-3 | |
無策略 | 篩選符合自訂策略規則的ECS執行個體。 | i-3 |
相關文檔
基於多執行個體規格和多可用性區域的成本最佳化策略,可以提高Auto Scaling的成功率,同時降低成本。具體操作,請參見設定擴縮容策略和多執行個體規格降低成本。
Auto Scaling觸發縮容活動時,系統可以根據自身設定的自訂執行個體移出策略選擇縮容某些特定執行個體。如需瞭解如何設定伸縮組的自訂策略,請參見通過函數自訂ECS執行個體縮容策略。