AWS Elastic Beanstalk 命令不返回任何输出
Posted
技术标签:
【中文标题】AWS Elastic Beanstalk 命令不返回任何输出【英文标题】:AWS Elastic Beanstalk commands return no output 【发布时间】:2018-07-18 08:19:41 【问题描述】:我对 Amazon Web Services 非常陌生,并且一直在尝试与他们一起学习边做边学的方法。
总之,我试图为我的 web 应用程序使用弹性 beanstalk 命令行界面设置 Git。但是,我想使用我的 SSH 密钥对进行身份验证(aws-access-id,secret),并且由于我的天真和无知,我只是提供了这些信息(SSH 密钥文件),现在我无法让它工作.更具体的说明如下。
我已经设置了带有 Git 的项目目录,以便它可以工作。然后我打开 git bash 窗口 MINGW64(我在 Windows 10 上)并尝试设置 eb。
$ eb init
然后它告诉我我的凭据没有设置并要求我提供 aws-access-id 和密码。我刚刚设置了 SSH 密钥对并尝试输入这些文件;尝试有什么害处?事实证明,EB 失败。现在,这些实例似乎运行良好,在 AWS 控制台网站上查看它们的状态。但是,无论我在 bash 中输入什么:
$ eb init
$ eb status
$ eb deploy
$
没有输出。甚至没有错误。它只是默默地回到等待我的新命令。
当对这些命令使用 --debug 选项时,会返回一长串操作,以
结尾botocore.parsers.ResponseParserError: Unable to parse response (no element found: line 1, column 0), invalid XML received:
b''
我以为我可以注销或类似的东西,这样我就可以输入我从一开始就搞砸的正确凭据。我从 AWS 网页界面重新启动了 Web 应用程序并重新启动了我的 PC。没有成功。
提前致谢。
编辑: 我还尝试重新安装 awscli 和 awsebcli:
pip uninstall awsebcli
pip uninstall awscli
pip install awscli
pip install awsebcli --upgrade --user
问题仍然存在,但现在只有一个输出(以前只在 --debug 选项下看到):
$ eb init
ERROR: ResponseParserError - Unable to parse response (no element found: line 1, column 0), invalid XML received:
b''
$
【问题讨论】:
您能否将--debugboto
标志传递给eb <command>
以查看botocore
收到的看似错误的响应是什么样的?此外,请查看您的 ~/.aws/credentials 和 ~/.aws/config 文件,看看您的 SSH 密钥是否已替换 AWS ID/Secret Key。
@progfan 写一个答案,我可以接受。这是我修改并设置为正确值的配置文件。在那之后,它完美地工作了。谢谢!
太棒了,很高兴你发现了问题。
【参考方案1】:
听起来您已将 ~/.aws/credentials
和/或 ~/.aws/config
文件中的 AWS 凭证替换为 SSH 密钥。如果您安装了 AWS CLI,您可以手动替换这些或执行 aws configure
。
【讨论】:
以上是关于AWS Elastic Beanstalk 命令不返回任何输出的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS Elastic Beanstalk 中更改数据库配置
在使用 AWS Elastic Beanstalk 创建实例时运行命令
AWS:使用 Elastic Beanstalk 命令行界面 (EB CLI) 3.x SSH 到 EC2