步驟擴展:使用步驟擴展政策來擴展 Spot 機群 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟擴展:使用步驟擴展政策來擴展 Spot 機群

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

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

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

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

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

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

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

先決條件
  • Spot 機群請求必須具有 maintain 的請求類型。類型 request 的請求不支援自動擴展功能。

  • 設定 Spot Fleet 自動擴展所需的 IAM 許可

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

  • 對於您將在擴展政策中使用的 AWS 指標,如果提供指標的服務預設未啟用 CloudWatch 指標集合,則啟用 CloudWatch 指標集合。

  • 請參閱考量事項

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

  2. 在導覽窗格中,展開警示,然後選擇所有警示

  3. 選擇建立警示

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

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

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

  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 請求。

  4. 選擇畫面底部附近的自動擴展索引標籤。如果您已選取 Spot 機群的連結,則沒有索引標籤;而是向下捲動至自動擴展區段。

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

  6. 利用容量擴展的範圍來設定機群的最低和最高容量。擴展政策不會將機群的規模擴展到小於最低容量或大於最高容量。

  7. 擴展政策下,針對政策類型,選擇步驟擴展政策

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

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

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

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

    3. 針對修改容量,請定義要擴展的量以及步驟調整的下限與上限。您可以新增或移除特定數量的執行個體,或現有機群大小的百分比,或將機群設為確切大小。

      例如,若要建立可將機群容量增加 30% 的步驟擴展政策,請選擇新增,在下一個欄位中輸入 30,然後選擇百分比。根據預設,新增政策的下限為警示閾值,而上限為無限大正數 (+) 值。根據預設,移除政策的上限為警示閾值,而下限為無限小負數 (-) 值。

    4. (選用) 若要新增另一個步驟,請選擇新增步驟

    5. 針對冷卻時間,請指定一個新值 (以秒為單位) 或保留預設值。

  10. 選擇 Save (儲存)。

使用 設定 Spot 機群的步驟擴展政策 AWS CLI
  1. 使用 register-scalable-target 命令,將 Spot Fleet 請求註冊為可擴充的目標。

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

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