為 Amazon EC2 啟動類型建立 Amazon ECS 叢集 - Amazon Elastic Container Service

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

為 Amazon EC2 啟動類型建立 Amazon ECS 叢集

您可以建立叢集來定義任務和服務執行所在的基礎設施。

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

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

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

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

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

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

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

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

  • 使用增強的可觀測性開啟 Container Insights,或 Container Insights。

    CloudWatch Container Insights 會從您的容器化應用程式和微型服務收集、彙總及總結指標和日誌。Container Insights 還提供診斷資訊,例如容器重新啟動故障,您可以使用這些資訊快速隔離和解決這些問題。如需詳細資訊,請參閱使用具有增強可觀測性的 Container Insights 監控 Amazon ECS 容器

    2024 年 12 月 2 日, AWS 發佈了 Container Insights 並增強了 Amazon ECS 的可觀測性。此版本支援使用 Amazon EC2 和 Fargate 啟動類型的 Amazon ECS 叢集增強可觀測性。在 Amazon ECS 上以增強的可觀測性設定 Container Insights 之後,Container Insights 會自動收集從叢集層級到環境中容器層級的詳細基礎設施遙測,並在顯示各種指標和維度的儀表板中顯示您的資料。然後,您可以在 Container Insights 主控台上使用這些out-of-the-box儀表板,以進一步了解您的容器運作狀態和效能,並透過識別異常狀況更快速地解決問題。

    我們建議您使用 Container Insights 搭配增強的可觀測性,而不是 Container Insights,因為它可在您的容器環境中提供詳細的可見性,從而減少解決的平均時間。

  • 為您的受管儲存指派 AWS KMS 金鑰。如需有關如何建立金鑰的資訊,請參閱AWS Key Management Service 《 使用者指南》中的建立 KMS 金鑰

  • 為您的 Fargate 暫時性儲存指派 AWS KMS 金鑰。如需如何建立金鑰的資訊,請參閱AWS Key Management Service 《 使用者指南》中的建立 KMS 金鑰

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

Auto Scaling 群組選項

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

當您選擇建立新的 Auto Scaling 群組時,系統會自動設定為以下行為:

  • Amazon ECS 管理 Auto Scaling 群組的縮減和水平擴展動作。

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

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

  • Amazon ECS 最佳化 AMI。

  • 執行個體類型。

  • 連線到執行個體時證明您身分的 SSH 金鑰對。如需有關如何建立 SSH 金鑰的資訊,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 金鑰對和 Linux 執行個體Amazon EC2

  • 要為 Auto Scaling 群組啟動的最小執行個體數量。

  • 將為 Auto Scaling 群組啟動的最大執行個體數量。

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

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

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

網路選項

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

您可以選擇現有的子網路。您可以使用現有的安全群組,也可以建立新的安全群組。當您建立新的安全群組時,您需要指定至少一個傳入規則。

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

  • 要允許的通訊協定

  • 要允許的連接埠範圍

  • 傳入流量 (來源)

若要允許來自特定位址或 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 使用的命名空間與叢集名稱不同,請在命名空間中輸入唯一的名稱。

  6. 將 Amazon EC2 執行個體新增至叢集,展開基礎設施,然後選取 Amazon EC2 執行個體

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

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

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

      • 針對佈建模型,選擇是否使用隨需執行個體或 Spot 執行個體。

      • 如果您選擇使用 Spot 執行個體,對於配置策略,請選擇要用於執行個體的 Spot 容量集區 (執行個體類型和可用區域)。

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

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

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

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

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

      • 針對 EC2 執行個體角色,選擇現有的容器執行個體角色,或者您可以建立新的容器執行個體角色。

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

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

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

      • 若要允許較大的映像和儲存體,請在根 EBS 磁碟區大小中輸入 GiB 值。

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

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

    • 若要變更為非預設 VPC,請在 VPC 下,選擇現有的 VPC,然後在子網路下選擇子網路。

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

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

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

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

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

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

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

  8. (選用) 使用 Container Insights,展開監控,然後選擇下列其中一個選項:

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

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

  9. (選用)

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

    • 針對金鑰,輸入 guardDutyRuntimeMonitoringManaged

    • 針對數值,輸入 true

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

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

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

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

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

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

  12. 選擇建立

後續步驟

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