ECS 叢集層 - AWS OpsWorks

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

ECS 叢集層

重要

AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問,請透過 AWS re:Post 或透過 AWS Premium Support 聯絡 AWS Support 團隊。

Amazon Elastic Container Service (Amazon ECS) 會在稱為容器執行個體的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體叢集上管理 Docker 容器。ECS 叢集層代表 Amazon ECS叢集,並提供以下功能來簡化叢集管理:

  • 簡化的容器執行個體佈建及管理

  • 容器執行個體作業系統及套件更新

  • 使用者許可管理

  • 容器執行個體效能監控

  • Amazon Elastic Block Store (Amazon EBS) 磁碟區管理

  • 公有和彈性 IP 地址管理

  • 安全群組管理

ECS 叢集層有下列限制和要求:

  • 此 layer 僅適用於在 中執行的 Chef 11.10 或 Chef 12 Linux 堆疊VPC,包括預設 VPC

  • layer 的執行個體必須執行以下任一作業系統。

    • Amazon Linux 2

    • Amazon Linux 2018.03

    • Amazon Linux 2017.09

    • Amazon Linux 2017.03

    • Amazon Linux 2016.09

    • Amazon Linux 2016.03

    • Amazon Linux 2015.09

    • Amazon Linux 2015.03

    • Ubuntu 18.04 LTS

    • Ubuntu 16.04 LTS

    • Ubuntu 14.04 LTS

    • 自訂

  • layer 的執行個體上的 AWS OpsWorks Stacks 代理程式版本必須為 3425-20150727112318 或更新版本。

將ECS叢集層新增至堆疊

AWS OpsWorks Stacks 可簡化為現有 Amazon ECS叢集啟動和維護容器執行個體的程序。若要建立或啟動其他 Amazon ECS實體,例如叢集和任務,請使用 Amazon ECS主控台、命令列界面 (CLI) 或 API。(如需詳細資訊,請參閱 Amazon Elastic Container Service 開發人員指南。) 然後,您可以透過建立ECS叢集層來建立叢集與堆疊的關聯,您可以使用叢集層在 Stacks AWS OpsWorks 中管理叢集。

您可以將叢集與堆疊建立關聯,如下所示:

  • 每個堆疊可以有一個ECS叢集層,代表單一叢集。

  • 一個叢集只能與一個堆疊建立關聯。

您必須先更新通常名為 AWS OpsWorks 的 Stacks AWS Identity and Access Management (IAM) 服務角色,以允許 AWS OpsWorks Stacks ECS 代表您與 Amazon 互動aws-opsworks-service-role,才能將ECS叢集層新增至堆疊。如需服務角色的詳細資訊,請參閱允許 AWS OpsWorks 堆疊代表您採取行動

第一次建立ECS叢集層時,主控台會提供更新按鈕,您可以選擇引導 Stacks AWS OpsWorks 為您更新角色。 AWS OpsWorks Stacks 接著會顯示新增層頁面,讓您可以將層新增至堆疊。您只需要更新服務角色一次。然後,您可以使用更新的角色,將ECS叢集層新增至任何堆疊。

注意

若您偏好的話,您可以透過將 ecs:* 許可新增至現有的政策來手動更新服務角色的政策,如下所示:

{ "Statement": [ { "Action": [ "ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:*", "rds:*", "ecs:*" ], "Effect": "Allow", "Resource": ["*"] } ] }

將叢集與堆疊建立關聯需要兩項操作:使用堆疊註冊叢集,然後建立關聯 layer。Stacks AWS OpsWorks 主控台結合了這些步驟; layer 建立會自動註冊指定的叢集。如果您使用 AWS OpsWorks Stacks API、 CLI或 SDK,則必須使用個別的操作來註冊叢集並建立相關聯的 layer。若要使用 主控台將ECS叢集層新增至您的堆疊,請選擇、選擇 +層新增層,然後選擇ECS叢集層類型。

Form to add an ECS 叢集 Layer, showing layer type, 叢集 selection, and EC2 instance profile options.

Add Layer (新增 Layer) 頁面包含下列組態選項:

ECS 叢集

您要向堆疊註冊的 Amazon ECS叢集。

EC2 執行個體設定檔

叢集的 Amazon Elastic Compute Cloud(AmazonEC2) 執行個體設定檔。此設定檔授予許可,讓在叢集的容器執行個體上執行的應用程式存取其他服務AWS,包括 Amazon ECS。當您建立第一個ECS叢集層時,請選擇具有直接 Stacks ECS存取權的新設定檔,以建立名為 的必要設定檔aws-opsworks-ec2-role-with-ecs。 AWS OpsWorks 然後,您可以將該設定檔用於所有後續ECS的叢集層。如需執行個體描述檔的詳細資訊,請參閱指定在執行EC2個體上執行的應用程式

您可以藉由編輯 layer 的組態指定其他設定,包含:

管理ECS叢集

建立ECS叢集層之後,您可以使用 AWS OpsWorks Stacks 來管理叢集,如下所示:

佈建及管理容器執行個體

最初,ECS叢集層不包含任何容器執行個體,即使原始叢集已包含。一個選項是透過使用下列項目的適當組合,管理 layer 的執行個體:

注意

如果堆疊的預設作業系統ECS不支援 Amazon,您必須在建立容器執行個體時明確指定支援的作業系統:Amazon Linux 2、Amazon Linux 2018.03、Amazon Linux 2017.09、Amazon Linux 2017.03、Amazon Linux 2016.09、Amazon Linux 2016.03、Amazon Linux 2015.09、Amazon Linux 2015.03、Ubuntu 18.04LTS、Ubuntu 16.04LTS、Ubuntu 14.04 LTS或 Custom。請勿使用 ECS Optimized 在 ECS layer 中AMI建立執行個體,因為這AMI已包含ECS代理程式。 AWS OpsWorks Stacks 也會嘗試在執行個體設定程序中安裝ECS代理程式,而衝突可能會導致設定失敗。

如需詳細資訊,請參閱 最佳化應用程式伺服器的數目. AWS OpsWorks Stacks 會將 AWS-OpsWorks-ECS-Cluster 安全群組指派給每個執行個體。每個新執行個體完成開機後, AWS OpsWorks Stacks 會透過安裝 Docker 和 Amazon ECS代理程式,然後將執行個體註冊到叢集,將其轉換為容器執行個體。

如果您偏好使用現有的容器執行個體,則可以向堆疊註冊它們,並將它們指派給ECS叢集層。請注意,執行個體必須執行支援的作業系統、Amazon Linux 2015.03 或更新版本,或 Ubuntu 14.04 LTS或更新版本。

注意

容器執行個體不能同時屬於ECS叢集層和另一個內建層。不過,容器執行個體可以屬於ECS叢集層和一或多個自訂層

執行作業系統及套件更新

新執行個體完成開機後, AWS OpsWorks Stacks 會安裝最新的更新。然後,您可以使用 AWS OpsWorks Stacks 讓容器執行個體保持最新狀態。如需詳細資訊,請參閱管理安全性更新

管理使用者許可

AWS OpsWorks Stacks 提供簡單的方法來管理容器執行個體的許可,包括管理使用者的SSH金鑰。如需詳細資訊,請參閱 管理使用者許可管理 SSH 存取

監控效能指標

AWS OpsWorks Stacks 提供多種方法來監控堆疊、 layer 或個別執行個體的效能指標。如需詳細資訊,請參閱監控

您可以透過 Amazon 處理其他管理任務,例如建立任務或服務ECS。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》

注意

若要直接前往 Amazon ECS主控台上的叢集頁面,請選擇執行個體,然後選擇ECS叢集,該叢集位於ECS叢集層區段右上角附近。

從堆疊刪除ECS叢集層

當您不再需要叢集時,請刪除ECS叢集層並取消註冊相關聯的叢集。從堆疊移除叢集需要兩項操作:取消註冊叢集,然後刪除關聯 layer。Stacks AWS OpsWorks 主控台結合了這些步驟; layer 刪除會自動取消註冊指定的叢集。如果您使用 AWS OpsWorks Stacks API、 CLI或 SDK,則必須使用個別的操作來取消註冊叢集並刪除相關聯的 layer。

使用主控台刪除ECS叢集層
  1. 如果您想要控制任務關閉的方式,請使用 Amazon ECS主控台、 API或 CLI來縮減規模並刪除叢集的服務。如需詳細資訊,請參閱清除 Amazon ECS 資源

  2. 停止 layer 的執行個體,然後刪除執行個體。當您停止容器執行個體時, AWS OpsWorks Stacks 會自動停止任何執行中的任務、從叢集取消註冊執行個體,以及終止執行個體。

    注意

    如果您已向堆疊註冊現有的容器執行個體,您可以從 layer 取消指派執行個體,然後取消註冊執行個體,這會傳回執行個體進行ECS控制。

  3. 刪除 layer. AWS OpsWorks Stacks 會取消註冊相關聯的叢集,但不會將其刪除。叢集會保留在 Amazon 中ECS。