ECS叢集層 - AWS OpsWorks

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

ECS叢集層

重要

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

Amazon 彈性容器服務 (AmazonECS) 管理 Amazon 彈性運算雲端 (AmazonEC2) 執行個體叢集上的 Docker 容器,稱為容器執行個體。ECS叢集層代表 Amazon ECS 叢集,並透過提供下列功能來簡化叢集管理:

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

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

  • 使用者許可管理

  • 容器執行個體效能監控

  • Amazon 彈性區塊商店 (AmazonEBS) 磁碟區管理

  • 公有和彈性 IP 地址管理

  • 安全群組管理

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

  • 該層僅適用於在中運行的廚師 11.10 或廚師 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 LTS

    • Ubuntu LTS

    • Ubuntu LTS

    • 自訂

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

將ECS叢集層新增至堆疊

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

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

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

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

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

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

注意

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

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

將叢集與堆疊建立關聯需要兩項操作:使用堆疊註冊叢集,然後建立關聯 layer。所以此 AWS OpsWorks 堆疊主控台結合了這些步驟;圖層建立會自動註冊指定的叢集。如果您使用 AWS OpsWorks 堆疊APICLI、或者SDK,您必須使用個別的作業來註冊叢集並建立關聯的層。若要使用主控台將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 彈性運算雲端 (AmazonEC2) 執行個體設定檔。此設定檔授予在叢集容器執行個體上執行的應用程式存取其他AWS服務 (包括 Amazon) 的權限ECS。當您建立第一個ECS叢集層時,請選擇 [具有直接ECS存取權的新設定檔] AWS OpsWorks 堆棧創建所需的配置文件,該配置文件被命名為aws-opsworks-ec2-role-with-ecs。然後,您可以將該設定檔用於所有後續的ECS叢集層。如需執行個體描述檔的詳細資訊,請參閱指定在執行EC2個體上執行的應用程式

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

管理ECS叢集

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

佈建及管理容器執行個體

一開始,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 2015.09,Amazon Linux 2015.09,創建容器時。LTS LTS LTS請勿使用「最ECS佳化AMI」在ECS圖層中建立執行個體,因為這AMI已包含ECS代理程式。 AWS OpsWorks 堆疊也會在執行個體設定程序期間嘗試安裝ECS代理程式,而衝突可能會導致安裝失敗。

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

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

注意

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

執行作業系統及套件更新

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

管理使用者許可

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

監控效能指標

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

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

注意

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

從堆疊刪除ECS叢集層

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

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

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

    注意

    如果您已在堆疊中註冊現有的容器執行個體,您可以從該層取消指派實體,然後取消註冊這些執行個體,這樣就會傳回要ECS控制的執行個體。

  3. 刪除 layer。 AWS OpsWorks 堆疊會取消註冊關聯的叢集,但不會將其刪除。該集群仍然保留在 Amazon ECS。