2014-10-02 63 views
0

几周前,我关闭了几个月来一直工作正常的弹性beanstalk应用程序。我现在想再次添加它,因此我创建了一个新的Elastic Beanstalk应用程序,并部署了几个月前部署和工作的相同部署。部署Elastic Beanstalk Worker层时的权限错误

而不只是工作像以前一样,我碰到很多问题如:

  • 你requirements.txt文件无效。

  • 目标WSGI脚本不能作为Python模块加载。

  • 导入错误:没有模块名称pymysql

  • 错误:无法创建 '/usr/lib/python2.6/site-packages/flask':权限被拒绝

我已搜查为所有这些问题提供解决方案,并且所有这些问题似乎都与用户权限问题有关。但我不确定我的权限有什么问题。

My Elastic Beanstalk Application设置为ec2角色。 ec2角色有“管理员访问”策略,应该让用户做他们想做的任何事情。我还将AdministratorAccess设置为唯一的IAM用户和我唯一获得的IAM组。

我在ssh中玩过一些sudo命令,这似乎工作。例如,当我部署我的应用程序时,我得到“Your requirements.txt文件无效”,但是如果我的sudo pip install -r requirements.txt成功了,则与Flask安装相同。

所以问题是:这个权限错误?如果是这样,我的权限可能有什么问题?不应该AdministratorAccess打开所有权限?

回答

0

我用下面的方法解决了这个问题,我不确定是否存在权限错误,确切地说是什么问题的根源。但它有助于:

  • 我用Pillow替换了我的requirements.txt中的PIL。
  • 我为我的ec2角色添加了2个自定义策略。这些政策可以在这里找到http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.roles.aeb.html,但是我仍然在ec2角色上留下了“AdministratorAccess”。在我的脑海中,这使得0理解,因为管理员访问应该已经给予用户与那些定制策略(?)相同的权限,但是它工作。
相关问题