Amazon EC2 Spot 队列角色 - AWS Batch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon EC2 Spot 队列角色

如果您创建一个使用 Amazon EC2 Spot 队列实例的托管计算环境,则必须创建一个角色,该角色应向 Spot 队列授予代表您启动、标记和终止实例的权限。在 Spot 队列请求中指定该角色。您还必须具有适用于 Amazon EC2 Spot 和 Spot 队组的 AWSServiceRoleForEC2SpotAWSServiceRoleForEC2SpotFleet 服务相关角色。使用以下过程创建所有这些角色。有关更多信息,请参阅 IAM 用户指南 中的使用服务相关角色创建角色以向 AWS 服务委派权限

在 AWS 管理控制台中创建 Amazon EC2 Spot 队组角色

创建适用于 Amazon EC2 Spot 的 AWSServiceRoleForEC2Spot IAM 服务相关角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 RolesCreate role

  3. 对于 Select type of trusted entity (选择受信任实体的类型),选择 AWS service (AWS 服务)。对于 Choose the service that will use this role (选择将使用此角色的服务),选择 EC2

  4. 选择您的使用案例部分中,选择 EC2 - Spot Instances (EC2 - Spot 实例)

  5. 依次选择 Next: Permissions (下一步: 权限)Next: Tags (下一步: 标签)Next: Review (下一步: 复查)

  6. 对于 Role Name (角色名称),键入 AmazonEC2SpotFleetRole。选择 Create Role

创建适用于 Amazon EC2 Spot 队组的 AWSServiceRoleForEC2SpotFleet IAM 服务相关角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 RolesCreate role

  3. 对于 Select type of trusted entity (选择受信任实体的类型),选择 AWS service (AWS 服务)。对于 Choose the service that will use this role (选择将使用此角色的服务),选择 EC2

  4. 选择您的使用案例部分中,选择 EC2 - Spot Fleet (EC2 - Spot 队列)

  5. 依次选择 Next: Permissions (下一步: 权限)Next: Tags (下一步: 标签)Next: Review (下一步: 复查)

  6. 对于角色名称,键入 AWSServiceRoleForEC2SpotFleet。选择创建角色

注意

一直以来,Amazon EC2 Spot 队列角色都有两种托管策略。

  • AmazonEC2SpotFleetRole:这是 Spot 队列角色的初始托管策略。它具有更严格的 IAM 权限,但不支持在计算环境中标记 Spot 实例。如果您以前是使用此策略创建的 Spot 队列角色,请参阅在创建时未标记的 Spot 实例以将新的推荐策略应用于该角色。

  • AmazonEC2SpotFleetTaggingRole:此角色提供了标记 Amazon EC2 Spot 实例所需的所有权限。使用此角色允许在 AWS Batch 计算环境中标记 Spot 实例。

使用 AWS CLI 创建 Amazon EC2 Spot 队组角色

为 Spot 队组计算环境创建 AmazonEC2SpotFleetRole IAM 角色

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

    aws iam create-role --role-name AmazonEC2SpotFleetRole \ --assume-role-policy-document '{"Version":"2012-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"Service":"spotfleet.amazonaws.com"},"Action":"sts:AssumeRole"}]}'
  2. 要将 AmazonEC2SpotFleetTaggingRole 托管的 IAM 策略附加到您的 AmazonEC2SpotFleetRole 角色,请使用 AWS CLI 运行以下命令:

    aws iam attach-role-policy \ --policy-arn arn:aws-cn:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole \ --role-name AmazonEC2SpotFleetRole

创建适用于 Amazon EC2 Spot 的 AWSServiceRoleForEC2Spot IAM 服务相关角色

  • 使用 AWS CLI 运行以下命令:

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

创建适用于 Amazon EC2 Spot 队组的 AWSServiceRoleForEC2SpotFleet IAM 服务相关角色

  • 使用 AWS CLI 运行以下命令:

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