本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ECS叢集層
重要
所以此 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請聯絡 AWS Support 團隊上 AWS Re: 郵寄
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叢集] 層類型。
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 的組態指定其他設定,包含:
-
將 Elastic Load Balancing 負載平衡器附加至層。
這種方法可能適用於某些使用案例,但 Amazon ECS 提供了更複雜的選項。如需詳細資訊,請參閱服務負載平衡。
-
指定是否要自動將公有 IP 地址或彈性 IP 地址指派給容器執行個體。
如果您停用兩種位址類型的自動指派,除非子網路已正確設定,否則執行個體將不會上線NAT。如需詳細資訊,請參閱在 a 中運行堆棧 VPC。
管理ECS叢集
建立ECS叢集層之後,您可以使用 AWS OpsWorks 堆棧來管理群集,如下所示:
- 佈建及管理容器執行個體
-
一開始,ECS叢集層不會包含任何容器執行個體,即使原始叢集已包含。一個選項是透過使用下列項目的適當組合,管理 layer 的執行個體:
-
手動新增全年無休執行個體至 layer 及在不需要時刪除執行個體。
-
透過將時間式執行個體新增至 layer,藉以在排程上新增或刪除執行個體。
-
新增或刪除執行個體 AWS OpsWorks 將負載型執行個體新增至層,以堆疊主機指標或 CloudWatch 警示。
注意
如果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叢集層
-
如果您想要控制關閉任務的方式,請使用 Amazon ECS 主控台API,或CLI縮減和刪除叢集的服務。如需詳細資訊,請參閱清理您的 Amazon ECS 資源。
-
停止 layer 的執行個體,然後刪除執行個體。當您停止容器執行個體時, AWS OpsWorks Stack 會自動停止任何執行中的工作、從叢集中取消註冊執行個體,並終止執行個體。
注意
如果您已在堆疊中註冊現有的容器執行個體,您可以從該層取消指派實體,然後取消註冊這些執行個體,這樣就會傳回要ECS控制的執行個體。
-
刪除 layer。 AWS OpsWorks 堆疊會取消註冊關聯的叢集,但不會將其刪除。該集群仍然保留在 Amazon ECS。