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

Elastic Beanstalk 服务角色

服务角色是 Elastic Beanstalk 在代表您调用其他服务时代入的 IAM 角色。例如,Elastic Beanstalk 在调用 Amazon Elastic Compute Cloud (Amazon EC2)、Elastic Load Balancing 和 Amazon EC2 Auto Scaling API 来收集有关其 AWS 资源运行状况的信息用于增强型运行状况监控时,使用您在创建 Elastic Beanstalk 环境时指定的服务角色。

AWSElasticBeanstalkEnhancedHealth 托管策略包含 Elastic Beanstalk 监控环境运行状况所需的所有权限:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetHealth", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:GetConsoleOutput", "ec2:AssociateAddress", "ec2:DescribeAddresses", "ec2:DescribeSecurityGroups", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeScalingActivities", "autoscaling:DescribeNotificationConfigurations", "sns:Publish" ], "Resource": [ "*" ] } ] }

此策略还包括 Amazon SQS 操作,以允许 Elastic Beanstalk 监控工作线程环境的队列活动。

在使用 Elastic Beanstalk 控制台创建环境时,Elastic Beanstalk 将提示您创建一个具有默认权限集的服务角色(名为 aws-elasticbeanstalk-service-role)和一个允许 Elastic Beanstalk 代入该服务角色的信任策略。如果您启用托管平台更新,Elastic Beanstalk 会附加另一策略,其中包含可启用该功能的权限。

同样,当您使用 Elastic Beanstalk 命令行界面 (EB CLI) 的 eb create 命令创建环境但未通过 --service-role 选项指定服务角色时,Elastic Beanstalk 将创建默认服务角色 aws-elasticbeanstalk-service-role。如果默认服务角色已存在,Elastic Beanstalk 会将其用于新环境。

当您使用 Elastic Beanstalk API 的 CreateEnvironment 操作创建环境但未指定服务角色时,Elastic Beanstalk 会创建监控服务相关角色。这是由 Elastic Beanstalk 预定义的独特类型的服务角色,它具有服务代表您调用其他 AWS 服务所需的所有权限。服务相关角色与您的账户关联。Elastic Beanstalk 将创建一次,然后在创建其他环境时重用。您也可以使用 IAM 提前创建账户的监控服务相关角色。在您的账户具有监控服务相关角色时,您可以通过 Elastic Beanstalk API、Elastic Beanstalk 控制台或 EB CLI 使用该角色创建环境。有关将服务相关角色与 Elastic Beanstalk 环境结合使用的详细信息,请参阅将服务相关角色用于 Elastic Beanstalk

有关服务角色的更多信息,请参阅管理 Elastic Beanstalk 服务角色