尝试获取在AWS Beanstalk上运行的django项目时,实例配置文件不存在错误

问题描述 投票:9回答:2

我正在按照本教程尝试将django项目部署到AWS Beanstalk。我执行

eb create

一段时间后出现错误

The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.

我是Amazon云的新手,无法解释此错误。有人可以帮我吗?

django python-2.7 amazon-web-services elastic-beanstalk
2个回答
11
投票

该角色是您第一次使用Elastic beantalk控制台时创建的。 CLI也会尝试创建它,但是您的IAM用户没有创建它的权限。您可以通过登录控制台并进入平台选择页面来解决此错误。您会注意到它会要求您创建一个角色。

否则,您可以给您的IAM用户授予创建角色权限,CLI将为您创建角色。


0
投票

您可以在此处检查适用于AWS Beanstalk的一个选项。这是使用AWS控制台的。

  1. 为“ EC2”创建IAM角色作为AWS服务并附加对其具有“ AWSElasticBeanstalkFullAccess”策略。
  2. 使用所选的层/平台/应用程序创建一个AWS Beanstalk环境。 (我做过Web层,使用python:3-onbuild选择Docker平台)。
  3. 单击“配置更多选项”>“修改”安全​​性。
  4. 选择在步骤1中创建的“ IAM实例配置文件”。(保留服务角色因为需要“ aws-elasticbeanstalk-service-role”!它有一些关键政策!)
  5. “保存”和“创建环境”。

同样,它也应适用于AWS CLI和AWS开发工具包。这里的关键是在Beanstalk Environment创建期间为EC2设置的实例配置文件角色(或说实例IAM角色/实例配置文件)。

您可以根据需要创建扩展或重用AWSElasticBeanstalkFullAccess策略的客户托管策略。请参阅AWSElasticBeanstalkFullAccess以更好地理解它。另外,请查看从AWSElasticBeanStalk *开始的其他一些AWS托管策略。

以某种方式,默认的aws-elasticbeanstalk-ec2-role策略无法正常工作/对我生效。如果我使用默认策略,则会收到与上述报告相同的错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.