无法在命令行或管理仪表板中创建 AWS Elastic Beanstalk 环境
Posted
技术标签:
【中文标题】无法在命令行或管理仪表板中创建 AWS Elastic Beanstalk 环境【英文标题】:Unable to create AWS Elastic Beanstalk environment in either command line or admin dashboard 【发布时间】:2017-05-31 18:01:00 【问题描述】:我正在尝试将“Hello, world”Rails 应用程序(Rails v 5.0.1、Ruby v 2.3.1)部署到 AWS 以了解 AWS。
我在 AWS Elastic Beanstalk 控制面板中创建了一个 IAM 用户,并且我已验证该用户具有一个访问 ID 和秘密访问密钥。我已确保这两个凭据存储在本地计算机的环境变量中,为了完整起见,我还确保这些相同的值在 ~/.aws/credentials 文件中是正确的。我已经完成了在 UI 中创建新应用程序的步骤,但是每当我单击“创建应用程序”时,我都会在屏幕顶部看到以下错误:
Validation Error
Configuration validation exception: AWS Elastic Beanstalk could not communicate with Amazon EC2 to determine whether to create a custom security group for Elastic Load Balancing.
我的 IAM 用户是“AdministratorAccess”和“AWSElasticBeanstalkFullAccess”权限组的成员。
在创建应用程序时,我经历了以下步骤:
1) 在“选择环境层”菜单中选择“Web 服务器环境”。 2)在“创建新环境”菜单中,我选择“Ruby”作为平台,在“应用程序代码”选项下选择“示例应用程序”。
同样,当我在命令行中导航到我的项目目录并运行“eb create dev-env”时,我看到以下内容:
MacBook-Pro-5:beanstalk richiethomas$ eb create dev-env
WARNING: You have uncommitted changes.
Creating application version archive "app-e4da-170116_145453".
Uploading beanstalk/app-e4da-170116_145453.zip to S3. This may take a while.
Upload Complete.
ERROR: API Call unsuccessful. Status code returned 401
编辑:即使我没有未提交的更改,也会返回相同的 401 响应。
谁能说明我做错了什么?
【问题讨论】:
我正在尝试关注您的问题。您是否按照此处列出的步骤进行操作:docs.aws.amazon.com/elasticbeanstalk/latest/dg/…? @Taterhead 是的,但有一些例外。我使用 Homebrew 而不是 pip 来安装 awsebcli。此外,“puma”gem 已经在我的 Gemfile 中(我猜它是 Rails 5 安装的标准配置?)。我坚持的步骤是“部署项目”步骤——我尝试运行“eb create”会返回我提到的 401 响应。 【参考方案1】:我知道这个问题是不久前提出的,但对于那些正在寻找此问题的解决方案的人,您需要将以下权限添加到您的 IAM 帐户。
AWSCodeCommitPowerUser AWSCodeCommitFullAccess
【讨论】:
为什么...?这似乎与错误消息没有任何关系,这只是 AWS 的草率吗? @JTWolgamott 这是配置验证错误,因此 aws 无法验证用户是否有权配置在本例中为部署的帐户。 AWS 拥有 IAM 账户,因此您可以分配开发人员职责,而无需让任何一个用户完全控制。这些权限只是赋予指定用户部署/初始化等权限。以上是关于无法在命令行或管理仪表板中创建 AWS Elastic Beanstalk 环境的主要内容,如果未能解决你的问题,请参考以下文章
在 wp 管理仪表板中创建表单并将数据保存在自定义创建的数据库中