適用於負載平衡器的 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 受管政策參考指南》中的 AmazonECSInfrastructureRolePolicyForLoadBalancers

為負載平衡器建立 Amazon ECS 基礎設施角色

使用您自己的資訊取代所有使用者輸入

  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 使用者指南》中的使用自訂信任政策 (主控台) 建立角色

重要

如果 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 使用者的許可