

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

# 使用 建立 Amazon ECS 叢集自動擴展的資源 AWS 管理主控台
<a name="tutorial-cluster-auto-scaling-console"></a>

了解如何使用 AWS 管理主控台建立叢集自動擴展資源。資源需要名稱時，我們將使用字首 `ConsoleTutorial` 來確保這些資源都具有唯一的名稱，讓使用者能輕鬆找到資源。

**Topics**
+ [先決條件](#console-tutorial-prereqs)
+ [步驟 1：建立 Amazon ECS 叢集](#console-tutorial-cluster)
+ [步驟 2：註冊任務定義](#console-tutorial-register-task-definition)
+ [步驟 3：執行任務](#console-tutorial-run-task)
+ [步驟 4：驗證](#console-tutorial-verify)
+ [步驟 5：清除](#console-tutorial-cleanup)

## 先決條件
<a name="console-tutorial-prereqs"></a>

本教學課程假設已完成下列先決條件：
+ 已完成「[設定以使用 Amazon ECS。](get-set-up-for-amazon-ecs.md)」中的步驟。
+ 您的 IAM 使用者擁有 [AmazonECS\_FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonECS_FullAccess) IAM 政策範例中指定的所需許可。
+ 已建立 Amazon ECS 容器執行個體 IAM 角色。如需詳細資訊，請參閱[Amazon ECS 容器執行個體 IAM 角色](instance_IAM_role.md)。
+ 已建立 Amazon ECS 服務連結 IAM 角色。如需詳細資訊，請參閱[使用 Amazon ECS 的服務連結角色](using-service-linked-roles.md)。
+ 已建立 Auto Scaling 服務連結 IAM 角色。如需詳細資訊，請參閱《Amazon EC2 Auto Scaling 使用者指南》**中的 [Amazon EC2 Auto Scaling 的服務連結角色](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html)。
+ 您已建立 VPC 和安全群組。如需詳細資訊，請參閱[建立 Virtual Private Cloud](get-set-up-for-amazon-ecs.md#create-a-vpc)。

## 步驟 1：建立 Amazon ECS 叢集
<a name="console-tutorial-cluster"></a>

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

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

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在導覽窗格中，選擇**叢集**，然後選擇**建立叢集**。

1. 在**叢集組態**下的**叢集名稱**中，輸入 `ConsoleTutorial-cluster`。

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

   1. 在 **Auto Scaling 群組 (ASG)** 下。選取**建立新 ASG**，然後提供有關該群組的下列詳細資訊：
     + 在**作業系統/架構**中，選擇 **Amazon Linux 2**。
     + 在 **EC2 執行個體類型**中，選擇 **t3.nano**。
     + 對於**容量**，輸入 Auto Scaling 群組中要啟動的最小執行個體數和最大執行個體數。

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

   [新增標籤] 選擇**新增標籤**，並執行下列動作：
   + 在**金鑰**欄位中，輸入金鑰名稱。
   + 在**值**欄位中，輸入金鑰值。

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

1. 選擇**建立**。

## 步驟 2：註冊任務定義
<a name="console-tutorial-register-task-definition"></a>

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

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在導覽窗格中，選擇 **Task Definitions** (任務定義)。

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

1. 在 **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"
       ]
   }
   ```

1. 選擇**建立**。

## 步驟 3：執行任務
<a name="console-tutorial-run-task"></a>

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

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在**叢集**頁面上，選擇 **ConsoleTutorial-cluster**。

1. 在**任務**下選擇**執行新任務**。

1. 在**環境**區段的**運算選項**下，選擇**容量提供者策略**。

1. 在**部署組態**下，針對**應用程式類型**選擇**任務**。

1.  從**系列**下拉式清單中選擇 **ConsoleTutorial-taskdef**。

1. 在**所需的任務**下，輸入 5。

1. 選擇**建立**。

## 步驟 4：驗證
<a name="console-tutorial-verify"></a>

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

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

**檢視叢集的 CloudWatch 指標**

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

1. 在螢幕上方的導覽列上，選取區域。

1. 在導覽窗格的**指標**下方，選擇**所有指標**。

1. 在**所有指標**頁面的**瀏覽**索引標籤下，選擇 `AWS/ECS/ManagedScaling`。

1. 選擇 **CapacityProviderName, ClusterName**。

1. 選取與 `ConsoleTutorial-cluster` ** ClusterName** 對應的核取方塊。

1. 在**圖表化指標**標籤下，將**期間**變更為 **30 秒**，**統計值**變更為**最大值**。

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

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

**確認 Auto Scaling 群組已水平擴展**

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

1. 在螢幕上方的導覽列上，選取區域。

1. 在導覽窗格的 **Auto Scaling** 下，選擇 **Auto Scaling Groups (Auto Scaling 群組)**。

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

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

**驗證 Auto Scaling 群組中的執行個體**

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在導覽窗格中，選擇**叢集**。

1. 在 **Clusters** (叢集) 頁面上，選擇 `ConsoleTutorial-cluster` 叢集。

1. 在**任務**標籤上，確認您看到五個處於 `RUNNING` 狀態的任務。

## 步驟 5：清除
<a name="console-tutorial-cleanup"></a>

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

**清除教學課程資源**

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在導覽窗格中，選擇**叢集**。

1. 在**叢集**頁面上，選擇 **ConsoleTutorial-cluster**。

1. 在 **ConsoleTutorial-cluster** 頁面上，選擇**任務**索引標籤，然後依序選擇**停止**、**全部停止**。

1. 在導覽窗格中，選擇**叢集**。

1. 在**叢集**頁面上，選擇 **ConsoleTutorial-cluster**。

1. 在頁面右上角，選擇**刪除叢集**。

1. 在確認方塊中，輸入 **delete **ConsoleTutorial-cluster****，然後選擇**刪除**。

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

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

   1. 在螢幕上方的導覽列上，選取區域。

   1. 在導覽窗格的 **Auto Scaling** 下，選擇 **Auto Scaling Groups (Auto Scaling 群組)**。

   1. 選取 `ConsoleTutorial-cluster` Auto Scaling 群組，然後選擇**動作**。

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