AWS Beanstalk - 收到“访问 Auto Scaling 和...时拒绝访问”错误

Bil*_*ers 13 amazon-web-services amazon-elastic-beanstalk

当我尝试从命令行启动 Elastic Beanstalk 环境时,我在此过程中收到此错误:

环境健康状况已从待定转变为警告。使用角色“arn:aws:iam::XXXXXXXXXXX:role/aws-elasticbeanstalk-service-role”访问 Auto Scaling 和 Elastic Load Balancing 时访问被拒绝。验证角色策略。

当我从控制台启动它时,我没有收到此警告。我尝试从 CLI 复制相同的 AWS 控制台配置,但我仍然收到此错误。

有什么线索吗?

Eri*_*rts 20

如果有人仍然遇到类似的错误并且仍然不确定如何解决它

  1. 在 AWS 控制台中导航到 IAM。
  2. 导航到 aws-elasticbeanstalk-service-role(在访问管理 > 角色下)。
  3. 附上以下政策:
    • AutoScalingFullAccess
    • ElasticLoadBalancingFullAccess

然后我重建了环境,没有更多的错误!

以下文章帮助我更好地理解了这一点:https : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-roles-service.html

  • 这应该是公认的答案 (2认同)

小智 7

您可以转到您的 IAM 控制台。您将看到“aws-elasticbeanstalk-service-role”,在权限选项卡下,您可以代表您授予您想要授予的特定策略。刷新,您应该“确定”。确保您授予角色的权限可以管理此“使用角色的 Auto Scaling 和 Elastic Load Balancing”


Roh*_*nga 6

Elastic Beanstalk 现在使用服务角色代表您调用其他 AWS 服务。IAM 角色是在您的账户中创建的,您授予启动服务的权限是可选的,但建议用于新环境。

特别是对于增强的健康监控(这是您根据错误消息使用的),服务角色是强制性的。错误配置的服务角色可能会导致此错误消息。

控制台体验使您可以非常轻松地创建/使用具有正确权限的角色。这是因为在使用创建环境向导时,您只需要从下拉列表中选择正确的角色(如果该角色已存在)。

使用 CLI 时,您需要传递服务角色选项设置。(命名空间:aws:elasticbeanstalk:environment,option_name:ServiceRole)。您可以在文档中找到配置的角色所需的权限。

大约有我在以前的堆栈溢出解答服务角色的更多细节在这里

  • 我将此视为示例 Beanstalk 应用程序的警告。根据这个答案,不知道实际要做什么来修复它。 (12认同)