将服务相关角色用于容量预留机群 - Amazon Elastic Compute Cloud

将服务相关角色用于容量预留机群

按需容量预留机群将使用 AWS Identity and Access Management (IAM) 服务相关角色。服务相关角色是一种独特类型的 IAM 角色,它与容量预留机群直接相关。服务相关角色由容量预留机群预定义,并包含该服务代表您调用其它 AWS 服务所需的一切权限。

服务相关角色可让您更轻松地设置容量预留机群,因为您不必手动添加必要的权限。容量预留机群定义其服务相关角色的权限,除非另外定义,否则只有容量预留机群可以代入其角色。定义的权限包括信任策略和权限策略,以及不能附加到任何其它 IAM 实体的权限策略。

只有在首先删除相关资源后,才能删除服务相关角色。这将保护您的容量预留机群资源,因为您不会无意中删除对资源的访问权限。

服务相关角色的容量预留机群权限

容量预留机群使用名为 AWSServiceRoleForEC2CapacityReservationFleet 的服务相关角色创建、描述、修改和取消以前由容量预留机群代表您创建的容量预留。

AWSServiceRoleForEC2CapacityReservationFleet 服务相关角色信任以下实体来代入角色:capacity-reservation-fleet.amazonaws.com

该角色使用 AWSEC2CapacityReservationFleetRolePolicy 策略,其中包含以下权限:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeCapacityReservations", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateCapacityReservation", "ec2:CancelCapacityReservation", "ec2:ModifyCapacityReservation" ], "Resource": [ "arn:aws:ec2:*:*:capacity-reservation/*" ], "Condition": { "StringLike": { "ec2:CapacityReservationFleet": "arn:aws:ec2:*:*:capacity-reservation-fleet/crf-*" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:capacity-reservation/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": "CreateCapacityReservation" } } } ] }

必须配置权限,允许 IAM 实体(如用户、组或角色)创建、编辑或删除服务相关角色。有关更多信息,请参阅 IAM 用户指南中的服务相关角色权限

为容量预留机群创建服务相关角色

无需手动创建服务相关角色。使用 create-capacity-reservation-fleet AWS CLI 命令或 CreateCapacityReservationFleet API 创建容量预留机群时,系统将自动为您创建服务相关角色。

如果删除此服务相关角色,然后需要再次创建,可以使用相同流程在账户中重新创建此角色。创建容量预留机群时,容量预留机群会再次为您创建服务相关角色。

编辑容量预留机群的服务相关角色

容量预留机群不允许您编辑 AWSServiceRoleForEC2CapacityReservationFleet 服务相关角色。创建服务相关角色后,将无法更改角色名称,因为可能有多个实体引用该角色。但是可以使用 IAM 编辑角色说明。有关更多信息,请参见《IAM 用户指南》中的编辑服务相关角色

删除容量预留机群的服务相关角色

如果不再需要使用某个需要服务相关角色的功能或服务,我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。但是,您必须先删除服务相关角色的资源,然后才能手动删除它。

注意

如果在您试图删除资源时容量预留机群服务正在使用该角色,则删除操作可能会失败。如果发生这种情况,请等待几分钟后重试。

要删除 AWSServiceRoleForEC2CapacityReservationFleet 服务相关角色

  1. 使用 delete-capacity-reservation-fleet AWS CLI 命令或 DeleteCapacityReservationFleet API 删除您的账户中的容量预留机群。

  2. 使用 IAM 控制台、AWS CLI 或 AWS API 删除 AWSServiceRoleForEC2CapacityReservationFleet 服务相关角色。有关更多信息,请参见 IAM 用户指南中的删除服务相关角色

容量预留机群服务相关角色支持的区域

容量预留机群支持在服务可用的所有区域中使用服务相关角色。有关更多信息,请参阅 AWS 区域和终端节点