本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ECS 集群層
重要
該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
Amazon 彈性容器服務 (Amazon ECS) 管理亞馬遜彈性運算雲端 (Amazon EC2) 執行個體 (稱為容器執行個體) 叢集上的 Docker 容器。ECS 叢集層代表 Amazon ECS 叢集,並透過提供下列功能來簡化叢集管理:
-
簡化的容器執行個體佈建及管理
-
容器執行個體作業系統及套件更新
-
使用者許可管理
-
容器執行個體效能監控
-
Amazon Elastic Block Store (Amazon EBS) 磁碟區管理
-
公有和彈性 IP 地址管理
-
安全群組管理
ECS 群集層具有以下限制和要求:
-
layer 僅適用於在 VPC 中執行的 Chef 11.10 或 Chef 12 Linux 堆疊,包含預設 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 堆疊可簡化現有 Amazon ECS 叢集的容器執行個體啟動和維護程序。若要建立或啟動其他 Amazon ECS 實體,例如叢集和任務,請使用 Amazon ECS 主控台、命令列界面 (CLI) 或 API。如需詳細資訊,請參閱 Amazon 彈性容器服務開發人員指南。) 然後,您可以透過建立 ECS 叢集層來將叢集與堆疊相關聯,以便在 AWS OpsWorks Stacks 中管理叢集。
您可以將叢集與堆疊建立關聯,如下所示:
-
每個堆疊可以有一個 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。St AWS OpsWorks acks 主控台結合了這些步驟;圖層建立會自動註冊指定的叢集。如果您使用 AWS OpsWorks Stack API、CLI 或 SDK,則必須使用不同的作業來註冊叢集並建立關聯的層。若要使用主控台將 ECS 叢集層新增至堆疊,請選擇 [層],選擇 [+ 層] 或 [新增圖層],然後選擇 ECS 叢集層類型。
Add Layer (新增 Layer) 頁面包含下列組態選項:
- ECS 叢集
-
您想要在堆疊中註冊的 Amazon ECS 叢集。
- EC2 Instance profile (EC2 執行個體描述檔)
-
叢集的亞馬遜彈性運算雲端 (Amazon EC2) 執行個體設定檔。此設定檔授予在叢集容器執行個體上執行的應用程式存取其他 AWS 服務 (包括 Amazon ECS) 的權限。當您建立第一個 ECS 叢集層時,請選擇具有 ECS 存取權的新設定檔直接 AWS OpsWorks 堆疊以建立必要的設定檔,此設定檔會命名為。
aws-opsworks-ec2-role-with-ecs
然後,您可以將該設定檔用於所有後續 ECS 叢集層。如需執行個體描述檔的詳細資訊,請參閱指定在執行EC2個體上執行的應用程式。
您可以藉由編輯 layer 的組態指定其他設定,包含:
-
將 Elastic Load Balancing 負載平衡器附加至層。
此方法可能適用於某些使用案例,但 Amazon ECS 提供更複雜的選項。如需詳細資訊,請參閱服務負載平衡。
-
指定是否要自動將公有 IP 地址或彈性 IP 地址指派給容器執行個體。
若您停用兩種地址類型的自動指派,執行個體會無法上線,除非子網路已有適當設定的 NAT。如需詳細資訊,請參閱 在 VPC 中執行堆疊。
管理 ECS 叢集
建立 ECS 叢集層之後,您可以使用 AWS OpsWorks Stack 來管理叢集,如下所示:
- 佈建及管理容器執行個體
-
一開始,ECS 叢集層不會包含任何容器執行個體,即使原始叢集已包含。一個選項是透過使用下列項目的適當組合,管理 layer 的執行個體:
-
手動新增全年無休執行個體至 layer 及在不需要時刪除執行個體。
-
透過將時間式執行個體新增至 layer,藉以在排程上新增或刪除執行個體。
-
將負載型執行個體新增至層,根據 AWS OpsWorks Stack 代管指標或 CloudWatch 警示,新增或刪除執行個體。
注意
如果 Amazon ECS 不支持堆棧的默認操作系統,則必須明確指定支持的操作系統-Amazon Linux 2,Amazon Linux 2018.03,Amazon Linux 2017.09,Amazon Linux 2017.03,Amazon Linux 2016.09,Amazon。請勿使用 ECS 最佳化 AMI 在 ECS 層中建立執行個體,因為此 AMI 已包含 ECS 代理程式。 AWS OpsWorks Stack 也會在執行個體設定程序期間嘗試安裝 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 Stacks 會安裝最新的更新。然後,您可以使用「 AWS OpsWorks 堆疊」將容器執行個體保持在最新狀態。如需詳細資訊,請參閱 管理安全性更新。
- 管理使用者許可
-
AWS OpsWorks 堆疊提供簡單的方式來管理容器執行個體的權限,包括管理使用者的安全殼層金鑰。如需詳細資訊,請參閱 管理使用者許可 及 管理 SSH 存取。
- 監控效能指標
-
AWS OpsWorks 堆疊提供多種方式來監控堆疊、層級或個別執行個體的效能指標。如需詳細資訊,請參閱 監控。
您可以透過 Amazon ECS 處理其他管理任務,例如建立任務或服務。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》。
注意
若要直接前往 Amazon ECS 主控台上的叢集頁面,請選擇「執行個體」,然後選擇「ECS 叢集」(位於 ECS 叢集層區段右上角附近)。
從堆疊刪除 ECS 叢集層
當您不再需要叢集時,請刪除 ECS 叢集層並取消註冊關聯的叢集。從堆疊移除叢集需要兩項操作:取消註冊叢集,然後刪除關聯 layer。 AWS OpsWorks 堆疊主控台結合了這些步驟;圖層刪除會自動取消註冊指定的叢集。如果您使用 AWS OpsWorks Stack API、CLI 或 SDK,則必須使用個別作業來取消註冊叢集並刪除關聯的層。
使用控制台刪除 ECS 叢集層
-
如果您想要控制關閉任務的方式,請使用 Amazon ECS 主控台、API 或 CLI 來縮減和刪除叢集的服務。如需詳細資訊,請參閱清理您的 Amazon ECS 資源。
-
停止 layer 的執行個體,然後刪除執行個體。當您停止容器執行個體時, AWS OpsWorks Stacks 會自動停止任何執行中的工作、從叢集中取消註冊執行個體,並終止執行個體。
注意
若您有已使用堆疊註冊的現有容器執行個體,您可以從 layer 取消指派執行個體,然後取消註冊他們,使執行個體回歸 ECS 的控制。
-
刪除圖層。 AWS OpsWorks 堆疊會取消註冊關聯的叢集,但不會將其刪除。該群集仍保留在 Amazon ECS 中。