使用步進擴展政策來擴展 Spot Fleet - Amazon Elastic Compute Cloud

使用步進擴展政策來擴展 Spot Fleet

如果使用步進規模調整政策,您可以指定 CloudWatch 警示來觸發規模調整程序。例如,如果想在 CPU 的利用率達到某個水準時擴展,請使用 Amazon EC2 所提供的 CPUUtilization 指標來建立警示。

建立步進規模調整政策時,您必須指定下列規模調整類型的其中一種:

  • 新增 – 根據指定的容量單位數量或指定的目前容量百分比,來增加機群的目標容量。

  • 移除 – 根據指定的容量單位數量或指定的目前容量百分比,來減少機群的目標容量。

  • 設定為 – 將機群的目標容量設定為指定的容量單位數量。

警示觸發時,自動擴展程序會利用已實現的容量和規模調整政策,來計算出新的目標容量,然後據以更新目標容量。例如,假設目標容量為和已實現的容量為 10,而且規模調整政策會增加 1。當警示觸發時,自動擴展程序會將 10 加上 1 而得出 11,因此 Spot Fleet 會啟動 1 個執行個體。

當 Spot Fleet 因為目標容量減少而終止執行個體時,執行個體會收到 Spot 執行個體中斷通知。

限制

Spot Fleet 請求必須具有 maintain 的請求類型。類型 request 的請求或 Spot 區塊不支援自動擴展功能。

先決條件

  • 思考哪些 CloudWatch 指標對您的應用程式是重要的。您可以根據 AWS 所提供的指標或您自己的自訂指標,來建立 CloudWatch 警示。

  • 針對將會在規模調整政策中使用的 AWS 指標,如果提供指標的服務並未預設為啟用指標,請啟用 CloudWatch 指標集合。

建立 CloudWatch 警示

  1. 透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  2. 在導覽窗格中,選擇 Alarms (警示)。

  3. 選擇建立警示

  4. 指定指標和條件頁面上,選擇選取指標

  5. 選擇 EC2 Spot機群請求指標,選取指標 (例如,TargetCapacity),然後選擇 Select metric (選取指標)。

    指定指標和條件頁面隨即出現,顯示您選取指標的圖形及其他資訊。

  6. 針對期間,選擇警示的評估期間,例如,1 分鐘。評估警示時,每個期間都會彙整為一個資料點。

    注意

    期間越短會建立更敏感的警示。

  7. 針對條件,透過定義閾值條件來定義警示。例如,您可以定義一個閾值,設定每當指標值大於或等於 80% 時,即會觸發警示。

  8. 其他組態 下,針對要產生警示的資料點,指定多少資料點 (評估期間) 必須處於 ALARM 狀態才會觸發警示,例如,1 評估期間或 3 個中的 2 個評估期間。這樣建立的警示會在連續超過這麼多期間時進入 ALARM 狀態。如需詳細資訊,請參閱Amazon CloudWatch 使用者指南中的評估警示

  9. 對於遺失資料處理,選擇其中之一個選項 (或保留預設的 將遺失資料視為遺失)。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的設定 CloudWatch 警示如何處理遺失資料

  10. 選擇下一步

  11. (選用) 若要接收擴展事件的通知,針對通知,您可以選擇或建立您要用於接收通知的 Amazon SNS 主題。否則,您可以立即刪除通知,並根據需要在之後新增通知。

  12. 選擇下一步

  13. 新增描述下,輸入警示的名稱和描述,然後選擇下一步

  14. 選擇建立警示

為您的 Spot Fleet 設定步進擴展政策 (主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在瀏覽窗格中,選擇 Spot 請求

  3. 選取 Spot Fleet 請求,然後選擇 Auto Scaling

  4. 如果未設定自動擴展,請選擇設定

  5. 利用容量擴展的範圍來設定機群的最低和最高容量。自動擴展功能不會將機群的規模擴展到小於最低容量或大於最高容量。

  6. 一開始,擴展政策 包含名為 ScaleUp 和 ScaleDown 的政策。您可以完成這些政策,或是選擇移除政策來刪除政策。您也可以選擇新增政策

  7. 若要定義政策,請執行下列的動作:

    1. 針對 Policy Name (政策名稱),請輸入政策的名稱。

    2. 針對政策觸發器,選擇現有的警示,或是選擇建立新的警示來開啟 Amazon CloudWatch 主控台,然後建立警示。

    3. 針對修改容量,依序選擇擴展調整類型、數量、單位。

    4. (選用) 若要執行步進擴展,請選擇定義步進。根據預設,新增政策具有負無限的下限和警示閥值的上限。根據預設,移除政策具有警示閥值的下限和 +無限的上限。若要新增另一個步驟,請選擇新增步驟

    5. (選用) 若要修改冷卻時間的預設值,請從冷卻時間選擇數字。

  8. 選擇 Save (儲存)。

若要使用 AWS CLI 來設定 Spot Fleet 的步進擴展政策

  1. 使用 register-scalable-target 命令,將 Spot Fleet 請求註冊為可擴充的目標。

  2. 使用 put-scaling-policy 命令,來建立擴展政策。

  3. 使用 put-metric-alarm 命令,來建立觸發擴展政策的警示。