全部產品
Search
文件中心

Auto Scaling:定時自動擴縮容ECS執行個體

更新時間:Jun 30, 2024

Auto Scaling可以根據您設定的策略自動調整計算資源數量(即業務所需的執行個體數量),協助您高效應對業務流量波動,提高資源使用率,並節約成本。對於周期性有規律的業務波動,您可以通過定時任務實現在指定的時間點觸發伸縮規則,自動增加或減少一定數量的ECS執行個體。

適用情境

情境描述

業務需求周期性波動,需求量變化有規律,可以根據時間段來判斷流量高峰和低穀,按時間點自動增加或減少伺服器。

例如:某遊戲公司的業務量固定在每晚18點~23點的時間段內增長,需要增加伺服器,但在其他時段只需固定數量的伺服器保證日常營運。

解決方案

根據業務波動的時間點來設定定時任務,在相應的時間點自動觸發伸縮規則,從而實現定時自動擴縮容伺服器。

方案優勢

  • 零備機成本

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

  • 自動擴縮容

    通過定時任務實現在指定的時間點自動擴縮容,在滿足業務需求的同時節約資源和營運成本。

前提條件

首次使用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. 單擊建立定時任務,完成任務配置,然後單擊確認

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

    配置項

    描述

    任務名稱

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

    執行時間

    設定任務的觸發時間。

    伸縮方式

    選中選擇已有伸縮規則

    伸縮規則(簡單規則)

    選擇要執行的伸縮規則。

    週期

    設定任務的週期。例如:按天,每1天執行一次。

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

    定時任務

    配置樣本

    定時擴容

    • 任務名稱:scheduled-add

    • 執行時間:2024年5月16日 18:00

    • 伸縮方式:選擇已有伸縮規則

    • 伸縮規則(簡單規則):add

    • 週期:按天,每1天執行一次。

    定時縮容

    • 任務名稱:scheduled-remove

    • 執行時間:2024年5月16日 23:00

    • 伸縮方式:選擇已有伸縮規則

    • 伸縮規則(簡單規則):remove

    • 週期:按天,每1天執行一次。

驗證自動擴縮容效果

定時任務建立後,系統會自動按照任務的時間點來執行伸縮規則。

本樣本實現效果為:

  • 每天18點自動增加1台ECS執行個體

  • 每天23點自動減少1台ECS執行個體

您可以通過以下方式確認效果:

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

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