使用期望實例數功能,彈性伸縮服務可以自動調整伸縮組內的實例數量為期望的實例數量,同時能夠靈活地執行并行伸縮活動,無需人工干預。本文主要介紹期望實例數的相關信息、使用限制、實例數變化規律以及相關示例等。
期望實例數介紹
期望實例數功能可以確保伸縮組內的實例數量能夠自動維持在期望設定的實例數。如果已為伸縮組設置了期望實例數,當伸縮組當前組內實例數不等于期望實例數時,彈性伸縮服務會自動進行擴縮容動作,確保伸縮組內實例數量始終等于設置好的期望實例數,不需要人工進行干預。
功能優勢
相比未設置期望實例數的伸縮組,設置期望實例數功能后,伸縮組利用率提升,伸縮活動的執行也更自動化,即可以有效解決如下問題。
關于設置期望實例數伸縮組與未設置期望實例數伸縮組的區別,更多信息,請參見與未設置期望實例數伸縮組的區別。
未設置期望實例數的伸縮組,當存在執行中的伸縮活動時,不能執行新的伸縮活動,伸縮組利用率低。
例如,如果伸縮組進行擴縮容活動時,健康檢查觸發的伸縮活動就無法執行。
未設置期望實例數的伸縮組,當伸縮活動執行失敗時,需要手動重試。
開啟或關閉期望實例數功能
您可以通過以下途徑開啟或關閉期望實例數功能:
新建伸縮組時或者修改已創建伸縮組時,您都可以設置組內期望實例數參數值即可自動開啟期望實例數功能。具體操作,請參見配置伸縮組。
說明伸縮組設置(開啟)期望實例數功能后,您可以根據實際需要修改伸縮組當前的期望實例數。
已設置(開啟)期望實例數的伸縮組支持通過API方式來關閉期望實例數功能,更多信息,請參見ModifyScalingGroup - 修改一個伸縮組。
基本概念
使用期望實例數功能前,請您了解以下概念:
概念 | 說明 |
穩態實例 | 伸縮組中處于服務中、保護中和備用中狀態的實例。 |
并行伸縮活動 | 存在執行中的并行伸縮活動時,可以執行其他并行伸縮活動。包括通過以下方式觸發的伸縮活動:
|
非并行伸縮活動 | 存在執行中的非并行伸縮活動時,不能執行其他伸縮活動。并行伸縮活動以外的伸縮活動均屬于非并行伸縮活動。包括但不限于通過以下方式觸發的伸縮活動:
|
使用限制
已設置期望實例數的伸縮組不支持同時執行并行伸縮活動和非并行伸縮活動。
期望實例數必須小于或等于伸縮組內最大實例數,且必須大于或等于伸縮組內最小實例數。
期望實例數變化規則
除手動設定期望實例數外,執行伸縮活動也可能導致期望實例數變化,具體變化情況和伸縮活動觸發方式有關。
伸縮活動類型 | 伸縮活動觸發方式 | 伸縮活動效果 | 期望實例數變化 | 示例 |
并行伸縮活動 | 手動執行伸縮規則 | 只修改期望實例數,等待期望實例數檢查任務觸發擴縮容。 | 穩態實例數±擴縮容數量 | 場景:
結果: 期望實例數變為6臺,但不會立即創建ECS實例,等待期望實例數檢查任務觸發擴縮容。 |
通過定時任務執行伸縮規則 | 只修改期望實例數,等待期望實例數檢查任務觸發擴縮容。 | 穩態實例數±擴縮容數量 | 場景:
結果: 期望實例數變為6臺,但不會立即創建ECS實例,等待期望實例數檢查任務觸發擴縮容。 | |
手動添加實例 | 直接觸發擴容,然后修改期望實例數。 | 當前期望實例數+擴容數量 | 場景:
結果: 4臺ECS實例加入伸縮組,穩態實例數變為6臺,然后期望實例數變為7臺。 | |
手動移出實例 | 直接觸發縮容,然后修改期望實例數。 | 當前期望實例數-縮容數量 | 場景:
結果: 1臺ECS實例移出伸縮組,穩態實例數變為1臺,然后期望實例數變為2臺。 | |
最大最小值檢查任務 | - | 需要手動設定期望實例數 | 場景:
結果: 修改失敗,您需要同時設定期望實例數。 | |
實例健康檢查任務 | 直接觸發縮容。 | 期望實例數不變 | 場景:
結果: 期望實例數不變,不健康的ECS實例被移出伸縮組,穩態實例數變為1臺。伸縮組檢測到期望實例數和穩態實例數間存在差距,會自動執行期望實例數檢查任務,觸發伸縮活動創建2臺ECS實例。 | |
期望實例數檢查任務 | 直接觸發擴縮容。 | 期望實例數不變 | 場景:
結果: 期望實例數不變。伸縮組檢測到期望實例數和穩態實例數間存在差距,會自動執行期望實例數檢查任務,觸發伸縮活動創建1臺ECS實例。 | |
非并行伸縮活動 | 通過報警任務執行伸縮規則 | 直接觸發擴縮容,然后修改期望實例數。 | 穩態實例數±擴縮容數量 | 場景:
結果: 觸發伸縮活動創建4臺ECS實例,然后期望實例數變為6臺。 |
與未設置期望實例數伸縮組的區別
設置期望實例數伸縮組與未設置期望實例數伸縮組的主要區別如下所示:
對比項 | 設置期望實例數伸縮組 | 未設置期望實例數伸縮組 |
維護成本 | 自動維護:伸縮組會自動擴縮容以滿足期望實例數,如果伸縮活動失敗,系統也會自動重試。 | 手動維護:您需要自行手動維護伸縮組內實例數,如果伸縮活動失敗,您也需要手動進行重試。 |
伸縮活動執行結果 | 根據伸縮活動觸發方式不同,伸縮組中伸縮活動的執行結果也不同:
| 手動執行伸縮規則、通過定時任務執行伸縮規則、手動添加實例、手動移出或刪除實例、通過報警任務執行伸縮規則時,伸縮組直接觸發擴縮容動作來添加或者移出實例。 |
并行執行功能 | 伸縮組支持并行執行伸縮活動功能,更多信息,請參見并行伸縮活動示例。 | 伸縮組同一時間只支持一個伸縮活動,伸縮活動執行可能比較耗時,在此期間,您無法調整伸縮組的實例數。 |
并行伸縮活動示例
指定期望實例數后,伸縮組支持同時執行并行伸縮活動,示例如下:
示例1:連續手動執行伸縮規則
場景:
期望實例數:3臺。
穩態實例數:3臺。
伸縮規則add3要求創建3臺ECS實例。
伸縮規則add1要求創建1臺ECS實例。
手動執行add3,然后立即手動執行add1。
結果:執行add3后,期望實例數從3臺變為6臺??梢粤⒓磮绦衋dd1,期望實例數從6臺變為4臺。并行伸縮活動的效果是創建1臺ECS實例,伸縮活動結束后,伸縮組的穩態實例數為4臺。
示例2:手動執行伸縮規則的同時手動添加實例
場景:
期望實例數:3臺。
穩態實例數:3臺。
伸縮規則add1要求創建1臺ECS實例。
手動執行add1,然后立即手動添加1臺已有ECS實例。
結果:執行add1后,期望實例數從3臺變為4臺??梢粤⒓刺砑右延蠩CS實例,期望實例數從4臺變為5臺。并行伸縮活動的效果是創建1臺ECS實例并添加1臺已有ECS實例,伸縮活動結束后,伸縮組的穩態實例數為5臺。
非并行伸縮活動示例
指定期望實例數后,伸縮組不支持同時執行并行伸縮活動和非并行伸縮活動,示例如下:
場景:
期望實例數:1臺。
穩態實例數:1臺。
報警任務伸縮規則要求創建3臺ECS實例。
伸縮規則add1要求創建1臺ECS實例。
報警任務觸發后立即手動執行add1。
結果:報警任務觸發伸縮活動,期望實例數從1臺變為4臺。由于報警任務觸發的伸縮活動屬于非并行伸縮活動,不支持立即執行并行伸縮活動,伸縮規則add1被拒絕執行,期望實例數仍為4臺。非并行伸縮活動的效果是創建3臺ECS實例,伸縮活動結束后,伸縮組的穩態實例數為4臺。