Amazon EC2 Auto Scaling
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

适用于 Amazon EC2 Auto Scaling 的服务相关角色

Amazon EC2 Auto Scaling 使用服务相关角色获取代表您调用其他 AWS 服务所需的权限。服务相关角色是一种与 AWS 服务直接关联的独特类型的 AWS Identity and Access Management (IAM) 角色。

服务相关角色提供了一种将权限委托给 AWS 服务的安全方式,因为只有相关服务才能代入服务相关角色。有关更多信息,请参阅 IAM 用户指南 中的使用服务相关角色

AWSServiceRoleForAutoScaling 授予的权限

Amazon EC2 Auto Scaling 使用名为 AWSServiceRoleForAutoScaling 的服务相关角色来代表您管理您的 Auto Scaling 组。该 AWSServiceRoleForAutoScaling 角色是自动分配到您的 Auto Scaling 组,除非您指定其他服务相关角色。

AWSServiceRoleForAutoScaling 角色预定义具有代表您进行以下调用的权限:

  • ec2:AttachClassicLinkVpc

  • ec2:CancelSpotInstanceRequests

  • ec2:CreateTags

  • ec2:DeleteTags

  • ec2:Describe*

  • ec2:DetachClassicLinkVpc

  • ec2:ModifyInstanceAttribute

  • ec2:RequestSpotInstances

  • ec2:RunInstances

  • ec2:TerminateInstances

  • elasticloadbalancing:Register*

  • elasticloadbalancing:Deregister*

  • elasticloadbalancing:Describe*

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarms

  • cloudwatch:PutMetricAlarm

  • sns:Publish

此角色信任 autoscaling.amazonaws.com 服务来代入它。

创建服务相关角色(自动)

在大多数情况下,无需手动创建服务相关角色。当您首次创建 Auto Scaling 组但未指定其他服务相关角色时,Amazon EC2 Auto Scaling 将为您创建AWSServiceRoleForAutoScaling 服务相关角色。

如果您在 2018 年 3 月之前创建了 Auto Scaling 组,当 Amazon EC2 Auto Scaling 开始支持服务相关角色时,Amazon EC2 Auto Scaling 便在您的 AWS 账户中创建了 AWSServiceRoleForAutoScaling 角色。有关更多信息,请参阅 IAM 用户指南 中的我的 AWS 账户中出现新角色

重要

确保您已启用允许 IAM 实体(如用户、组或角色)创建服务相关角色的 IAM 权限。否则,自动创建操作将失败。有关更多信息,请参阅 IAM 用户指南 中的服务相关角色权限

创建服务相关角色(手动)

或者,在创建 Auto Scaling 组时,您也可以创建然后指定自己的服务相关角色(含自定义后缀)。如果您必须为不同的服务相关角色授予对不同的 KMS 密钥的访问权限,这会很有用。您还可以记下正在使用的服务相关角色,以便跟踪哪个 Auto Scaling 组在您的 CloudTrail 日志中进行了 API 调用。

您可以使用 IAM 控制台、AWS CLI 或 IAM API 创建服务相关角色。有关更多信息,请参阅 IAM 用户指南 中的创建服务相关角色

例如,使用以下 create-service-linked-role CLI 命令可创建名为 AWSServiceRoleForAutoScaling_suffix 的适用于 Amazon EC2 Auto Scaling 的服务相关角色。该后缀可帮助您确定角色的用途。

aws iam create-service-linked-role --aws-service-name autoscaling.amazonaws.com --custom-suffix suffix

此命令的输出包含服务相关角色的 ARN,您可以用来向服务相关角色授予对 KMS 密钥的访问权限。

{ "Role": { "RoleId": "ABCDEF0123456789ABCDEF", "CreateDate": "2018-08-30T21:59:18Z", "RoleName": "AWSServiceRoleForAutoScaling_suffix", "Arn": "arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_suffix", "Path": "/aws-service-role/autoscaling.amazonaws.com/", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "autoscaling.amazonaws.com" ] }, "Effect": "Allow" } ] } } }

编辑服务相关角色

您可以编辑您为了与 Auto Scaling 组结合使用而创建的任何服务相关角色。有关更多信息,请参阅 IAM 用户指南 中的编辑服务相关角色

利用 Amazon EC2 Auto Scaling 创建的 AWSServiceRoleForAutoScaling 角色,您可以仅编辑其描述而不是其权限。

删除服务相关角色

如果您不再需要使用某个 Auto Scaling 组,我们建议您删除其服务相关角色。只有在首先删除相关 AWS 资源后,才能删除服务相关角色。如果某个服务相关角色与多个 Auto Scaling 组结合使用,则必须删除使用该服务相关角色的所有 Auto Scaling 组,然后才能删除该服务相关角色。这会保护您的 Auto Scaling 组,因为您无法意外删除这些资源的管理权限。有关更多信息,请参阅删除 Auto Scaling 基础设施

您可以使用 IAM 来删除默认服务相关角色或您创建的服务相关角色。有关更多信息,请参阅 IAM 用户指南 中的删除服务相关角色

如果您删除 AWSServiceRoleForAutoScaling 服务相关角色后,Amazon EC2 Auto Scaling 将在您创建了 Auto Scaling 组但未指定其他服务相关角色时再次创建该角色。