在使用伸縮組後,您可以通過設定合適的伸縮策略提高資源使用率,從而降低成本,此時您還可以通過搶佔式執行個體,以更低的價格使用ECS執行個體,從而進一步降低成本,本文為您介紹如何通過搶佔式執行個體降低叢集的成本。
僅ECS類型的伸縮組支援使用搶佔式執行個體。
什麼是搶佔式執行個體?
搶佔式執行個體是一種按需執行個體,效能與常規ECS執行個體無異,價格根據市場供需關係即時變化,相對於隨用隨付執行個體最高能節約90%的執行個體成本,搶佔式執行個體的特性如下:
效能相同:在相同規格情況下,與隨用隨付執行個體除計費模式外無差別。
出價機制:您可以在建立搶佔式執行個體時進行出價。阿里雲會根據當前市場供需情況動態調整市場價格,如果您的出價低於市場價,執行個體會被回收。此外,支援使用自動出價,以按需計費的價格為上限,自動跟隨市場價進行出價。
競價機制:執行個體的價格根據市場供需關係即時變化,會將您的出價與市場價格進行對比,如果您的出價比市場價高且庫存充足,可以建立出搶佔式執行個體。
中斷回收機制:搶佔式執行個體存在中斷回收機制,如果您的出價小於市場價或者庫存不足,會中斷執行個體並回收
保護期:您可以通過設定執行個體使用1小時,保護執行個體在建立後的一小時之內不被回收。
關於搶佔式執行個體的更多資訊,請參見什麼是搶佔式執行個體。
總結:在使用伸縮組時,可以使用單價更低的搶佔式執行個體來降低成本。但需要犧牲一定的穩定性,即無法確保執行個體可以一直被使用或建立。
合理利用搶佔式執行個體降低成本
使用較低單價的搶佔式執行個體能夠有效減少伸縮組內執行個體叢集的成本。然而,由於其固有的不穩定性,您需要仔細評估這種變化對叢集整體穩定性可能帶來的影響。伸縮組的穩定性可以從兩個關鍵方面來考量:
擴容穩定性:指在負載增加時,能夠及時且可靠地啟動新的執行個體以滿足擴容需求。
引入搶佔式執行個體時,可能會因為市場價格波動或庫存不足導致執行個體無法自動被建立,影響擴容穩定性,但您可以通過設定一系列機制提升擴容穩定性。
執行個體穩定性:指保證已啟動的執行個體能夠持續穩定運行,不受非預期中斷的影響。
引入搶佔式執行個體意味著部分執行個體可能因市場價格波動或庫存不足而被自動回收,這要求業務具備快速恢複的能力,並且能夠在執行個體被中斷後無縫切換到其他可用資源上。
在評估了引入搶佔式執行個體可能帶來的成本節約及其對叢集穩定性的影響後,接下來的關鍵是找到一個平衡點,既能有效控製成本,又能確保服務的可靠性和效能。
設計平衡成本和穩定性的方案
您可以按照以下思路設計平衡成本和叢集穩定性的方案。
設定合理的出價策略:通過設定略高於市場價格但低於按需價格的出價,增加擷取搶佔式執行個體的機會,同時減少因頻繁中斷而帶來的管理負擔。
混合使用多種執行個體類型:在伸縮組引入搶佔式執行個體時,需要根據您業務的實際情況,調整搶佔式執行個體和按需執行個體的配比,從而平衡成本和叢集穩定性。
例如:您可以將按量的比例設定為可以保證業務穩定啟動並執行最低容量,對於彈性的部分使用搶佔式執行個體降低成本。
不同配比的伸縮組叢集穩定性與成本的變化如圖所示,隨著搶佔式在叢集中的比例的升高,成本會降低,但穩定性也會降低。

進一步提升叢集穩定性
除了設計合理的平衡成本和穩定性方案,您還可以通過以下幾個配置進一步提升伸縮組內叢集的穩定性。
| |
| |
| |
| |
|
樣本:已有伸縮組使用搶佔式執行個體降低成本
如果您已有伸縮組,您可以參考以下步驟在伸縮組中引入搶佔式執行個體。
步驟一:為伸縮組設定多可用性區域交換器
設定多可用性區域交換器可以組合多個可用性區域的庫存,增加伸縮組可用的搶佔式執行個體庫存。
- 在頂部功能表列處,選擇地區。
- 在左側導覽列中,單擊伸縮組管理。
找到目標伸縮組,單擊伸縮組ID進入其管理頁。
在基本資訊頁簽下,找到專用網路,單擊右上方的
,進入修改專用網路頁面。配置多個可用性區域交換器,完成配置後,單擊確認完成操作。
說明如果您的專用網路下沒有多個可用性區域的交換器,請先建立交換器,具體操作,請參見建立和管理交換器。
步驟二:為伸縮組設定成本最佳化策略
在基本資訊頁簽下,找到組內執行個體擴縮容配置,單擊右上方的
,進入修改組內執行個體擴縮容配置頁面。修改擴容縮容策略為成本優化策略,並根據您的實際需求完成相關配置項。配置項說明如下:
伸縮最小按量實例數(台)
伸縮組所需隨用隨付ECS執行個體的最小台數,預設為0台。如果伸縮組內的隨用隨付ECS執行個體的數量小於該值,將優先建立隨用隨付執行個體。
按量實例所佔比例(%)
自動建立ECS執行個體時隨用隨付執行個體所佔的比例,預設為70%。計算該值時,不包括組內最小按量執行個體數對應的台數。
最低價的多個執行個體規格(個)
價格最低的執行個體規格的個數,預設為1個。在伸縮配置中指定了多個可選執行個體規格時生效。建立搶佔式執行個體時,伸縮組會在價格最低的幾個執行個體規格之間均衡建立ECS執行個體。
開啟搶佔式執行個體補償
開啟搶佔式執行個體補償後,在搶佔式執行個體被回收前5分鐘,伸縮組會主動建立新的搶佔式執行個體,並替換掉將被回收的搶佔式執行個體。
使用按量執行個體補充搶佔式容量
如果因價格、庫存等原因無法滿足所需要的搶佔式執行個體容量時,開啟該功能,伸縮組會嘗試建立隨用隨付執行個體來滿足當前搶佔式執行個體的容量。
開啟搶佔式執行個體自動替換按量
開啟使用按量執行個體補充搶佔式容量後,伸縮組中按量執行個體比例可能會超過按量實例所佔比例(%),您可以開啟該選項,伸縮組會自動嘗試使用搶佔式執行個體替換多餘按量執行個體。
完成配置後單擊確認。
步驟三:修改伸縮配置
本文以修改伸縮配置為例,您也可以根據實際情況,建立新的伸縮配置,具體操作請參見建立ECS伸縮組。
在,找到正在生效的伸縮配置,單擊修改進入修改伸縮設定頁面。
在修改伸縮配置頁面,修改付費模式為搶佔式執行個體。
修改執行個體配置方式為指定執行個體規格。
設定執行個體的保護期以及出價方式,相關配置項如下:
執行個體使用時間長度
該配置項即搶佔式執行個體的保護期,在保護期內,搶佔式執行個體不會觸發中斷回收機制。
設定執行個體使用1小時:設定1小時的保護期。執行個體建立完成後的一小時之內,執行個體不會觸發搶佔式執行個體存的中斷回收機制,如果超過1小時,則每5分鐘監測庫存、出價的變化,進而判斷是否能夠繼續使用資源。
無確定使用時間長度:基於實際業務需求,不進行資源使用時間長度的設定,優勢在於相較設定執行個體使用時間長度可獲得更優成本。
單台執行個體上限價格
該配置項即執行個體的出價方式。
使用自動出價:伸縮組會根據執行個體的市場價格自動出價,上限為相同規格按需執行個體的單價。
設定單台上限價:當市場價格高於您的出價或者資源供需關係變化時,執行個體會被自動釋放,請做好資料備份工作。
您可以使用該出價方式控制執行個體的價格上限。
在選擇執行個體規格配置項中,選擇多個執行個體規格以提高擴容成功率。
說明如果您選擇單台執行個體上限價格為設定單台上限價,您需要為每個執行個體規格設定出價。
例如選擇
ecs.hfc7.large、ecs.c7.large、ecs.c6.large三個執行個體規格,並通過拖拽或上移/下移調整優先順序順序。伸縮配置會優先選擇排序靠上的執行個體規格,每個規格會顯示釋放率和歷史折扣率供參考。確認配置無誤後單擊修改,完成操作。
(驗證)步驟四:觸發擴容
在配置完成後,您可以觸發一次擴容操作,檢驗伸縮組是否可以按照預期建立搶佔式執行個體。本文以通過修改期望執行個體數觸發擴容為例。
相關參數
按量執行個體所佔比例:70%。
組內最小按量執行個體數:2台
組內期望執行個體數:從0修改為12。
預期結果
隨用隨付執行個體數9台,搶佔式執行個體數3台。
結果說明
組內最小按量執行個體數不計入按量執行個體所佔比例,因此組內總按量執行個體數為
您可以在ECS控制台查看執行個體的付費模式。