

# Amazon ECS 托管实例实例配置文件
<a name="managed-instances-instance-profile"></a>

实例配置文件是一个 IAM 容器，它只包含一个 IAM 角色，并允许 Amazon ECS 托管实例安全地代入该角色。实例配置文件包含 ECS 代理代入的实例角色，用于向集群注册实例并与 ECS 服务进行通信。

**重要**  
如果您将 Amazon ECS 托管实例与 AWS 托管基础设施策略一起使用，则实例配置文件必须命名为 `ecsInstanceRole`。如果您为基础设施角色使用自定义策略，则实例配置文件可以具有备用名称。

## 使用信任策略创建角色
<a name="create-instance-role"></a>

将所有*用户输入*替换为您自己的信息。

1. 创建一个名为 `ecsInstanceRole-trust-policy.json` 的文件，其中包含要用于 IAM 角色的信任策略。该文件应包含以下内容：

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

****  

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

------

1. 使用您在上一步中创建的信任策略，并使用以下 AWS CLI 命令创建一个名为 `ecsInstanceRole` 的角色。

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

1. 将 AWS 托管 `AmazonECSInstanceRolePolicyForManagedInstances` 策略 附加到 `ecsInstanceRole` 角色。

   ```
   aws iam attach-role-policy \
         --role-name ecsInstanceRole \
         --policy-arn arn:aws:iam::aws:policy/AmazonECSInstanceRolePolicyForManagedInstances
   ```
**注意**  
如果您选择应用最低权限，并指定您自己的权限，则可以添加以下权限，以帮助排查 Amazon ECS 托管实例与任务相关的问题：  
`ecs:StartTelemetrySession`
`ecs:PutSystemLogEvents`

您也可以使用 IAM 控制台的**自定义信任策略**工作流程来创建该角色。有关更多信息，请参阅《IAM 用户指南》**中的[使用自定义信任策略创建角色（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)。

创建该文件后，您必须向用户授予将该角色传递给 Amazon ECS 的权限。

## 使用 AWS CLI 创建实例配置文件
<a name="create-instance-profile"></a>

创建角色后，请使用 AWS CLI 创建实例配置文件：

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

将角色添加到实例配置文件中：

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

验证是否已成功创建配置文件：

```
aws iam get-instance-profile --instance-profile-name ecsInstanceRole 
```