

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

# 为 Amazon EC2 创建角色


此角色使您的 Amazon EC2 资源能够与 Amazon GameLift Servers FleetIQ 进行通信。例如，在 Amazon EC2 实例上运行的游戏服务器需要能够报告运行状况。创建 Amazon GameLift Servers FleetIQ 游戏服务器组时，将此角色包含在 Amazon EC2 启动模板中的 IAM 实例配置文件中。

使用 Amazon CLI 为 Amazon EC2 创建角色，附加具有必要权限的自定义策略，并将该角色附加到实例配置文件。有关更多信息，请参阅[为 Amazon 服务创建角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)。

------
#### [ Amazon CLI ]

以下步骤介绍如何使用 Amazon CLI为 Amazon EC2 创建具有自定义 Amazon GameLift Servers 权限的服务角色。

1. 使用以下 JSON 语法创建信任策略文件（示例：`FleetIQtrustpolicyEC2.json`）。

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

****  

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

------

1. 使用 [iam create-role](https://docs.amazonaws.cn/cli/latest/reference/iam/create-role.html) 创建一个新的 IAM 角色，并将其与您刚创建的信任策略 JSON 文件关联。

   Windows：

   ```
   Amazon iam create-role --role-name FleetIQ-role-for-EC2 --assume-role-policy-document file://C:\policies\FleetIQtrustpolicyEC2.json
   ```

   Linux：

   ```
   Amazon iam create-role --role-name FleetIQ-role-for-EC2 --assume-role-policy-document file://policies/FleetIQtrustpolicyEC2.json
   ```

   请求成功时，响应将包括新创建的角色的属性。记下 ARN 值。您在设置 Amazon EC2 启动模板时需要此信息。

1. 使用以下 JSON 语法创建权限策略文件（示例：`FleetIQpermissionsEC2.json`）。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "gamelift:*",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. [使用 iam put-role-policy 将您刚刚创建的权限策略 JSON 文件附加到新角色。](https://docs.amazonaws.cn/cli/latest/reference/iam/put-role-policy.html)

   Windows：

   ```
   Amazon iam put-role-policy --role-name FleetIQ-role-for-EC2 --policy-name FleetIQ-permissions-for-EC2 --policy-document file://C:\policies\FleetIQpermissionsEC2.json
   ```

   Linux：

   ```
   Amazon iam put-role-policy --role-name FleetIQ-role-for-EC2 --policy-name FleetIQ-permissions-for-EC2 --policy-document file://policies/FleetIQpermissionsEC2.json
   ```

   要验证权限策略是否已附加，请使用新[角色 list-role-policies](https://docs.amazonaws.cn/cli/latest/reference/iam/list-role-policies.html)的名称调用 iam。

1. 使用 iam 创建带有新角色 create-instance-profile的实例配置文件以用于 [A](https://docs.amazonaws.cn/cli/latest/reference/iam/create-instance-profile.html) mazon EC2。有关更多信息，请参阅[管理实例配置文件](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)。

   ```
   Amazon iam create-instance-profile --instance-profile-name FleetIQ-role-for-EC2
   ```

   当请求成功时，响应将包括新创建的实例配置文件的属性。

1. 使用 [ add-role-to-instanceiam-profil](https://docs.amazonaws.cn/cli/latest/reference/iam/put-role-policy.html) e 将角色附加到实例配置文件。

   ```
    Amazon iam add-role-to-instance-profile --role-name FleetIQ-role-for-EC2 --instance-profile-name FleetIQ-role-for-EC2
   ```

此角色和配置文件现在可与 Amazon EC2 启动模板配合使用。

------