

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

# Amazon EC2 竞价型实例集角色
<a name="spot_fleet_IAM_role"></a>

如果创建一个使用 Amazon EC2 竞价型实例集实例的托管计算环境，则必须创建`AmazonEC2SpotFleetTaggingRole`策略。该政策授权竞价型实例集代表您启动、标记和终止实例。在竞价型实例集请求中指定该角色。您还必须拥有 Amazon EC2 **AWSServiceRoleForEC2竞价**AWSServiceRoleForEC2SpotFleet**型和竞**价型队列的竞价和服务相关角色。请按照以下说明以创建所有这些角色。有关更多信息，请参阅 *IAM 用户指南*中的[使用服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)和[创建角色向 AWS 服务委派权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

**Topics**
+ [在中创建 Amazon EC2 竞价队列角色 AWS 管理控制台](spot-fleet-roles-console.md)
+ [使用创建 Amazon EC2 竞价队列角色 AWS CLI](spot-fleet-roles-cli.md)

# 在中创建 Amazon EC2 竞价队列角色 AWS 管理控制台
<a name="spot-fleet-roles-console"></a>

**要创建适用于 Amazon EC2 竞价型实例集的`AmazonEC2SpotFleetTaggingRole` IAM 服务相关角色**

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

1. 在**访问管理**下，请选择**角色**。

1. 对于**角色**，选择**创建角色**。

1. 从**为可信实体类型选择****可信实体**中，选择**AWS 服务**。

1. **对于其他用例 AWS 服务**，请选择 **EC2，然后选择 EC** **2-Spot 队列标记**。

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

1. 在**策略名称**的**权限策略**中，验证`AmazonEC2SpotFleetTaggingRole`。

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

1. 对于**名称，请查看并创建**：

   1. 对于**命名标签**，输入用于标识角色的名称。

   1. 在**描述**中，输入策略的简短解释。

   1. （可选）对于**步骤 1：选择可信实体**，选择**编辑**以修改代码。

   1. （可选）对于**步骤 2：添加权限**，选择**编辑**以修改代码。

   1. （可选）对于**添加标签**，选择**添加标签**以向资源添加标签。

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

**注意**  
过去，Amazon EC2 竞价型实例集角色有两个托管策略。  
**Amazon EC2 SpotFleetRole**：这是 Spot 队列角色的原始托管策略。但是，我们不再建议您将其与一起使用 AWS Batch。此策略不支持计算环境中的竞价型实例标记，这是使用`AWSServiceRoleForBatch`服务相关角色所必需的。如果以前是使用此策略创建的竞价型实例集角色，请将新的推荐策略应用于该角色。有关更多信息，请参阅 [创建时未标记的竞价型实例](spot-instance-no-tag.md)。
**亚马逊 EC2 SpotFleetTaggingRole**：此角色提供标记 Amazon EC2 竞价型实例的所有必要权限。使用此角色允许在您的 AWS Batch 计算环境上标记 Spot 实例。

# 使用创建 Amazon EC2 竞价队列角色 AWS CLI
<a name="spot-fleet-roles-cli"></a>

**为您的 Spot 队列计算环境创建 EC2 SpotFleetTaggingRole A **mazon** IAM 角色**

1. 使用 AWS CLI运行以下命令。

   ```
   $ aws iam create-role --role-name AmazonEC2SpotFleetTaggingRole \
        --assume-role-policy-document '{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "spotfleet.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }'
   ```

1. 要将**亚马逊EC2SpotFleetTaggingRole**托管 IAM 策略附加到您的**亚马逊EC2SpotFleetTaggingRole**角色，请使用运行以下命令 AWS CLI。

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

**创建适用于 Amazon EC2 Spot 的 `AWSServiceRoleForEC2Spot` IAM 服务相关角色**
**注意**  
如果`AWSServiceRoleForEC2Spot` IAM 服务相关角色已存在，则会出现类似于以下内容的错误消息。  

```
An error occurred (InvalidInput) when calling the CreateServiceLinkedRole operation:
Service role name AWSServiceRoleForEC2Spot has been taken in this account, please try a different suffix.
```
+ 使用 AWS CLI运行以下命令。

  ```
  $ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
  ```

**要创建适用于 Amazon EC2 竞价型实例集的`AWSServiceRoleForEC2SpotFleet` IAM 服务相关角色**
**注意**  
如果`AWSServiceRoleForEC2SpotFleet` IAM 服务相关角色已存在，则会出现类似于以下内容的错误消息。  

```
An error occurred (InvalidInput) when calling the CreateServiceLinkedRole operation:
Service role name AWSServiceRoleForEC2SpotFleet has been taken in this account, please try a different suffix.
```
+ 使用 AWS CLI运行以下命令。

  ```
  $ aws iam create-service-linked-role --aws-service-name spotfleet.amazonaws.com
  ```