如果您需要在業務需求量有波動時自動增加或減少ECS執行個體的數量,則您可以通過配置伸縮組來自動調整業務計算能力(即執行個體數量)。您可以基於已有的ECS執行個體建立伸縮組,伸縮組建立完成後,系統會為您建立一個預設的伸縮配置,簡化啟用伸縮組前的準備操作,讓您更快地使用伸縮組開始擴縮容。本文介紹如何基於ECS執行個體建立伸縮組。
前提條件
如果需要為伸縮組關聯傳統型負載平衡CLB(原SLB)執行個體,請確保滿足以下條件:
您需要持有一個或多個處於運行中狀態的CLB執行個體。具體操作,請參見建立和管理CLB執行個體。
CLB執行個體和伸縮組必須位於同一地區。
如果CLB執行個體和伸縮組的網路類型均為專用網路,則必須位於同一專用網路。
當CLB執行個體的網路類型為傳統網路,伸縮組的網路類型為專用網路時,如果CLB執行個體的後端伺服器組中包含專用網路ECS執行個體或ECI執行個體,該執行個體必須與伸縮組位於同一專用網路。
CLB執行個體至少需要配置一個監聽。具體操作,請參見CLB監聽概述。
CLB執行個體必須開啟健全狀態檢查。具體操作,請參見配置和管理CLB健全狀態檢查。
如果需要為伸縮組關聯應用型負載平衡ALB伺服器組,請確保滿足以下條件:
伸縮組的網路類型必須為VPC,且與ALB伺服器組處於同一VPC。
ALB伺服器組必須處於可用狀態。
如果需要為伸縮組關聯RDS執行個體,請確保滿足以下條件:
您需要持有一個或多個處於運行中狀態的RDS執行個體。更多資訊,請參見雲資料庫RDS簡介。
RDS執行個體和伸縮組必須位於同一地區。
背景資訊
在基於ECS執行個體建立伸縮組時,不限制作為組內執行個體配置資訊來源的ECS執行個體的計費方式。訂用帳戶執行個體、隨用隨付執行個體、搶佔式執行個體均可用於建立伸縮組。建立完成後,系統會自動建立一個預設伸縮配置,該伸縮組採用的計費方式為隨用隨付。更多伸縮組資訊,請參見伸縮組概述。
預設伸縮配置中採用的鏡像為已有執行個體使用的基礎鏡像,而不是為執行個體建立一個自訂鏡像。如果您希望伸縮配置中採用的鏡像包括已有執行個體的當前所有系統配置和資料,請自行為執行個體建立自訂鏡像,然後使用該自訂鏡像更新伸縮配置,具體操作,請參見更新伸縮配置中的鏡像。
伸縮組建立完成後,支援自動建立ECS執行個體和手動添加已有ECS執行個體。自動建立ECS執行個體時,計費方式僅支援隨用隨付、搶佔式執行個體;手動添加已有ECS執行個體時,不限制計費方式,訂用帳戶、隨用隨付、搶佔式執行個體均可。更多使用伸縮組時的限制說明,請參見使用限制。
操作步驟
進入建立伸縮組頁面。
登入ECS管理主控台。
在左側導覽列,選擇 。
在頂部功能表列左上方處,選擇地區。
找到目標ECS執行個體,在操作列,單擊
。
在建立伸縮組頁面中,完成伸縮組設定,然後單擊確認。
相比從零開始,在基於ECS執行個體建立伸縮組時,Auto Scaling自動填入以下資訊:
組內執行個體配置資訊來源:已選擇選擇已有執行個體。系統提取已有ECS執行個體的配置資訊建立一個預設伸縮配置,作為自動建立ECS執行個體的模板,提取的配置資訊包括執行個體的執行個體規格、基礎鏡像、網路類型、安全性群組、登入密碼、標籤等。如果某些配置不符合業務要求,您可以在伸縮組建立完成後根據需要修改配置,例如修改伸縮配置的鏡像等。
網路類型:已選擇和已有ECS執行個體一致的網路類型。
專用網路:已選擇和已有ECS執行個體一致的專用網路(如網路類型為專用網路)。
選擇交換器:已選擇和已有ECS執行個體一致的交換器(如網路類型為專用網路)。
伸縮組所有配置項的說明如下表所示,已經自動填入的資訊請保持預設,無需修改。關於配置伸縮組更多資訊,請參見配置伸縮組。
配置項
說明
伸縮組名稱
2~64個字元,以大小寫字母、數字或中文開頭,可包含半形句號(.)、底線(_)和短劃線(-)。
伸縮群組類型
指定伸縮組內提供計算能力的執行個體的類型,Auto Scaling會根據該配置為伸縮組擴縮容對應的執行個體。
ECS:伸縮組內的執行個體都為ECS執行個體。
ECI:伸縮組內的執行個體都為ECI執行個體。
組內執行個體配置資訊來源
Auto Scaling使用該配置建立執行個體。伸縮組支援以下執行個體配置資訊來源類型:
啟動模板:包含除了密碼以外的任意配置資訊,如金鑰組、RAM角色、執行個體類型和網路設定等。僅伸縮群組類型為ECS時,支援配置該項。
您需要選擇已建立的執行個體啟動模板和執行個體啟動模板版本。為增加模板的靈活性,您還可以通過擴充啟動模板配置選擇多個執行個體規格。為執行個體規格指定權重,請參見使用效能指標作為Auto Scaling的度量單位。
選擇已有執行個體:您需要選擇已建立的執行個體,Auto Scaling會自動提取該執行個體的基礎配置資訊,建立一個預設伸縮配置。
當伸縮群組類型為ECS時,從ECS執行個體提取的伸縮配置包括該ECS執行個體的執行個體規格、網路類型、安全性群組、基礎鏡像等基礎配置,不包括登入密碼、標籤。其中,基礎鏡像是已有執行個體使用的基礎鏡像,不包括該執行個體的資料資訊,如應用程式。如果您想使伸縮配置包括該執行個體的所有系統配置和資料資訊,請建立該執行個體的自訂鏡像,並使用自訂該鏡像更新伸縮配置的鏡像。具體操作,請參見更新伸縮配置中的鏡像。
從零開始建立:先不指定自動建立執行個體的模板。等伸縮組建立完成後,再繼續建立伸縮配置或指定啟動模板。伸縮群組類型不同,建立伸縮配置的具體操作不同,更多資訊,請參見建立伸縮配置(ECS執行個體)和建立伸縮配置(ECI執行個體)
說明從ECS控制台入口基於執行個體建立伸縮組時,Auto Scaling自動填入組內執行個體配置資訊來源、網路類型相關的資訊,請保持預設,無需修改。
標籤
添加標籤便於搜尋和彙總伸縮組,更多資訊,請參見標籤概述。
說明此處的標籤適用於伸縮組,如果您需要為伸縮組內執行個體添加標籤,請在伸縮配置或啟動模板中設定。
擴容時需要傳播給執行個體的標籤
為伸縮組添加一個或多個標籤後,您可以繼續選擇擴容時需要傳播給伸縮組內執行個體的一個或多個標籤。
執行個體移出策略
當需要從伸縮組移出執行個體並且有多種選擇時,按該策略選擇需要移出的執行個體。如果按策略篩選後仍有多台執行個體滿足要求,則隨機移出一台。僅伸縮群組類型為ECS時,支援配置該項。
該項支援兩段設定先篩選和再從結果中移出,但不支援為這兩段設定相同的選項。各選項的含義如下:
說明當伸縮群組類型為ECI時,預設先篩選最早伸縮配置對應的執行個體,再從篩選結果中移出最早建立的執行個體。
最早伸縮配置對應的執行個體:篩選添加時間最早的伸縮配置和啟動模板對應的執行個體。手動添加的執行個體沒有關聯伸縮配置或啟動模板,因此不會首先選出手動添加的執行個體。如果已移出全部關聯的執行個體,仍需要繼續移出執行個體,則隨機移出手動添加的執行個體。
說明最早伸縮配置對應的執行個體中提到的伸縮配置泛指組內執行個體配置資訊來源,包括伸縮配置和啟動模板。
啟動模板的版本號碼低不代表添加時間早,例如在建立伸縮組時選擇執行個體啟動模板lt-foress的版本2,然後修改伸縮組,選擇執行個體啟動模板lt-foress的版本1,則對伸縮組來說,啟動模板lt-foress的版本2是最早的。
最早建立的執行個體:篩選建立時間最早的執行個體。
最新建立的執行個體:篩選建立時間最新的執行個體。
自訂策略:使用者自訂執行個體移出策略,根據Function Compute服務名、版本和函數名,篩選出符合自訂策略的執行個體。
例如,如果第一段設定為先篩選最早伸縮配置對應的執行個體,則第二段設定僅支援以下選項:
--無策略--:不進行第二段篩選。
最早建立的執行個體:在第一段篩選出的執行個體中,再篩選建立時間最早的執行個體。
最新建立的執行個體:在第一段篩選出的執行個體中,再篩選建立時間最新的執行個體。
說明伸縮組移出執行個體還受伸縮組的擴縮容策略影響。移出ECS執行個體的更多資訊,請參見設定伸縮組的執行個體終止策略。
暫停流程
方便您在執行某些操作前主動暫停指定的流程,例如暫停健全狀態檢查流程後再去停止執行個體,避免執行個體被視為不健康而自動移出伸縮組。支援暫停流程如下:
擴容流程:伸縮組拒絕所有擴容動作。
縮容流程:伸縮組拒絕所有縮容動作。
健全狀態檢查:暫停將執行個體標記為不健康狀態,並暫停移出不健康的執行個體。
定時任務:到定時任務的執行時間後,不會觸發關聯的伸縮規則。
警示任務:警示任務進入警示狀態後,不會觸發關聯的伸縮規則。
更多資訊,請參見暫停和恢複伸縮組流程。
開啟伸縮組保護
開啟伸縮組保護後,您不能在Auto Scaling控制台或者通過API刪除該伸縮組,有效避免誤刪除伸縮組。
執行個體的健全狀態檢查
開啟健全狀態檢查後,伸縮組會定期檢查執行個體的運行狀態,如果發現一台執行個體未處於運行中狀態,則判定為不健康並移出該執行個體。更多資訊,請參見伸縮組內執行個體的生命週期。
組內最小執行個體數
當前執行個體數量低於下限時,伸縮組會自動添加執行個體,使得伸縮組內的執行個體數量等於下限。
組內最大執行個體數
當前執行個體數量超過上限時,伸縮組會自動移出執行個體,使得伸縮組內的執行個體數量等於上限。
組內期望執行個體數
填寫組內期望執行個體數即可開啟期望執行個體數功能,伸縮組會自動將執行個體數量維持在期望執行個體數。更多資訊,請參見期望執行個體數。
說明建立伸縮組時或者修改已建立伸縮組時,您都可以通過設定組內期望執行個體數參數值來自動開啟期望執行個體數功能。如果需要關閉該功能,則可以通過API方式來關閉,更多資訊,請參見ModifyScalingGroup - 修改一個伸縮組。
執行個體最大生命時間長度(秒)
執行個體在伸縮組中存活的最大時間,伸縮組中超過最大生命時間長度的執行個體將自動建立新執行個體來替換該執行個體。
僅伸縮群組類型為ECS時,支援設定該參數。
預設冷卻時間(秒)
單位為秒,伸縮組發生伸縮活動後的預設冷卻時間。在冷卻時間內,伸縮組會拒絕由警示任務觸發的伸縮活動請求,其他類型任務觸發的伸縮活動可以繞過冷卻時間立即執行,例如手動執行任務、定時任務。
網路類型
僅專用網路伸縮組支援擴縮容策略、執行個體回收模式、專用網路、選擇交換器、關聯負載平衡ALB、NLB伺服器組配置。
說明從ECS控制台入口基於執行個體建立伸縮組時,Auto Scaling自動填入組內執行個體配置資訊來源、網路類型相關的資訊,請保持預設,無需修改。
伸縮組的網路類型決定了伸縮組內執行個體的網路類型,即專用網路的伸縮組只能存在專用網路的執行個體,傳統網路的伸縮組只能存在傳統網路的執行個體。
重要伸縮組建立完成後,不支援修改網路類型。
擴縮容策略
僅伸縮群組類型為ECS,且網路類型為專用網路時,支援配置該項。具體策略如下:
優先順序策略:先選擇的交換器優先順序高。Auto Scaling優先在優先順序最高的交換器所在可用性區域嘗試擴縮容,如果無法擴縮容,則自動在下一優先順序的交換器所在可用性區域進行擴縮容。
說明當伸縮群組類型為ECI時,預設擴縮容策略為優先順序策略。
均衡分布策略:在伸縮組關聯多個交換器且交換器分布在兩個以上可用性區域時生效,支援在交換器所在的可用性區域之間均衡分布ECS執行個體。如果由於庫存不足等原因導致可用性區域之間ECS執行個體的數量不均衡,您可以執行再均衡分布操作來平衡ECS執行個體的分布情況。具體操作,請參見ECS執行個體再均衡分布。
成本最佳化策略:在伸縮配置中指定了多個可選執行個體規格時生效。擴容時Auto Scaling按vCPU單價從低到高嘗試建立ECS執行個體,縮容時按vCPU單價從高到低嘗試移出ECS執行個體。如果伸縮配置中計費方式選擇搶佔式執行個體,優先建立搶佔式執行個體。由於庫存等原因無法建立各執行個體規格的搶佔式執行個體時,再自動嘗試建立隨用隨付執行個體。
如果您選擇成本最佳化策略,還可以設定以下屬性:
組內最小按量執行個體數(台):伸縮組所需隨用隨付ECS執行個體的最小台數,預設為0台。如果伸縮組內的隨用隨付ECS執行個體的台數小於該值,將優先建立隨用隨付執行個體。
按量執行個體所佔比例(%):自動建立ECS執行個體時隨用隨付執行個體所佔的比例,預設為70%。計算該值時,不包括組內最小按量執行個體數對應的台數。
最低價的多個執行個體規格(個):價格最低的執行個體規格的個數,預設為1個。在伸縮配置中指定了多個可選執行個體規格時生效。建立搶佔式執行個體時,伸縮組會在價格最低的幾個執行個體規格之間均衡建立ECS執行個體。
開啟搶佔式執行個體補償:開啟搶佔式執行個體補償後,在搶佔式執行個體被回收前5分鐘,伸縮組會主動建立新的搶佔式執行個體,並替換掉將被回收的搶佔式執行個體。
使用按量執行個體補充搶佔式容量:預設為開啟狀態。如果因價格、庫存等原因無法滿足所需要的搶佔式執行個體容量時,開啟該功能,伸縮組會嘗試建立隨用隨付執行個體來滿足當前搶佔式執行個體的容量。
自訂群組合策略:使用組合方式自訂伸縮組內容量分布策略。您可使用該策略調整伸縮組內按量執行個體和搶佔式執行個體的比例、均衡可用性區域間的容量以及選擇滿足需求的執行個體規格。
執行個體回收模式
僅伸縮群組類型為ECS,且網路類型為專用網路時,支援配置該項。具體回收模式如下:
釋放模式:移出的執行個體被釋放,無資源被保留。在彈性擴張時,Auto Scaling建立新的執行個體加入伸縮組。
說明當伸縮群組類型為ECI時,預設回收模式為釋放模式。
停機回收模式:移出的ECS執行個體被停用,並觸發節省停機效果,部分資源被保留並計費。在彈性擴張時,Auto Scaling優先將停用的ECS執行個體加入伸縮組,再根據擴張數量決定是否建立新的ECS執行個體加入伸縮組。該模式可以提高擴縮容的效率,更多資訊,請參見選擇節省停機模式提高擴縮容效率。
重要請不要在執行個體中保留應用資料、日誌等,避免執行個體回收後資料丟失的風險。
停用的執行個體可能會被釋放:
如果您手動減少伸縮組的最大執行個體數,使現最大執行個體數比伸縮組內各狀態(包括停用中)的執行個體總數小,Auto Scaling優先釋放停用的ECS執行個體。
因為庫存不足或者帳號欠費等原因,停用的執行個體在加入伸縮組時可能會失敗,失敗後該執行個體會被釋放。
停機回收模式的作用受隨用隨付執行個體節省停機模式的影響,更多資訊,請參見隨用隨付執行個體節省停機模式的“啟用條件”、“適用資源”和“觸發效果”部分。
強制釋放模式:選擇該回收模式,在彈性收縮活動中,系統會強制釋放運行中(Running)的執行個體。強制釋放執行個體相當於斷電操作,會導致該執行個體記憶體以及儲存中的臨時資料被擦除,資料無法恢複,請您謹慎選擇。
專用網路
選擇已建立的專用網路。
說明從ECS控制台入口基於執行個體建立伸縮組時,Auto Scaling自動填入組內執行個體配置資訊來源、網路類型相關的資訊,請保持預設,無需修改。
選擇交換器
選擇專用網路後必須選擇交換器。一個交換器只能屬於一個可用性區域,您可以指定多個屬於不同可用性區域的交換器,從而達到多可用性區域的效果。多可用性區域可以規避單可用性區域庫存不足的風險,提高擴容成功率。
說明從ECS控制台入口基於執行個體建立伸縮組時,Auto Scaling自動填入組內執行個體配置資訊來源、網路類型相關的資訊,請保持預設,無需修改。
建立伸縮組時需要指定專用網路和交換器,如果該伸縮組所使用的啟動模板中也指定了專用網路和交換器,則在彈性擴容時,伸縮組中指定的專用網路和交換器會替換掉啟動模板中指定的專用網路和交換器。即最終擴容出的ECS執行個體位於哪個可用性區域是由伸縮組中的交換器決定的,而不是由啟動模板中的交換器決定。例如,建立伸縮組時:
專用網路選擇VPC-A
交換器選擇vSwitch-A
組內執行個體配置資訊來源選擇啟動模板
其中,啟動模板中的專用網路選擇VPC-B、交換器選擇vSwitch-B。
則伸縮組彈性擴容後,最終擴容出的ECS執行個體對應的專用網路和交換器分別為VPC-A和vSwitch-A。
添加已有執行個體
如果伸縮群組類型為ECS,且組內執行個體配置資訊來源為啟動模板或選擇已有執行個體時,支援配置該項。
如果同時設定期望執行個體數並添加已有執行個體,期望執行個體數會自動增加。例如,建立伸縮組時設定期望執行個體數為1,並添加2台已有執行個體,伸縮組建立完成後,2台已有執行個體添加至伸縮組,然後期望執行個體數變為3。
您可以將已有執行個體的生命週期託管給伸縮組,選擇將執行個體的生命週期託管給伸縮組複選框即可。
如果託管給伸縮組,添加的已有執行個體因處於不健康狀態等原因被自動移出伸縮組,或者被手動移出伸縮組時,會被自動釋放。
如果未託管給伸縮組,添加的已有執行個體移出伸縮組時,不會被自動釋放。
說明支援將訂用帳戶執行個體添加至伸縮組,但不支援託管訂用帳戶執行個體。
關聯傳統型負載平衡CLB(原SLB)
伸縮組關聯CLB執行個體後,加入伸縮組的執行個體會自動添加為CLB執行個體的後端伺服器,處理來自CLB執行個體轉寄的訪問請求。
您可以指定執行個體需要加入的伺服器組,支援以下兩種伺服器組:
預設伺服器組:用來接收前端請求的執行個體,如果監聽沒有設定虛擬伺服器組或主備伺服器組,預設將請求轉寄至預設伺服器組中的執行個體。
虛擬伺服器組:當您需要將不同的請求轉寄到不同的後端伺服器上時,或需要通過網域名稱和URL進行請求轉寄時,可以選擇使用虛擬伺服器組。
如果您同時指定了預設伺服器組和多個虛擬伺服器組,執行個體會同時添加至這些伺服器組中。
說明一個伸縮組支援關聯的CLB執行個體和虛擬伺服器組數量有限。如需查看或手動申請提升配額值,請前往配額中心。
關聯負載平衡ALB、NLB伺服器組
僅網路類型為專用網路時,支援配置該項。伸縮組關聯ALB、NLB伺服器組後,加入伸縮組的執行個體會自動添加為ALB、NLB伺服器組的後端伺服器,處理ALB、NLB執行個體分發的訪問請求。您還需指定後端伺服器的連接埠和權重,權重預設為50。權重越高,執行個體將被分配到越多的訪問請求。如果權重為0,則執行個體不會收到訪問請求。
如果您為伸縮組關聯了多個ALB、NLB伺服器組,加入伸縮組的執行個體會同時添加至這些伺服器組中。
說明一個伸縮組支援關聯的ALB、NLB伺服器組數量有限。如需查看或手動申請提升配額值,請前往配額中心。
關聯RDS資料庫執行個體
僅伸縮群組類型為ECS,支援配置該項。伸縮組關聯RDS資料庫執行個體後,加入伸縮組的ECS執行個體的內網IP會自動加入RDS資料庫執行個體的訪問白名單,允許ECS執行個體和RDS資料庫執行個體內網通訊。
說明一個伸縮組支援關聯的RDS資料庫執行個體數量有限。如需查看或手動申請提升配額值,請前往配額中心。
設定訊息接收通知
在伸縮活動成功、失敗或者被拒絕時,Auto Scaling支援通過簡訊、站內信和郵件發送訊息通知。更多資訊,請參見設定訊息接收通知。
資源群組
通過選擇資源群組,對伸縮組資源進行分組管理,實現資源的隔離顯示和許可權控制。更多資訊,請參見通過資源群組精細化管理伸縮組。
同步伸縮組警示規則到CloudMonitor
該功能僅支援建立伸縮組時開啟或關閉。開啟該功能後,系統將為伸縮組建立並關聯一個CloudMonitor應用分組,伸縮組上的警示規則將在CloudMonitor控制台同步顯示。
在彈出建立伸縮組對話方塊中,單擊關閉。
在伸縮組管理頁面中,找到新建立的伸縮組,在操作列選擇
。啟用伸縮組後,Auto Scaling根據組內執行個體配置資訊來源、組內最小執行個體數等設定維護一組執行個體。例如,在組內最小執行個體數大於0時自動建立對應數量的ECS執行個體,確保組內ECS執行個體的數量不小於組內最小執行個體數。
相關操作
伸縮組建立完成後,您可以手動添加、移出或刪除ECS執行個體,並通過定時任務、警示任務等方式實現自動擴縮容。