使用 Amazon ECS 的服務連結角色 - Amazon Elastic Container Service

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

使用 Amazon ECS 的服務連結角色

Amazon 彈性容器服務使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至 Amazon ECS 的一種特殊 IAM 角色類型。服務連結角色由 Amazon ECS 預先定義,內含該服務代您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓設定 Amazon ECS 更為簡單,因為您不必手動新增必要的許可。Amazon ECS 定義其服務連結角色的許可,除非另有定義,否則僅有 Amazon ECS 可以擔任其角色。定義的許可包括信任政策和許可政策,且該許可政策無法附加至其他 IAM 實體。

如需關於支援服務連結角色的其他服務資訊,請參閱《可搭配 IAM 運作的AWS 服務》,尋找服務連結角色欄中顯示為是的服務。選擇具有連結的,以檢視該服務的服務連結角色文件。

Amazon ECS 的服務連結角色許可

Amazon ECS 使用名為的服務連結角色。AWSServiceRoleForECS

服 AWSServiceRoleForECS 務連結角色會信任下列服務擔任該角色:

  • ecs.amazonaws.com

名為 AmazonECS 的角色許可政策ServiceRolePolicy 允許 Amazon ECS 在指定的資源上完成下列動作:

  • 動作:使用適用於 Amazon ECS 任務的 awsvpc 網路模式時,Amazon ECS 會管理與任務關聯的彈性網路介面的生命週期。這也包括 Amazon ECS 新增至彈性網路介面的標籤。

  • 動作:將負載平衡器與 Amazon ECS 服務搭配使用時,Amazon ECS 會使用負載平衡器來管理資源的註冊和取消註冊。

  • 動作:使用 Amazon ECS 服務探索時,Amazon ECS 會管理所需的路由 53 和 AWS Cloud Map 資源,以便服務探索運作。

  • 動作:使用 Amazon ECS 服務自動擴展時,Amazon ECS 會管理必要的自動擴展資源。

  • 動作:Amazon ECS 會建立和管理 CloudWatch 警示和日誌串流,以協助監控您的 Amazon ECS 資源。

  • 動作:使用 Amazon ECS Exec 時,Amazon ECS 會管理必要的許可,以便對您的任務啟動 Amazon ECS Exec 工作階段。

  • 動作:使用 Amazon ECS Service Connect 時,Amazon ECS 會管理必要的 AWS Cloud Map 資源,以便使用此功能。

  • 動作:使用 Amazon ECS 容量提供者時,Amazon ECS 會管理必要的許可,以便修改 Auto Scaling 群組及其 Amazon EC2 執行個體。

您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的服務連結角色許可

建立 Amazon ECS 的服務連結角色

在大多數情況下,您不需要手動建立一個服務連結角色。當您在 AWS Management Console、或 AWS API 中建立叢集或更新服務時 AWS CLI,Amazon ECS 會為您建立服務連結角色。如果您在建立叢集後看不到AWSServiceRoleForECS角色,請執行下列步驟來修正此問題:

  • 驗證和設定許可,以允許 Amazon ECS 代表您建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的服務連結角色許可

  • 重試叢集建立作業,或手動建立服務連結角色。

    您可以使用 IAM 主控台建立AWSServiceRoleForECS服務連結角色。在 AWS CLI 或 AWS API 中,使用ecs.amazonaws.com服務名稱建立服務連結角色。如需詳細資訊,請參閱《IAM 使用者指南》中的「建立服務連結角色」。

重要

此服務連結角色可以顯示在您的帳戶,如果您於其他服務中完成一項動作時,可以使用支援此角色的功能。

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。在建立叢集,或者建立或更新服務時,Amazon ECS 會再次為您建立服務連結角色。

如果您刪除這個服務連結角色,則可使用相同的 IAM 程序再次建立該角色。

編輯 Amazon ECS 的服務連結角色

Amazon ECS 不允許您編輯 AWSServiceRoleForECS 服務連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。然而,您可使用 IAM 來編輯角色描述。如需詳細資訊,請參閱 IAM 使用者指南中的編輯服務連結角色

刪除 Amazon ECS 的服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。然而,在手動刪除服務連結角色之前,您必須先清除資源。

注意

若 Amazon ECS 服務在您試圖刪除資源時正在使用該角色,刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

檢查服務連結角色是否有作用中工作階段
  1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在導覽窗格中,選擇 [角色] 並選擇 AWSServiceRoleForECS 名稱 (而非核取方塊)。

  3. Summary (摘要) 頁面上,選擇 Access Advisor (存取 Advisor),然後檢閱服務連結角色的近期活動。

    注意

    如果您不確定 Amazon ECS 是否正在使用該 AWSServiceRoleForECS 角色,可以嘗試刪除該角色。如果服務正在使用該角色,則刪除會失敗,而您可以檢視正在使用該角色的區域。如果服務正在使用該角色,您必須先等到工作階段結束,才能刪除該角色。您無法撤銷服務連結角色的工作階段。

若要移除 AWSServiceRoleForECS 服務連結角色所使用的 Amazon ECS 資源

您必須先刪除所有 AWS 區域中的所有 Amazon ECS 叢集,才能刪除 AWSServiceRoleForECS 角色。

  1. 將所有區域中所有 Amazon ECS 服務的所需計數都縮減到 0,然後刪除該服務。如需更多詳細資訊,請參閱 使用主控台更新 Amazon ECS 服務使用主控台刪除 Amazon ECS 服務

  2. 強制將所有容器執行個體從所有區域中的所有叢集取消註冊。如需詳細資訊,請參閱 取消註冊 Amazon ECS 容器執行個體

  3. 刪除所有區域中的所有 Amazon ECS 叢集。如需詳細資訊,請參閱 刪除 Amazon ECS 叢集

使用 IAM 手動刪除服務連結角色

使用 IAM 主控台或 AWS API 刪除 AWSServiceRoleForECS服務連結角色。 AWS CLI如需詳細資訊,請參閱《IAM 使用者指南》中的刪除服務連結角色

Amazon ECS 服務連結角色的支援區域

Amazon ECS 在所有提供服務的區域中支援使用服務連結角色。如需詳細資訊,請參閱 AWS 區域與端點