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

use*_*029 9 django amazon-web-services python-2.7 amazon-elastic-beanstalk

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

eb create
Run Code Online (Sandbox Code Playgroud)

过了一会儿,我得到了错误

The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.
Run Code Online (Sandbox Code Playgroud)

我是亚马逊云的新手,无法解释此错误.有人能帮助我吗?

Arp*_*ain 62

早期 Elastic Beanstalk 用于创建默认 EC2 实例配置文件,该配置文件在aws-elasticbeanstalk-ec2-roleAWS 账户首次创建环境时命名。该实例配置文件包括默认托管策略。但是,最近的 AWS 安全准则不允许 AWS 服务自动创建具有对其他 AWS 服务(本例中为 EC2)的信任策略的角色。由于这些安全准则,Elastic Beanstalk 不再创建默认aws-elasticbeanstalk-ec2-role实例配置文件。

\n

因此,如果您的 AWS 账户没有\xe2\x80\x99t EC2 实例配置文件,则必须使用 IAM 服务创建一个。然后,您可以将 EC2 实例配置文件分配给您创建的新环境。

\n

打开 IAM 控制台 \xe2\x86\x92 在控制台的导航窗格中,选择角色,然后创建角色 \xe2\x86\x92 在受信任的实体类型下,选择 AWS 服务 \xe2\x86\x92 在用例下,选择 EC2 \ xe2\x86\x92 选择下一步 \xe2\x86\x92 附加 - AWSElasticBeanstalkWebTierAWSElasticBeanstalkWorkerTierAWSElasticBeanstalkMulticontainerDocker \xe2\x86\x92 选择下一步 \xe2\x86\x92 输入角色的名称 - aws-elasticbeanstalk-ec2-role\xe2\x86\x92 选择创建角色。

\n

如果您已有实例配置文件,请确保您具有以下所需的策略。为了满足环境的默认用例,必须将这些策略附加到 EC2 实例配置文件的角色:-

\n

角色名称aws-elasticbeanstalk-ec2-role

\n

附上许可政策:-

\n
    \n
  • AWSElasticBeanstalkWebTier
  • \n
  • AWSElasticBeanstalkWorkerTier
  • \n
  • AWSElasticBeanstalkMulticontainerDocker
  • \n
\n

EC2 的信任关系策略:-

\n
{\n  "Version": "2008-10-17",\n  "Statement": [\n    {\n      "Effect": "Allow",\n      "Principal": {\n        "Service": "ec2.amazonaws.com"\n      },\n      "Action": "sts:AssumeRole"\n    }\n  ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

在此输入图像描述

\n

希望这可以帮助。

\n

  • 创建/编辑环境时,请确保在控制台中选择此实例配置文件 - `aws-elasticbeanstalk-ec2-role`。如果您使用了不同的角色名称,请确保使用该名称。在环境配置中,您可以验证正在使用哪个实例配置文件。 (3认同)

JRi*_*dsz 14

如果有人不想或不能使用 aws elb Web 控制台创建角色,您只需手动创建角色并添加以下策略:

  • AWSElasticBeanstalkWebTier
  • AWSElasticBeanstalk多容器Docker
  • AWSElasticBeanstalkWorkerTier

在此输入图像描述

即将推出:

测试该角色是否是强制性的。也许我们只需要将此策略添加到当前用户


Nic*_*ich 11

第一次使用弹性beanstalk控制台时会创建该角色.CLI也会尝试创建它,但您的IAM用户无权创建它.您可以登录控制台并进入平台选择页面来修复此错误.您会注意到它会要求您创建一个角色.

否则,您可以为您的IAM用户创建角色权限,CLI将为您创建角色.