4

我有RoR应用程序,以及使用AWS EB命令行,当我尝试创建ElasticBeanstalk应用程序,它要求我要--service角色标志AWS EB创建 - 无法找到角色

我给他IAM角色存在:例如管理员使用管理员权限或AWS-elasticbeanstalk-EC2角色

所以我写eb create --service-role aws-elasticbeanstalk-ec2-role

它开始部署,但经过一段时间其过渡健康,因为警告: Unable to assume role "arn:aws:iam::xxxxxxxxxx:role/aws-elasticbeanstalk-ec2-role". Verify that the role exists and is configured correctly.

这就是为什么我的部署失败。

有什么建议吗?

感谢

回答

1

当你创建一个环境中,您分配一个服务的角色吧。你需要首先创建这个角色。有预定义的可以使用。通过控制台,您可以在创建环境时创建此角色。

这些资源可以帮助你: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-roles.html

+2

在我的案例中的作用存在,但同样的警告是由AWS上部署的提出,是因为角色缺少必要的信任关系。 [基于文档](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-roles.html#concepts-roles-service)我必须更新现有角色才能使警告消失。 –

+0

@KohányiRóbert关心分享您的修复?我已阅读文档并将其复制粘贴到角色的信任关系中,但仍遇到相同的错误。 – lionello

+1

@lionello现在我无法访问AWS。您必须在AWS中找到'aws-elasticbeanstalk-ec2-role',单击它,在页面底部找到Trust关系(或类似)选项卡并编辑信任关系。您必须将[this](http://pastebin.com/raw/jneCMsh6)(取自手册)粘贴到实际JSON中的元素数组中。希望这可以帮助。但文件说明了一切。只要真正彻底地阅读它,并通过你的角色的权限。如果你有权限。删除角色,并通过执行演示部署来重新创建角色。希望这可以帮助。节日快乐的人! –