使用 建立 Amazon ECS 叢集自動擴展的資源 AWS Management Console - Amazon Elastic Container Service

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

使用 建立 Amazon ECS 叢集自動擴展的資源 AWS Management Console

了解如何使用 建立叢集自動擴展的資源 AWS Management Console。當資源需要名稱時,我們使用 字首ConsoleTutorial來確保它們都有唯一的名稱,並使其易於找到。

先決條件

本教學課程假設已完成下列先決條件:

步驟 1:建立 Amazon ECS 叢集。

使用下列步驟來建立 Amazon ECS 叢集。

Amazon ECS 會代表您建立 Amazon EC2 Auto Scaling 啟動範本和 Auto Scaling 群組,做為 AWS CloudFormation 堆疊的一部分。

  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇叢集,然後選擇建立叢集

  3. 叢集組態下的叢集名稱中,輸入 ConsoleTutorial-cluster

  4. 基礎設施下,清除 AWS Fargate (無伺服器),然後選取 Amazon EC2 執行個體。接下來,設定作為容量提供者的 Auto Scaling 群組。

    1. Auto Scaling 群組 (ASG) 下。選取建立新 ASG,然後提供有關該群組的下列詳細資訊:

      • 作業系統/架構中,選擇 Amazon Linux 2

      • EC2 執行個體類型中,選擇 t3.nano

      • 對於容量,輸入 Auto Scaling 群組中要啟動的最小執行個體數和最大執行個體數。

  5. (選用) 若要管理叢集標籤,請展開標籤,然後執行下列其中一項操作:

    [新增標籤] 選擇新增標籤,並執行下列動作:

    • 對於 Key (金鑰),輸入金鑰名稱。

    • 對於 Value (值),進入金鑰值。

    [移除標籤] 選擇標籤「金鑰」和「值」右側的移除

  6. 選擇建立

步驟 2:註冊任務定義

您必須先註冊任務定義,才能在您的叢集上執行任務。任務定義是分在一組的容器清單。以下範例是一種簡單的任務定義,使用 Docker Hub 的 amazonlinux 映像,且正好處於睡眠的狀態。如需可用之任務定義參數的詳細資訊,請參閱「Amazon ECS 任務定義」。

  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇 Task Definitions (任務定義)。

  3. 選擇 Create new task definitio (建立新任務定義)、Create new task definition with JSON (使用 JSON 建立新的任務定義)。

  4. JSON 編輯器方塊中貼上下列內容。

    { "family": "ConsoleTutorial-taskdef", "containerDefinitions": [ { "name": "sleep", "image": "public.ecr.aws/amazonlinux/amazonlinux:latest", "memory": 20, "essential": true, "command": [ "sh", "-c", "sleep infinity" ] } ], "requiresCompatibilities": [ "EC2" ] }
  5. 選擇建立

步驟 3:執行任務

註冊帳戶的任務定義後,您就可以在叢集中執行任務。在本教學課程中,您會在 ConsoleTutorial-cluster 叢集中執行 ConsoleTutorial-taskdef 任務定義的五個執行個體。

  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 叢集頁面上,選擇 ConsoleTutorial-cluster

  3. 任務下選擇執行新任務

  4. 環境區段的運算選項下,選擇容量提供者策略

  5. 部署組態下,針對應用程式類型選擇任務

  6. 系列下拉式清單中選擇 ConsoleTutorial-taskdef

  7. 所需的任務下,輸入 5。

  8. 選擇建立

步驟 4:驗證

在本教學課程的這個階段,您應該擁有一個正在執行五個任務的叢集,以及一個具有容量提供者的 Auto Scaling 群組。容量提供者已啟用 Amazon ECS 受管擴展。

我們可以透過檢視 CloudWatch 指標、Auto Scaling 群組設定,最後是 Amazon ECS 叢集任務計數,以確認所有項目都正常運作。

檢視叢集的 CloudWatch 指標
  1. 透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  2. 在螢幕上方的導覽列上,選取區域。

  3. 在導覽窗格的指標下方,選擇所有指標

  4. 所有指標頁面的瀏覽索引標籤下,選擇 AWS/ECS/ManagedScaling

  5. 選擇 CapacityProviderName, ClusterName

  6. 選取與 ConsoleTutorial-cluster ClusterName 對應的核取方塊。

  7. 圖表化指標標籤下,將期間變更為 30 秒統計值變更為最大值

    圖表中顯示的值會顯示容量提供者的目標容量值。此值應從 100 開始,也就是我們設定的目標容量百分比。您應該會看到此值擴展到 200,這會觸發目標追蹤擴展政策的警示。此警示接著會觸發 Auto Scaling 群組水平擴展。

使用下列步驟來檢視 Auto Scaling 群組詳細資訊,以確認水平擴展動作已發生。

確認 Auto Scaling 群組已水平擴展
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在螢幕上方的導覽列上,選取區域。

  3. 在導覽窗格的 Auto Scaling 下,選擇 Auto Scaling Groups (Auto Scaling 群組)

  4. 選擇在此教學課程中建立的 ConsoleTutorial-cluster Auto Scaling 群組。檢視所需容量下的值,並檢視執行個體管理索引標籤下的執行個體,以確認您的群組是否橫向擴展至兩個執行個體。

使用下列步驟來檢視 Amazon ECS 叢集,以確認 Amazon EC2 執行個體已向叢集註冊,且您的任務已轉換為 RUNNING 狀態。

驗證 Auto Scaling 群組中的執行個體
  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇叢集

  3. Clusters (叢集) 頁面上,選擇 ConsoleTutorial-cluster 叢集。

  4. 任務標籤上,確認您看到五個處於 RUNNING 狀態的任務。

步驟 5:清除

完成此教學課程時,清除與其相關的資源,以免未使用的資源產生費用。不支援刪除容量提供者和任務定義,但是這些資源都沒有相關聯的成本。

清除教學課程資源
  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇叢集

  3. 叢集頁面上,選擇 ConsoleTutorial-cluster

  4. ConsoleTutorial-cluster 頁面上,選擇任務索引標籤,然後依序選擇停止全部停止

  5. 在導覽窗格中,選擇叢集

  6. 叢集頁面上,選擇 ConsoleTutorial-cluster

  7. 在頁面的右上角,選擇刪除叢集

  8. 在確認方塊中,輸入 delete ConsoleTutorial-cluster,然後選擇刪除

  9. 使用以下步驟刪除 Auto Scaling 群組。

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

    2. 在螢幕上方的導覽列上,選取區域。

    3. 在導覽窗格的 Auto Scaling 下,選擇 Auto Scaling Groups (Auto Scaling 群組)

    4. 選取 ConsoleTutorial-cluster Auto Scaling 群組,然後選擇動作

    5. Actions (動作) 選單中,選擇 Delete (刪除)。在確認方塊中,輸入 delete,然後選擇刪除