全部產品
Search
文件中心

Auto Scaling:根據業務負載自動擴縮容ECS執行個體

更新時間:Jun 30, 2024

Auto Scaling可以根據您設定的策略自動調整計算資源數量(即業務所需的執行個體數量),協助您高效應對業務流量波動,提高資源使用率,並節約成本。對於無規律的業務波動,您可以通過警示任務來監控業務負載,在監控指標(如CPU使用率)達到警示閾值時觸發伸縮規則,自動增加或減少一定數量的ECS執行個體。

適用情境

情境描述

業務需求動態波動,無法預估所需的伺服器數量和時間點,期望根據業務負載即時調整伺服器數量。

例如:某新聞網站的流量難以預測,出現熱點新聞時,訪問量突增,新聞時效性降低後,訪問量回落。

解決方案

通過警示任務聯動CloudMonitor,在指定的監控指標滿足條件時自動觸發伸縮規則,從而實現根據業務負載自動擴縮容伺服器。

方案優勢

  • 零備機成本

    Auto Scaling可自動建立和釋放ECS執行個體,實現按需取用,無需備機。您只需針對日常業務流量保有計算資源。

  • 自動擴縮容

    通過CloudMonitor即時監控負載變化,實現自動擴縮容,在滿足業務需求的同時節約資源和營運成本。

前提條件

首次使用Auto Scaling時,已完成RAM相關授權操作。

  • 已建立服務關聯角色AliyunServiceRoleForAutoScaling。具體操作,請參見服務關聯角色

  • 如果使用RAM使用者操作,您需要為RAM使用者添加AliyunESSFullAccess許可權。具體操作,請參見為RAM使用者授權

步驟一:建立伸縮組

伸縮組是Auto Scaling的核心單元,用於管理具有相同應用情境的執行個體集合。Auto Scaling將會在該伸縮組內增加或減少執行個體。

  1. 進入伸縮組管理頁面。

    1. 登入Auto Scaling控制台
    2. 在左側導覽列中,單擊伸縮組管理

    3. 在頂部功能表列處,選擇地區。

  2. 在頁面左上方,單擊建立伸縮組

  3. 通過表單建立頁簽下,完成伸縮組配置,然後單擊確認

    本文樣本採用以下配置,未提及的配置項保持預設。更多關於伸縮組的配置說明,請參見建立伸縮組

    配置項

    樣本

    描述

    伸縮組名稱

    test

    輸入伸縮組名稱。格式要求請參考介面提示。

    伸縮群組類型

    ECS

    選擇ECS,表示伸縮組內的執行個體類型為ECS執行個體。

    組內執行個體配置資訊來源

    從零開始建立

    先不指定自動建立執行個體的模板。伸縮組建立完成後,您需要繼續建立伸縮配置。

    組內最小執行個體數

    1

    設定伸縮組內執行個體數量的下限。當前執行個體數量低於下限時,伸縮組會自動添加執行個體,使得伸縮組內的執行個體數量等於下限。

    組內最大執行個體數

    5

    設定伸縮組內執行個體數量的上限。當前執行個體數量超過上限時,伸縮組會自動移出執行個體,使得伸縮組內的執行個體數量等於上限。

    網路類型

    專用網路

    選擇專用網路,表示伸縮組內的ECS執行個體的網路類型為專用網路。

    專用網路

    vpc-bp1jmxxau0lur929p****

    選擇伸縮組內ECS執行個體所屬的專用網路。

    選擇交換器

    vsw-2zeknnyw2ewufbs4z****

    vsw-2zesy03h8eaf9fe0l****

    選擇伸縮組內ECS執行個體所屬的交換器。建議選擇多個交換器來提升擴容成功率。

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

伸縮配置是擴容時所增加的ECS執行個體的配置模板,包括執行個體付費模式、規格、儲存、網路等配置資訊。建立伸縮組配置後,您可以啟用伸縮配置,然後啟用伸縮組。

  1. 找到待操作的伸縮組,選擇任一種方式開啟伸縮組詳情頁面。
    • 伸縮組名稱/ID列,單擊伸縮組ID。
    • 操作列,單擊查看詳情
  2. 在頁面上方,單擊執行個體配置來源頁簽。
  3. 伸縮配置頁簽下,單擊建立伸縮配置

  4. 建立伸縮配置頁面,完成相關參數配置,單擊建立

    本樣本中採用以下配置,未提及的配置項保持預設。更多關於伸縮配置的配置說明,請參見建立伸縮配置(ECS執行個體)

    地區

    配置項

    樣本

    描述

    基礎資訊

    伸縮配置名稱

    test

    輸入伸縮配置的名稱。格式要求請參考介面提示。

    付費模式

    隨用隨付

    Auto Scaling服務免費,但您需要為擴容時所增加的ECS執行個體付費。本文採用隨用隨付方式作為樣本。更多資訊,請參見計費概述

    執行個體和鏡像

    執行個體配置方式

    指定執行個體屬性

    選擇指定執行個體屬性方式來配置ECS執行個體的規格需求。

    指定執行個體屬性群組合

    2 vCPU,4 GiB記憶體,企業級

    設定ECS執行個體的vCPU和記憶體需求。

    選擇鏡像

    公用鏡像Alibaba Cloud Linux 3.2104 LTS 64位

    選擇用於部署ECS執行個體的鏡像。本文以公用鏡像作為樣本,實際業務情境請選用您已部署應用的自訂鏡像。

    儲存

    系統硬碟

    ESSD雲端硬碟,40 Gib,PL0

    為ECS執行個體選擇系統硬碟。

    網路和安全性群組

    公網IP

    選中分配公網IPv4地址,預設按固定頻寬計費,頻寬值預設為1 Mbit/s。

    按需選擇是否為ECS執行個體分配公網IP地址。按公網出方向實際發生的頻寬計費,頻寬費用合并在ECS執行個體中收取。

    安全性群組

    sg-bp18kz60mefsicfg****

    選擇您提前建立好的安全性群組。如需建立安全性群組,請參見建立安全性群組

    管理設定

    登入憑證

    建立後設定

    ECS執行個體建立完成後,再手動為ECS執行個體設定密碼。

  5. 在彈出的伸縮配置預覽對話方塊中,確認配置資訊,然後單擊確認建立

  6. 在彈出的伸縮配置建立成功對話方塊中,單擊啟用配置

  7. 在彈出的選用伸縮配置對話方塊中,單擊確定

    說明

    在一個伸縮組內,您必須啟用一個伸縮配置。啟用伸縮配置後,該伸縮配置處於生效狀態。

  8. 在彈出的啟用伸縮組對話方塊中,單擊確定

    啟用伸縮組後,Auto Scaling才會按照您的配置實現擴容和縮容。

    本樣本伸縮組內的最小執行個體數為1,因此啟用伸縮組後,系統會基於伸縮配置自動建立一台ECS執行個體。您可以在伸縮組詳情頁面的執行個體列表頁簽下,選擇自動建立頁簽,查看執行個體資訊。

    手動1.png

步驟三:建立伸縮規則

伸縮規則用來指定每次伸縮活動的規則,如增加或者減少ECS執行個體的數量。

  1. 在伸縮組詳情頁面,單擊伸縮規則與警示任務頁簽,然後單擊伸縮規則頁簽。

  2. 單擊建立伸縮規則,完成伸縮規則配置,然後單擊確認

    本樣本採用簡單規則。更多關於伸縮規則的配置說明,請參見配置伸縮規則

    配置項

    描述

    規則名稱

    輸入規則名稱。格式要求請參考介面提示。

    伸縮規則類型

    本樣本採用簡單規則。更多關於伸縮規則的介紹,請參見伸縮規則概述

    執行的操作

    設定觸發規則時,需要增加或減少多少執行個體。單次伸縮支援的最大執行個體數為1000台。

    冷卻時間

    可選項,單位為秒。不填寫則預設使用伸縮組的冷卻時間,更多資訊,請參見冷卻時間

    請重複該步驟,分別建立擴容規則和縮容規則。配置樣本如下:

    伸縮規則

    配置樣本

    擴容規則

    • 規則名稱:add

    • 伸縮規則類型:簡單規則

    • 執行的操作:增加1台

    縮容規則

    • 規則名稱:remove

    • 伸縮規則類型:簡單規則

    • 執行的操作:減少1台

步驟四:建立警示任務

警示任務通過監控特定的監控指標,對資料指標進行即時的統計,當統計值滿足您指定的警示條件時,觸發警示並執行您指定的伸縮規則。

  1. 在伸縮組詳情頁面,單擊伸縮規則和警示任務頁簽,然後單擊警示任務頁簽。

  2. 警示任務(系統)頁簽,單擊建立警示任務,完成任務配置,然後單擊確認

    說明

    本樣本使用系統提供的指標建立警示任務,您也可以上報自有業務指標並建立警示任務。更多資訊,請參見警示任務概述

    需要關注的任務配置如下,未提及的配置項保持預設。更多關於警示任務的配置說明,請參見配置警示任務

    配置項

    描述

    名稱

    輸入任務名稱。格式要求請參考介面提示。

    警示指標描述

    設定監控指標達到什麼條件時觸發警示。您需要選擇一個或多個系統定義的監控項,選擇多個系統定義的監控項時,單擊添加指標繼續選擇即可。

    該部分包含的配置項說明如下:

    • 監控項:系統監控支援的監控指標名稱。例如,(ECS)CPU使用率表示監控伸縮組內ECS執行個體的CPU使用率。

    • 統計辦法:即判定CloudMonitor指標值超出閾值範圍的規則,您可以圍繞平均值、最大值或最小值設定規則。例如,Average(平均值)>=70%表示伸縮組內ECS執行個體的CPU使用率平均值不小於70%觸發警示。

    警示觸發規則

    選擇警示觸發的伸縮規則。

    請重複該步驟,分別建立觸發擴容規則和縮容規則的警示任務。配置樣本如下:

    警示任務

    配置樣本

    警示觸發擴容

    • 名稱:alarm-add

    • 警示指標描述:(ECS)CPU使用率>Average(平均值)>70%

    • 警示觸發規則:add

    警示觸發縮容

    • 名稱:alarm-remove

    • 警示指標描述:(ECS)CPU使用率>Average(平均值)<20%

    • 警示觸發規則:remove

驗證自動擴縮容效果

警示任務建立後,系統會即時監控伸縮組內的指標資料,在指標資料滿足條件時執行伸縮規則。

本樣本實現效果為:

  • 伸縮組內ECS執行個體的CPU使用率大於70%時,自動增加1台ECS執行個體。

  • 伸縮組內ECS執行個體的CPU使用率小於20%時,自動減少1台ECS執行個體。

您可以通過壓測工具來類比測試,通過以下方式確認效果:

  • 警示任務觸發時,在伸縮組詳情頁面的執行個體列表頁簽下,選擇自動建立頁簽,然後在執行個體列表中觀察執行個體數量變化。

  • 警示任務觸發後,在伸縮組詳情頁面的伸縮活動頁簽下,查看是否已按時觸發伸縮活動,單擊伸縮活動ID可查看詳細資料。