AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Elastic Beanstalk 服务角色

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

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeInstanceHealth", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:GetConsoleOutput", "ec2:AssociateAddress", "ec2:DescribeAddresses", "ec2:DescribeSecurityGroups", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeScalingActivities", "autoscaling:DescribeNotificationConfigurations" ], "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 服务角色