全部產品
Search
文件中心

Auto Scaling:利用Auto Scaling降低成本

更新時間:Jun 30, 2024

本教程介紹了如何利用Auto Scaling組合購買隨用隨付ECS執行個體和搶佔式執行個體,應對周期性業務波動的同時降低使用成本。

業務情境

某線上教育平台的上課高峰為每天下午5點至晚上10點,其他時間段業務流量較低。為保證順利承載上課高峰帶來的流量,營運人員需要長期保有上課高峰期的計算資源,但計算資源在其餘時間段處於閑置狀態,導致資源成本浪費。如果上課高峰時間段流量超出預估,仍需要臨時手動建立ECS執行個體。

假設您的應用具有以下特徵,也可以採用類似解決方案:

  • 採用叢集方式部署,並且叢集擁有1台以上的伺服器。

  • 業務具有高容錯性,可以接受隨時被打斷的風險。例如,採用搶佔式執行個體的測試業務。

  • 業務具有明顯的周期性波峰波穀變化,例如,每天下午5點至晚上10點是業務高峰(波峰)時間段,其他時間段資源閑置。

解決方案

Auto Scaling支援組合使用按量執行個體和搶佔式執行個體,以更低成本來滿足業務周期性波動時間段流量的要求。

您可以採用以下方案:

  • 對於非波峰波穀時間段的業務,建議您購買訂用帳戶ECS執行個體。

  • 對于波峰波穀時間段的業務,您可以採用定時任務功能添加和釋放對應的ECS執行個體。具體說明如下:

    • 業務高峰(波峰)期間,伸縮組採用定時任務方式,將臨時自動添加需要的ECS執行個體,該執行個體可以指定多種執行個體規格,即組合使用按量執行個體和搶佔式執行個體,進一步降低成本。伸縮組會按照vCPU的單價從低到高進行排序,優先選擇vCPU單價更低的執行個體規格。

    • 業務低穀(波穀)期間,伸縮組採用定時任務方式,將自動釋放不需要的ECS執行個體。

業務收益

利用Auto Scaling降低成本,您可以獲得以下收益:

  • 零備機成本

    Auto Scaling可自動建立和釋放ECS執行個體,實現按需取用,無需備機。您只需針對非波峰波穀時間段的流量保有計算資源。

  • 零營運成本

    您只需提前配置擴容策略。負載增加時,Auto Scaling自動建立ECS執行個體,並將ECS執行個體添加到RDS執行個體的白名單和SLB執行個體的後端伺服器組。整個過程自動觸發和完成,無需人工幹預。

  • 超高性價比

    Auto Scaling支援組合使用按量執行個體和搶佔式執行個體,搶佔式執行個體最低能以一折的價格購得ECS執行個體。如果搶佔式執行個體庫存不足,也會以按量執行個體的方式交付,保證交付結果。成本最佳化策略還支援搶佔式執行個體補償,在已有搶佔式執行個體被釋放前5分鐘,會自動嘗試建立當前較低價格的新搶佔式執行個體,性價比超高。

操作步驟

請根據您的業務架構評估業務模組,並執行以下操作為有需要的業務模組降低成本:

說明

本操作前,請您提前為應用的ECS執行個體建立自訂鏡像,具體操作,請參見使用執行個體建立自訂鏡像

步驟一:使用自訂鏡像建立訂用帳戶ECS執行個體

建立指定數量的訂用帳戶ECS執行個體,用於添加到伸縮組,滿足業務模組的非波峰波穀時間段要求。

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇執行個體與鏡像 > 鏡像

  3. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。地區

  4. 找到應用執行個體的自訂鏡像,在操作地區,單擊建立執行個體

  5. 配置執行個體資訊並完成執行個體建立。

    • 付費類型設定為訂用帳戶

    • 地區鏡像資訊已自動填滿。

    請根據需要配置其他資訊,具體操作,請參見自訂購買執行個體

步驟二:建立並啟用伸縮組

為需要降低成本的業務模組建立伸縮組,並為伸縮配置選擇應用執行個體的自訂鏡像,確保自動建立出的ECS執行個體符合應用的要求。

  1. 登入Auto Scaling控制台
  2. 在左側導覽列中,單擊伸縮組管理
  3. 在頂部功能表列處,選擇地區。
  4. 單擊建立伸縮組,完成配置項參數並建立一個伸縮組。

    • 伸縮組名稱設定為您的自訂名稱(例如testname)。

    • 組內執行個體配置資訊來源選擇為從零開始建立

    • 組內最小執行個體數設定為0

    • 組內最大執行個體數設定為10

    • 預設冷卻時間(秒)預設為300

    • 網路類型選擇為專用網路

    • 擴縮容策略選擇為成本最佳化策略

      • 組內最小按量執行個體數(台)設定為0

      • 按量執行個體所佔比例(%)設定為30

      • 最低價的多個執行個體規格(個)設定為3

      • 開啟搶佔式執行個體補償設定為開啟狀態。

      • 使用按量執行個體補充搶佔式容量預設為開啟狀態。

    • 執行個體回收模式選擇為釋放模式

    • 選擇已建立的專用網路和相應的交換器。

    • 關聯當前業務模組所使用的傳統型負載平衡CLB(原SLB)、負載平衡ALB、NLB伺服器組以及RDS執行個體。

    請根據需要配置其他資訊,具體操作,請參見配置伸縮組

  5. 找到已建立好的伸縮組,在對應操作列下,單擊查看詳情

  6. 在頁面上方,單擊執行個體配置來源頁簽。
  7. 單擊建立伸縮配置,完成配置項參數並建立一個伸縮配置。

    • 付費模式設定為搶佔式執行個體

    • 執行個體配置選擇3個或以上的執行個體規格。

    • 選擇鏡像設定為您的自訂鏡像。

    請根據需要配置其他資訊,具體操作,請參見建立伸縮配置(ECS執行個體)

  8. 啟用伸縮配置和伸縮組。

步驟三:添加訂用帳戶ECS執行個體並設定自動調整策略

將訂用帳戶ECS執行個體添加至伸縮組,並建立定時任務,實現根據業務峰穀自動平滑伸縮,結合搶佔式執行個體最大程度地降低成本。

  1. 前往執行個體列表頁簽,將建立好的訂用帳戶ECS執行個體添加至伸縮組。

  2. 將訂用帳戶ECS執行個體轉為保護狀態,保證業務在非波峰波穀時間段正常運行。

  3. 前往伸縮組管理介面,根據業務需求,修改伸縮組的最小執行個體數和最大執行個體數。

    關於如何修改伸縮組內最大最小執行個體數的具體操作,請參見修改伸縮組

  4. 在伸縮組詳情頁,選擇伸縮規則與警示任務 > 伸縮規則,建立2條簡單規則。

    需要配置的主要參數項如下所示:

    • 伸縮規則類型選擇為簡單規則

    • 執行的操作設定的規則如下:

      • 簡單規則1:當伸縮組需要彈性擴容時,增加5台。

      • 簡單規則2:當伸縮組需要彈性縮容時,減少5台。

    請根據需要配置其他資訊,具體操作,請參見配置伸縮規則

  5. 在伸縮組詳情頁,選擇伸縮規則與警示任務 > 定時任務,建立2條定時任務。

    • 執行時間設定的規則如下:

      • 定時任務1:當業務高峰期(例如下午5點)即將到來時需要進行擴容時,設定為2021年11月20日16:59

      • 定時任務2:當業務低穀期(例如晚上10點)即將到來時需要進行縮容時,設定為2021年11月20日21:59

    • 伸縮組設定為已添加訂用帳戶ECS執行個體的伸縮組。

    • 伸縮方式設定為選擇已有伸縮規則

    • 伸縮規則(簡單規則)設定的規則如下所示:

      • 定時任務1:當業務高峰期(例如下午5點)即將到來時需要進行彈性擴容時,選擇簡單規則1。

      • 定時任務2:當業務低穀期(例如晚上10點)即將到來時需要進行彈性縮容時,選擇簡單規則2。

    請根據需要配置其他資訊,具體操作,請參見配置定時任務

執行結果

您可以在伸縮活動頁面,查看伸縮活動詳情,看伸縮組內的執行個體是否正常擴容和縮容,具體操作,請參見查看伸縮活動詳情

  • 訂用帳戶ECS執行個體已被轉為保護狀態,用於在非波峰波穀時間段承載業務。處於保護中狀態的ECS執行個體不會被移除伸縮組,而且負載平衡權重不受影響。

  • 在業務高峰(波峰)時間段,伸縮組採用定時任務方式,將自動建立相應數量的ECS執行個體,過程更加平滑。由於採用了成本最佳化策略且開啟了搶佔式執行個體補償,購買ECS執行個體時的價格更低,性價比較高。

  • 在業務低穀(波穀)時間段,伸縮組採用定時任務方式,將自動釋放不需要的ECS執行個體。