

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 检查您账户的 Amazon ECS 实例角色
<a name="batch-check-ecsinstancerole"></a>

在控制台首次运行体验中将自动为您创建 Amazon ECS 实例角色和实例配置文件。但是，您可以按照以下步骤检查您的账户是否已有 Amazon ECS 实例角色和实例配置文件。以下步骤还介绍了如何附加托管 IAM policy。<a name="procedure_check_instance_role"></a>

**教程：在 IAM 控制台中检查 `ecsInstanceRole`**

1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在导航窗格中，选择**角色**。

1. 在角色列表中搜索 `ecsInstanceRole`。如果该角色不存在，请使用以下步骤创建该角色。

   1. 选择**创建角色**。

   1. 对于 **Trusted entity type**（可信实体类型），选择 **AWS 服务**。

   1. 对于 **常用案例**，选择 **EC2**。

   1. 选择**下一步**。

   1. 要查看**权限策略**，请搜索 A **mazon EC2 ContainerServicefor EC2 角色**。

   1. 选中 **Amazon EC2 ContainerServicefor EC2 角色**旁边的复选框，然后选择**下一步**。

   1. 对于 **Role Name (角色名称)**，键入 `ecsInstanceRole`，然后选择 **Create Role (创建角色)**。
**注意**  
如果您使用 AWS 管理控制台 为 Amazon EC2 创建角色，则控制台会创建与该角色同名的实例配置文件。

或者，您可以使用创建 `ecsInstanceRole` IAM 角色。 AWS CLI 以下示例创建了一个带有信任策略和 AWS 托管策略的 IAM 角色。<a name="create-iam-role-cli"></a>

**教程：创建 IAM 角色和实例配置文件（AWS CLI）**

1. 创建以下信任策略并将其保存在名为 `ecsInstanceRole-role-trust-policy.json` 的文本文件中。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": { "Service": "ec2.amazonaws.com"},
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 使用 [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 命令创建 `ecsInstanceRole` 角色。在 `assume-role-policy-document` 参数中指定信任策略文件的位置。

   ```
   $ aws iam create-role \
       --role-name ecsInstanceRole \
       --assume-role-policy-document file://ecsInstanceRole-role-trust-policy.json
   ```

1. 使用[create-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html)命令创建名为的实例配置文件`ecsInstanceRole`。
**注意**  
您需要在和 AWS API 中创建角色和实例配置文件作为单独的 AWS CLI 操作。

   ```
   $ aws iam create-instance-profile --instance-profile-name ecsInstanceRole
   ```

   以下为响应示例。

   ```
   {
       "InstanceProfile": {
           "Path": "/",
           "InstanceProfileName": "ecsInstanceRole",
           "InstanceProfileId": "AIPAT46P5RDITREXAMPLE",
           "Arn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole",
           "CreateDate": "2022-06-30T23:53:34.093Z",
           "Roles": [],    }
   }
   ```

1. 使用 [ add-role-to-instance-profil](https://docs.aws.amazon.com/cli/latest/reference/iam/add-role-to-instance-profile.html) e 命令将`ecsInstanceRole`角色添加到`ecsInstanceRole`实例配置文件中。

   ```
   aws iam add-role-to-instance-profile \
       --role-name ecsInstanceRole --instance-profile-name ecsInstanceRole
   ```

1. 使用[attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html)命令将`AmazonEC2ContainerServiceforEC2Role` AWS 托管策略附加到`ecsInstanceRole`角色。

   ```
   $ aws iam attach-role-policy \
       --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role \
       --role-name ecsInstanceRole
   ```