本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 建立 Amazon ECS 叢集自動擴展的資源 AWS Management Console
了解如何使用 建立叢集自動擴展的資源 AWS Management Console。當資源需要名稱時,我們使用 字首ConsoleTutorial
來確保它們都有唯一的名稱,並使其易於找到。
先決條件
本教學課程假設已完成下列先決條件:
-
已完成「設定以使用 Amazon ECS。」中的步驟。
-
您的 IAM 使用者具有 IAM AmazonECS_FullAccess 政策範例中指定的必要許可。
-
已建立 Amazon ECS 容器執行個體 IAM 角色。如需詳細資訊,請參閱Amazon ECS 容器執行個體 IAM 角色。
-
已建立 Amazon ECS 服務連結 IAM 角色。如需詳細資訊,請參閱使用 Amazon ECS 的服務連結角色。
-
已建立 Auto Scaling 服務連結 IAM 角色。如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的 Amazon EC2 Auto Scaling 的服務連結角色。
-
您已建立 VPC 和安全群組。如需詳細資訊,請參閱建立 Virtual Private Cloud。
步驟 1:建立 Amazon ECS 叢集。
使用下列步驟來建立 Amazon ECS 叢集。
Amazon ECS 會代表您建立 Amazon EC2 Auto Scaling 啟動範本和 Auto Scaling 群組,做為 AWS CloudFormation 堆疊的一部分。
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在導覽窗格中,選擇叢集,然後選擇建立叢集。
-
在叢集組態下的叢集名稱中,輸入
ConsoleTutorial-cluster
。 -
在基礎設施下,清除 AWS Fargate (無伺服器),然後選取 Amazon EC2 執行個體。接下來,設定作為容量提供者的 Auto Scaling 群組。
-
在 Auto Scaling 群組 (ASG) 下。選取建立新 ASG,然後提供有關該群組的下列詳細資訊:
-
在作業系統/架構中,選擇 Amazon Linux 2。
-
在 EC2 執行個體類型中,選擇 t3.nano。
-
對於容量,輸入 Auto Scaling 群組中要啟動的最小執行個體數和最大執行個體數。
-
-
-
(選用) 若要管理叢集標籤,請展開標籤,然後執行下列其中一項操作:
[新增標籤] 選擇新增標籤,並執行下列動作:
-
對於 Key (金鑰),輸入金鑰名稱。
-
對於 Value (值),進入金鑰值。
[移除標籤] 選擇標籤「金鑰」和「值」右側的移除。
-
-
選擇建立。
步驟 2:註冊任務定義
您必須先註冊任務定義,才能在您的叢集上執行任務。任務定義是分在一組的容器清單。以下範例是一種簡單的任務定義,使用 Docker Hub 的 amazonlinux
映像,且正好處於睡眠的狀態。如需可用之任務定義參數的詳細資訊,請參閱「Amazon ECS 任務定義」。
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在導覽窗格中,選擇 Task Definitions (任務定義)。
-
選擇 Create new task definitio (建立新任務定義)、Create new task definition with JSON (使用 JSON 建立新的任務定義)。
-
在 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" ] }
-
選擇建立。
步驟 3:執行任務
註冊帳戶的任務定義後,您就可以在叢集中執行任務。在本教學課程中,您會在 ConsoleTutorial-cluster
叢集中執行 ConsoleTutorial-taskdef
任務定義的五個執行個體。
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在叢集頁面上,選擇 ConsoleTutorial-cluster。
-
在任務下選擇執行新任務。
-
在環境區段的運算選項下,選擇容量提供者策略。
-
在部署組態下,針對應用程式類型選擇任務。
-
從系列下拉式清單中選擇 ConsoleTutorial-taskdef。
-
在所需的任務下,輸入 5。
-
選擇建立。
步驟 4:驗證
在本教學課程的這個階段,您應該擁有一個正在執行五個任務的叢集,以及一個具有容量提供者的 Auto Scaling 群組。容量提供者已啟用 Amazon ECS 受管擴展。
我們可以透過檢視 CloudWatch 指標、Auto Scaling 群組設定,最後是 Amazon ECS 叢集任務計數,以確認所有項目都正常運作。
檢視叢集的 CloudWatch 指標
透過 https://console.aws.amazon.com/cloudwatch/
開啟 CloudWatch 主控台。 -
在螢幕上方的導覽列上,選取區域。
-
在導覽窗格的指標下方,選擇所有指標。
-
在所有指標頁面的瀏覽索引標籤下,選擇
AWS/ECS/ManagedScaling
。 -
選擇 CapacityProviderName, ClusterName。
-
選取與
ConsoleTutorial-cluster
ClusterName 對應的核取方塊。 -
在圖表化指標標籤下,將期間變更為 30 秒,統計值變更為最大值。
圖表中顯示的值會顯示容量提供者的目標容量值。此值應從
100
開始,也就是我們設定的目標容量百分比。您應該會看到此值擴展到200
,這會觸發目標追蹤擴展政策的警示。此警示接著會觸發 Auto Scaling 群組水平擴展。
使用下列步驟來檢視 Auto Scaling 群組詳細資訊,以確認水平擴展動作已發生。
確認 Auto Scaling 群組已水平擴展
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在螢幕上方的導覽列上,選取區域。
-
在導覽窗格的 Auto Scaling 下,選擇 Auto Scaling Groups (Auto Scaling 群組)。
-
選擇在此教學課程中建立的
ConsoleTutorial-cluster
Auto Scaling 群組。檢視所需容量下的值,並檢視執行個體管理索引標籤下的執行個體,以確認您的群組是否橫向擴展至兩個執行個體。
使用下列步驟來檢視 Amazon ECS 叢集,以確認 Amazon EC2 執行個體已向叢集註冊,且您的任務已轉換為 RUNNING
狀態。
驗證 Auto Scaling 群組中的執行個體
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在導覽窗格中,選擇叢集。
-
在 Clusters (叢集) 頁面上,選擇
ConsoleTutorial-cluster
叢集。 -
在任務標籤上,確認您看到五個處於
RUNNING
狀態的任務。
步驟 5:清除
完成此教學課程時,清除與其相關的資源,以免未使用的資源產生費用。不支援刪除容量提供者和任務定義,但是這些資源都沒有相關聯的成本。
清除教學課程資源
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在導覽窗格中,選擇叢集。
-
在叢集頁面上,選擇 ConsoleTutorial-cluster。
-
在 ConsoleTutorial-cluster 頁面上,選擇任務索引標籤,然後依序選擇停止、全部停止。
-
在導覽窗格中,選擇叢集。
-
在叢集頁面上,選擇 ConsoleTutorial-cluster。
-
在頁面的右上角,選擇刪除叢集。
-
在確認方塊中,輸入 delete ConsoleTutorial-cluster,然後選擇刪除。
-
使用以下步驟刪除 Auto Scaling 群組。
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在螢幕上方的導覽列上,選取區域。
-
在導覽窗格的 Auto Scaling 下,選擇 Auto Scaling Groups (Auto Scaling 群組)。
-
選取
ConsoleTutorial-cluster
Auto Scaling 群組,然後選擇動作。 -
在 Actions (動作) 選單中,選擇 Delete (刪除)。在確認方塊中,輸入 delete,然後選擇刪除。