

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

# 為 Amazon EC2 工作負載建立 Amazon ECS 叢集
<a name="create-ec2-cluster-console-v2"></a>

您可以透過建立叢集，定義任務與服務執行所在的基礎結構。

開始之前，請務必先完成 [設定以使用 Amazon ECS。](get-set-up-for-amazon-ecs.md) 中的步驟，並指派適當的 IAM 許可。如需詳細資訊，請參閱[Amazon ECS 叢集範例](security_iam_id-based-policy-examples.md#IAM_cluster_policies)。Amazon ECS 主控台提供簡單的方法來透過建立 CloudFormation 堆疊來建立 Amazon ECS 叢集所需的資源。

為了使叢集建立程序盡可能簡單，主控台提供了許多可供選擇的預設選項，我們將在下方加以說明。主控台的大多數區段還有說明面板，以提供更多上下文。

您可以在建立叢集時註冊 Amazon EC2 執行個體，或在建立叢集之後用叢集註冊其他執行個體。

您可以修改下列預設選項：
+ 變更執行個體啟動所在的子網路。
+ 變更用於控制容器執行個體流量的安全群組。
+ 將命名空間新增至叢集。

  命名空間可讓您在叢集中建立的服務連線到命名空間中的其他服務，而不需要額外的組態。如需詳細資訊，請參閱[互連 Amazon ECS 服務](interconnecting-services.md)。
+ 啟用任務事件以接收任務狀態變更的 EventBridge 通知。
+ 為您的受管儲存指派 AWS KMS 金鑰。如需有關如何建立金鑰的資訊，請參閱 *AWS Key Management Service User Guide* 中的 [Create a KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。
+ 為您的 Fargate 暫時性儲存指派 AWS KMS 金鑰。如需有關如何建立金鑰的資訊，請參閱 *AWS Key Management Service User Guide* 中的 [Create a KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。
+ 設定 ECS Exec 的 AWS KMS 金鑰和記錄。
+ 新增標籤以協助您識別叢集。

## Auto Scaling 群組選項
<a name="capacity-providers"></a>

如果使用 Amazon EC2 執行個體，則必須指定 Auto Scaling 群組來管理任務和服務執行所在的基礎設施。

當您選擇建立新的 Auto Scaling 群組時，系統會自動設定為以下行為：
+ Amazon ECS 管理 Auto Scaling 群組的縮減和水平擴展動作。
+ Amazon ECS 不會防止包含任務和位於 Auto Scaling 群組中的 Amazon EC2 執行個體在縮減動作期間被終止。如需詳細資訊，請參閱 *AWS Auto Scaling 使用者指南*中的[執行個體保護](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection)。

您可以設定以下 Auto Scaling 群組屬性，以確定要為群組啟動的執行個體類型和數量：
+ Amazon ECS 最佳化 AMI。
+ 執行個體類型。
+ 連線到執行個體時證明您身分的 SSH 金鑰對。如需有關如何建立 SSH 金鑰的資訊，請參閱 *Amazon EC2 User Guide* 中的 [Amazon EC2 key pairs and Linux instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。
+ 要為 Auto Scaling 群組啟動的最小執行個體數量。
+ 將為 Auto Scaling 群組啟動的最大執行個體數量。

  為了水平擴展群組，最大值必須大於 0。

作為 CloudFormation 堆疊的一部分，Amazon ECS 代表您建立 Amazon EC2 Auto Scaling 啟動範本和 Auto Scaling 群組。您為 AMI、執行個體類型和 SSH 金鑰對指定的值為啟動範本的一部分。範本字首會加上 `EC2ContainerService-<ClusterName>`，這使得它們容易識別。Auto Scaling 群組的字首為 `<ClusterName>-ECS-Infra-ECSAutoScalingGroup`。

為 Auto Scaling 群組啟動的執行個體使用啟動範本。

## 聯網選項
<a name="networking-options"></a>

根據預設，執行個體會啟動至「區域」的預設子網路中。系統會使用目前與子網路相關聯的安全群組，此群組可控制容器執行個體的流量。您可以變更執行個體的子網路和安全群組。

您可以選擇現有的子網路。您可以使用現有的安全群組，或建立新的安全群組。若要以純 IPv6 組態建立任務，請使用僅包含 IPv6 CIDR 區塊的子網路。

建立新的安全群組時，必須指定至少一個傳入規則。

傳入規則會決定哪些流量可以連接到您的容器執行個體，並包含下列屬性：
+ 要允許的通訊協定
+ 要允許的連接埠範圍
+ 傳入流量 (來源)

若要允許來自特定位址或 CIDR 區塊的傳入流量，請針對**來源**使用**自訂**選項，且具有允許的 CIDR。

若要允許來自所有目的地的傳入流量，請針對**來源**使用**隨處**。此選項會自動新增 0.0.0.0/0 IPv4 CIDR 區塊和 ::/0 IPv6 CIDR 區塊。

若要允許來自本機電腦的傳入流量，請針對**來源**使用**來源群組**。這會自動將您本機電腦目前的 IP 地址新增為允許的來源。

**建立新叢集 (Amazon ECS 主控台)**

在開始之前，請指派適當的 IAM 許可。如需詳細資訊，請參閱[Amazon ECS 叢集範例](security_iam_id-based-policy-examples.md#IAM_cluster_policies)。

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

1. 從導覽列中選取要使用的「區域」。

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

1. 在 **Clusters** (叢集) 頁面上，選擇 **Create cluster** (建立叢集)。

1. 在**叢集組態**下，設定下列項目：
   + 在**叢集名稱**下輸入唯一的名稱。

     名稱可以包含最多 255 個字母 (大小寫)、數字與連字號。
   + (選用) 若要讓 Service Connect 使用的命名空間與叢集名稱不同，請在 **Service Connect 預設值**區段的**預設命名空間**欄位中，選擇或輸入命名空間名稱。若要使用共用命名空間，請選擇或輸入命名空間 ARN。如需有關使用共用命名空間的詳細資訊，請參閱 [具有共用 AWS Cloud Map 命名空間的 Amazon ECS Service Connect](service-connect-shared-namespaces.md)。

1. 將 Amazon EC2 執行個體新增至叢集，展開**基礎結構**區段，然後選取 **Fargate 與自行管理執行個體**。

   接下來，設定作為容量提供者的 Auto Scaling 群組：

   1. 要使用現有 Auto Scaling 群組，請從 **Auto Scaling group (ASG)** (Auto Scaling 群組 (ASG)) 中選取該群組。

   1. 若要建立 Auto Scaling 群組，請從 **Auto Scaling group (ASG)** (Auto Scaling 群組 (ASG)) 中選取 **Create new group** (建立新群組)，然後提供有關該群組的下列詳細資訊：
      + 在**佈建模型**欄位中，選擇要使用**隨需**執行個體或是 **Spot** 執行個體。
      + 如果選擇使用 Spot 執行個體，請在**配置策略**欄位中，選擇執行個體要使用的 Spot 容量集區 (執行個體類型與可用區域)。

        對於大多數工作負載，您可以選擇**價格容量最佳化**。

        如需詳細資訊，請參閱《Amazon EC2 使用者指南》**中的 [Spot 執行個體的分配策略](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-allocation-strategy.html)。
      + 在**容器執行個體 Amazon Machine Image (AMI)**欄位中，選擇適用於 Auto Scaling 群組執行個體的 Amazon ECS 最佳化 AMI。
      + 對於 **EC2 instance type** (EC2 執行個體類型)，選擇適合您工作負載的執行個體類型。

         如果 Auto Scaling 群組使用相同或類似的執行個體類型，則受管擴展效果最佳。
      + 在 **EC2 執行個體角色**欄位中，您可以選擇現有的容器執行個體角色，也可以建立新的容器執行個體角色。

        如需詳細資訊，請參閱[Amazon ECS 容器執行個體 IAM 角色](instance_IAM_role.md)。
      + 對於**容量**，輸入 Auto Scaling 群組中要啟動的最小執行個體數和最大執行個體數。
      + 對於 **SSH key pair** (SSH 金鑰對)，選擇在連線到執行個體時證明您身分的金鑰對。
      + 若要允許較大的映像與儲存空間，在**根 EBS 磁碟區大小**欄位中，請輸入以 GiB 為單位的值。

1. (選用) 若要變更 VPC 和子網路，請在 **Amazon EC2 執行個體的聯網能力**下，執行下列任一操作：
   + 若要移除子網路，請在 **Subnets** (子網路) 下，對您要移除之每一個子網路選擇 **X**。
   + 若要變更為非**預設** VPC，請在 **VPC** 下，選擇現有的 **VPC**，然後在**子網路**下選擇子網路。對於純 IPv6 組態，選擇具有 IPv6 CIDR 區塊的 VPC，以及僅具有 IPv6 CIDR 區塊的子網路。
   + 選擇安全群組。在**安全群組**下，選擇以下其中一個選項：
     + 若要使用現有的安全群組，請選擇**使用現有安全群組**，然後選擇安全群組。
     + 若要建立安全群組，請選擇**建立新的安全群組**。然後，針對傳入規則選擇**新增規則**。

       如需傳入規則的資訊，請參閱 [聯網選項](#networking-options)。
   + 若要自動將公有 IP 地址指派給 Amazon EC2 容器執行個體，針對**自動指派公有 IP**，請選擇下列其中一個選項：
     + **使用子網路設定**：當執行個體啟動的子網路為公有子網路時，將公有 IP 地址指派給行個體。
     + **開啟**：將公有 IP 位址指派給執行個體。

1. (選用) 使用 Container Insights，展開**監控**區段，然後選擇下列任一選項：
   + 若要使用建議的具有增強可觀測性的 Container Insights，請選擇**具有增強可觀測性的 Container Insights**。
   + 若要使用 Container Insights，請選擇 **Container Insights**。

1. （選用） 若要啟用任務事件，請展開**任務事件**，然後開啟**啟用任務事件**。

   當您啟用任務事件時，Amazon ECS 會將任務狀態變更事件傳送至 EventBridge。這可讓您自動監控和回應任務生命週期變更。

1. (選用) 若要使用 ECS Exec 在叢集中偵錯任務，請展開**疑難排解組態**區段，然後設定下列項目：
   + （選用） 對於 **AWS KMS ECS Exec 的金鑰**，輸入您要用來加密 ECS Exec 工作階段資料的 AWS KMS 金鑰 ARN。
   + (選用) 在 **ECS Exec 記錄**欄位中，選擇日誌目的地：
     + 若要將日誌傳送至 CloudWatch Logs，請選擇 **Amazon CloudWatch**。
     + 若要將日誌傳送至 Amazon S3，請選擇 **Amazon S3**。
     + 若要停用記錄，請選擇**無**。

1. (選用)

   如果搭配手動選項使用執行時期監控，而且想讓 GuardDuty 監控此叢集，請選擇**新增標籤**並執行下列動作：
   + 在**鍵**欄位中，輸入 **guardDutyRuntimeMonitoringManaged**
   + 針對**數值**，輸入 **true**。

1. (選用) 加密受管儲存上的資料。在**加密**下，針對**受管儲存**，輸入您要用來加密受管儲存資料的 AWS KMS 金鑰 ARN。

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

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

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

1. 選擇**建立**。

## 後續步驟
<a name="ec2-cluster-next-steps"></a>

建立叢集之後，您可以為應用程式建立任務定義，然後將它們當做獨立任務或服務的一部分執行。如需詳細資訊，請參閱下列內容：
+ [Amazon ECS 任務定義](task_definitions.md)
+ [將應用程式作為 Amazon ECS 任務執行](standalone-task-create.md)
+ [建立 Amazon ECS 滾動更新部署](create-service-console-v2.md)