為 Amazon EC2 工作負載建立 Amazon ECS 叢集 - Amazon Elastic Container Service

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

為 Amazon EC2 工作負載建立 Amazon ECS 叢集

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

開始之前,請務必先完成 設定以使用 Amazon ECS。 中的步驟,並指派適當的 IAM 許可。如需詳細資訊,請參閱Amazon ECS 叢集範例。Amazon ECS 主控台提供簡單的方法,透過建立 CloudFormation 堆疊來建立 Amazon ECS 叢集所需的資源。

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

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

您可以修改下列預設選項:

  • 變更執行個體啟動所在的子網路。

  • 變更用於控制容器執行個體流量的安全群組。

  • 將命名空間新增至叢集。

    命名空間可讓您在叢集中建立的服務連線到命名空間中的其他服務,而不需要額外的組態。如需詳細資訊,請參閱互連 Amazon ECS 服務

  • 啟用任務事件以接收任務狀態變更的 EventBridge 通知。

  • 為您的受管儲存指派 AWS KMS 金鑰。如需有關如何建立金鑰的資訊,請參閱 AWS Key Management Service User Guide 中的 Create a KMS key

  • 為您的 Fargate 暫時性儲存指派 AWS KMS 金鑰。如需有關如何建立金鑰的資訊,請參閱 AWS Key Management Service User Guide 中的 Create a KMS key

  • 設定 ECS Exec 的 AWS KMS 金鑰和記錄。

  • 新增標籤以協助您識別叢集。

Amazon EC2 Auto Scaling 群組選項

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

當您選擇建立新的 Amazon EC2 Auto Scaling 群組時,它會自動設定為下列行為:

  • Amazon ECS 會管理 Amazon EC2 Auto Scaling 群組的向內擴展和向外擴展動作。

  • Amazon ECS 不會阻止在縮減動作期間終止包含任務和 Amazon EC2 Auto Scaling 群組中的 Amazon EC2 執行個體。如需詳細資訊,請參閱 AWS Auto Scaling 使用者指南中的執行個體保護

您可以設定下列 Amazon EC2 Auto Scaling 群組屬性,以決定群組要啟動的執行個體類型和數量:

  • Amazon ECS 最佳化 AMI。

  • 執行個體類型。

  • 連線到執行個體時證明您身分的 SSH 金鑰對。如需有關如何建立 SSH 金鑰的資訊,請參閱 Amazon EC2 User Guide 中的 Amazon EC2 key pairs and Linux instances

  • 要為 Amazon EC2 Auto Scaling 群組啟動的執行個體數量下限。

  • Amazon EC2 Auto Scaling 群組啟動的執行個體數量上限。

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

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

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

聯網選項

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

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

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

傳入規則會決定哪些流量可以連接到您的容器執行個體,並包含下列屬性:

  • 要允許的通訊協定

  • 要允許的連接埠範圍

  • 傳入流量 (來源)

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

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

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

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

在開始之前,請指派適當的 IAM 許可。如需詳細資訊,請參閱Amazon ECS 叢集範例

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

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

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

  4. Clusters (叢集) 頁面上,選擇 Create cluster (建立叢集)。

  5. 叢集組態下,設定下列項目:

    • 叢集名稱下輸入唯一的名稱。

      名稱可以包含最多 255 個字母 (大小寫)、數字與連字號。

    • (選用) 若要讓 Service Connect 使用的命名空間與叢集名稱不同,請在 Service Connect 預設值區段的預設命名空間欄位中,選擇或輸入命名空間名稱。若要使用共用命名空間,請選擇或輸入命名空間 ARN。如需有關使用共用命名空間的詳細資訊,請參閱 搭配共用 AWS Cloud Map 命名空間使用 Amazon ECS Service Connect

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

    接著,設定做為容量提供者的 Amazon EC2 Auto Scaling 群組:

    1. 若要使用現有的 Amazon EC2 Auto Scaling 群組,請從 Auto Scaling 群組 (ASG) 選取群組。

    2. 若要建立 Amazon EC2 Auto Scaling 群組,請從 Auto Scaling 群組 (ASG) 中選取建立新群組,然後提供群組的下列詳細資訊:

      • 佈建模型欄位中,選擇要使用隨需執行個體或是 Spot 執行個體。

      • 如果選擇使用 Spot 執行個體,請在配置策略欄位中,選擇執行個體要使用的 Spot 容量集區 (執行個體類型與可用區域)。

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

        如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的 Spot 執行個體的分配策略

      • 針對容器執行個體 Amazon Machine Image (AMI),選擇 Amazon EC2 Auto Scaling 群組執行個體的 Amazon EC2 最佳化 AMI。

      • 對於 EC2 instance type (EC2 執行個體類型),選擇適合您工作負載的執行個體類型。

        如果您的 Amazon EC2 Auto Scaling 群組使用相同或類似的執行個體類型,受管擴展效果最佳。

      • EC2 執行個體角色欄位中,您可以選擇現有的容器執行個體角色,也可以建立新的容器執行個體角色。

        如需詳細資訊,請參閱Amazon ECS 容器執行個體 IAM 角色

      • 針對容量,輸入要在 Amazon EC2 Auto Scaling 群組中啟動的執行個體數量下限和數量上限。

      • 對於 SSH key pair (SSH 金鑰對),選擇在連線到執行個體時證明您身分的金鑰對。

      • 若要允許較大的映像與儲存空間,在根 EBS 磁碟區大小欄位中,請輸入以 GiB 為單位的值。

  7. (選用) 若要變更 VPC 和子網路,請在 Amazon EC2 執行個體的聯網能力下,執行下列任一操作:

    • 若要移除子網路,請在 Subnets (子網路) 下,對您要移除之每一個子網路選擇 X

    • 若要變更為非預設 VPC,請在 VPC 下,選擇現有的 VPC,然後在子網路下選擇子網路。對於純 IPv6 組態,選擇具有 IPv6 CIDR 區塊的 VPC,以及僅具有 IPv6 CIDR 區塊的子網路。

    • 選擇安全群組。在安全群組下,選擇以下其中一個選項:

      • 若要使用現有的安全群組,請選擇使用現有安全群組,然後選擇安全群組。

      • 若要建立安全群組,請選擇建立新的安全群組。然後,針對傳入規則選擇新增規則

        如需傳入規則的資訊,請參閱 聯網選項

    • 若要自動將公有 IP 地址指派給 Amazon EC2 容器執行個體,針對自動指派公有 IP,請選擇下列其中一個選項:

      • 使用子網路設定:當執行個體啟動的子網路為公有子網路時,將公有 IP 地址指派給行個體。

      • 開啟:將公有 IP 位址指派給執行個體。

  8. (選用) 使用 Container Insights,展開監控區段,然後選擇下列任一選項:

    • 若要使用建議的具有增強可觀測性的 Container Insights,請選擇具有增強可觀測性的 Container Insights

    • 若要使用 Container Insights,請選擇 Container Insights

  9. (選用) 若要啟用任務事件,請展開任務事件,然後開啟啟用任務事件

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

  10. (選用) 若要使用 ECS Exec 在叢集中偵錯任務,請展開疑難排解組態區段,然後設定下列項目:

    • (選用) 對於 AWS KMS ECS Exec 的金鑰,輸入您要用來加密 ECS Exec 工作階段資料的 AWS KMS 金鑰 ARN。

    • (選用) 在 ECS Exec 記錄欄位中,選擇日誌目的地:

      • 若要將日誌傳送至 CloudWatch Logs,請選擇 Amazon CloudWatch

      • 若要將日誌傳送至 Amazon S3,請選擇 Amazon S3

      • 若要停用記錄,請選擇

  11. (選用)

    如果搭配手動選項使用執行時期監控,而且想讓 GuardDuty 監控此叢集,請選擇新增標籤並執行下列動作:

    • 欄位中,輸入 guardDutyRuntimeMonitoringManaged

    • 針對數值,輸入 true

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

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

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

    • 金鑰欄位中,輸入金鑰名稱。

    • 欄位中,輸入金鑰值。

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

  14. 選擇建立

後續步驟

建立叢集之後,您可以為應用程式建立任務定義,然後將它們當做獨立任務或服務的一部分執行。如需詳細資訊,請參閱下列內容: