

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

# 負載平衡器的 Amazon ECS 基礎結構 IAM 角色
<a name="AmazonECSInfrastructureRolePolicyForLoadBalancers"></a>

負載平衡器的 Amazon ECS 基礎結構 IAM 角色允許 Amazon ECS 代表您管理叢集中的基礎結構資源，並在以下情況使用：
+ 您想要搭配 Amazon ECS 使用藍/綠部署。基礎結構角色允許 Amazon ECS 管理部署的負載平衡器資源。
+ 您需要 Amazon ECS 在部署操作期間建立、修改或刪除負載平衡器資源，例如目標群組與接聽程式。

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

Amazon ECS 提供受管政策，其中包含負載平衡器管理所需的許可。如需詳細資訊，請參閱 *AWS Managed Policy Reference Guide* 中的 [AmazonECSInfrastructureRolePolicyForLoadBalancers](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECSInfrastructureRolePolicyForLoadBalancers.html)。

## 負載平衡器的 Amazon ECS 基礎結構角色
<a name="create-infrastructure-role-loadbalancers"></a>

將所有 *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" 
       } 
     ] 
   }
   ```

------

1. 使用以下 AWS CLI 命令，`ecsInfrastructureRoleForLoadBalancers`使用您在上一個步驟中建立的信任政策來建立名為 的角色。

   ```
   aws iam create-role \
         --role-name ecsInfrastructureRoleForLoadBalancers \
         --assume-role-policy-document file://ecs-infrastructure-trust-policy.json
   ```

1. 將 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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)。

**重要**  
如果 Amazon ECS 正在使用基礎結構角色來管理藍/綠部署的負載平衡器資源，請在刪除或修改角色之前確保下列事項：  
若進行中的部署作業尚未完成，不得刪除該角色。
角色的信任政策未被修改，不會移除 Amazon ECS 存取權 (`ecs.amazonaws.com`)。
若進行中的部署作業尚未完成，不得移除 `AmazonECSInfrastructureRolePolicyForLoadBalancers` 受管政策。
在藍/綠部署進行期間刪除或修改角色，可能導致部署失敗，使服務處於不一致狀態。

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

## 將基礎結構角色傳遞至 Amazon ECS 的許可
<a name="pass_infrastructure_role_to_service_loadbalancers"></a>

若要將 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 服務的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html)和[變更 IAM 使用者的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html)。