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

Posted

技术标签:

【中文标题】AWS Beanstalk - 出现“访问 Auto Scaling 时拒绝访问和...”错误【英文标题】:AWS Beanstalk - getting "Access denied while accessing Auto Scaling and ..." error 【发布时间】:2016-05-05 01:32:57 【问题描述】:

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

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

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

有什么线索吗?

【问题讨论】:

【参考方案1】:

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

    在 AWS 控制台中导航到 IAM。 导航到 aws-elasticbeanstalk-service-role(在访问管理 > 角色下)。 附加以下策略: AutoScalingFullAccess ElasticLoadBalancingFullAccess

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

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

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

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

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

在我之前的堆栈溢出答案here中有更多关于服务角色的详细信息。

【讨论】:

我将此视为示例 Beanstalk 应用程序的警告。根据这个答案,不知道该怎么做才能修复它。 @thisismydesign 目前也有同样的问题。 :D【参考方案4】:

如果有人无法解决之前操作的错误,我必须做的是:

    向 aws-elasticbeanstalk-service-role 添加以下策略 AutoScalingFullAccess | ElasticLoadBalancingFullAccess 不重新启动而是重新构建环境

(一段时间后它不断启动错误)

然后我补充说:

AdministratorAccess-AWSElasticBeanstalk(同样适用于 aws-elasticbeanstalk-service-role) 再次重新构建环境

目前正在运行。

【讨论】:

请说明您添加 IAM 政策的位置。

以上是关于AWS Beanstalk - 出现“访问 Auto Scaling 时拒绝访问和...”错误的主要内容,如果未能解决你的问题,请参考以下文章

部署到 AWS Elastic Beanstalk 失败,出现异常“UTF-8 中的字节序列无效”

部署在 Elastic Beanstalk 上的 Python Flask 服务器出现 AWS 内部服务错误,日志说 SECRET_KEY 从未设置?

在 AWS Elastic Beanstalk 上部署 Spring Boot 应用程序 — 出现 502 错误

.net 中的 AWS BeanStalk 部署失败?

AWS Elastic Beanstalk Flask 应用程序:Toolkit 找不到出现在 EC2 实例上的资源

将映像从 aws ecr 部署到 aws elastic beanstalk