負載平衡器的 Amazon ECS 基礎結構 IAM 角色 - Amazon Elastic Container Service

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

負載平衡器的 Amazon ECS 基礎結構 IAM 角色

負載平衡器的 Amazon ECS 基礎結構 IAM 角色允許 Amazon ECS 代表您管理叢集中的基礎結構資源,並在以下情況使用:

  • 您想要搭配 Amazon ECS 使用藍/綠部署。基礎結構角色允許 Amazon ECS 管理部署的負載平衡器資源。

  • 您需要 Amazon ECS 在部署操作期間建立、修改或刪除負載平衡器資源,例如目標群組與接聽程式。

當 Amazon ECS 擔任此角色代表您採取動作時,事件會顯示在 AWS CloudTrail中。如果 Amazon ECS 使用此角色來管理藍/綠部署的負載平衡器資源,CloudTrail 日誌 roleSessionName 將為 ECSNetworkingWithELBecs-service-scheduler。您可以使用此名稱,透過篩選使用者名稱,在 CloudTrail 主控台中搜尋事件。

Amazon ECS 提供受管政策,其中包含負載平衡器管理所需的許可。如需詳細資訊,請參閱 AWS Managed Policy Reference Guide 中的 AmazonECSInfrastructureRolePolicyForLoadBalancers

負載平衡器的 Amazon ECS 基礎結構角色

將所有 user input 取代為自己的資訊。

  1. 建立名為 ecs-infrastructure-trust-policy.json 的檔案,其中包含用於 IAM 角色的信任政策。檔案應包含以下內容:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAccessToECSForInfrastructureManagement", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 使用以下 AWS CLI 命令,ecsInfrastructureRoleForLoadBalancers使用您在上一個步驟中建立的信任政策來建立名為 的角色。

    aws iam create-role \ --role-name ecsInfrastructureRoleForLoadBalancers \ --assume-role-policy-document file://ecs-infrastructure-trust-policy.json
  3. 將 AWS 受管AmazonECSInfrastructureRolePolicyForLoadBalancers政策連接至ecsInfrastructureRoleForLoadBalancers角色。

    aws iam attach-role-policy \ --role-name ecsInfrastructureRoleForLoadBalancers \ --policy-arn arn:aws:iam::aws:policy/AmazonECSInfrastructureRolePolicyForLoadBalancers

您也可以透過 IAM 主控台的自訂信任政策工作流程來建立角色。如需詳細資訊,請參閱 IAM User Guide 中的 Creating a role using custom trust policies (console)

重要

如果 Amazon ECS 正在使用基礎結構角色來管理藍/綠部署的負載平衡器資源,請在刪除或修改角色之前確保下列事項:

  • 若進行中的部署作業尚未完成,不得刪除該角色。

  • 角色的信任政策未被修改,不會移除 Amazon ECS 存取權 (ecs.amazonaws.com)。

  • 若進行中的部署作業尚未完成,不得移除 AmazonECSInfrastructureRolePolicyForLoadBalancers 受管政策。

在藍/綠部署進行期間刪除或修改角色,可能導致部署失敗,使服務處於不一致狀態。

建立檔案之後,您必須授予使用者將角色傳遞至 Amazon ECS 的許可。

將基礎結構角色傳遞至 Amazon ECS 的許可

若要將 ECS 基礎結構 IAM 角色用於負載平衡器,您必須授予使用者將角色傳遞至 Amazon ECS 的許可。將下列 iam:PassRole 許可連接至使用者。將 ecsInfrastructureRoleForLoadBalancers 取代為您建立的基礎結構角色名稱。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": "iam:PassRole", "Effect": "Allow", "Resource": ["arn:aws:iam::*:role/ecsInfrastructureRoleForLoadBalancers"], "Condition": { "StringEquals": {"iam:PassedToService": "ecs.amazonaws.com"} } } ] }

如需有關 iam:Passrole 和更新使用者許可的詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的授予使用者將角色傳遞至 AWS 服務的許可變更 IAM 使用者的許可