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

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

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

服务相关角色提供了一种将权限委托给 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 服务来代入它。

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

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

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

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

重要

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

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

或者,在创建 Auto Scaling 组时,您也可以创建然后指定自己的服务相关角色(含自定义后缀)。如果您必须为不同的服务相关角色授予对不同的客户主密钥 (KMS) 的访问权限,这会很有用。有关更多信息,请参阅 与加密卷结合使用时必需的 CMK 密钥策略。您还可以记下正在使用的服务相关角色,以便跟踪哪个 Auto Scaling 组在您的 CloudTrail 日志中进行了 API 调用。有关将 IAM 用户或角色的访问限制到特定的自定义服务相关角色的策略,请参阅示例:限制能够传递哪些服务相关角色(使用 PassRole)

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

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

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

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

{ "Role": { "RoleId": "ABCDEF0123456789ABCDEF", "CreateDate": "2018-08-30T21:59:18Z", "RoleName": "AWSServiceRoleForAutoScaling_suffix", "Arn": "arn:aws-cn: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 服务相关角色,在您创建 Auto Scaling 组但未指定其他服务相关角色时,Amazon EC2 Auto Scaling 将再次创建该角色。

Amazon EC2 Auto Scaling 服务相关角色支持的区域

Amazon EC2 Auto Scaling 支持在提供该服务的所有 AWS 区域中使用服务相关角色。有关更多信息,请参阅 AWS 区域和终端节点