【问题标题】:AWS Elastic BeanStalk "eb init" ErrorAWS Elastic BeanStalk“eb init”错误
【发布时间】:2015-07-17 04:15:32
【问题描述】:

我使用控制台创建了一个 Elastic Beanstalk 环境。然后我登录到 EB EC2 实例并 已安装 awsebcli:

sudo pip install awsebcli

我配置了aws:

aws configure 

并运行“eb init”:

eb init

然后我得到以下错误:

2015-05-06 20:09:41,678 (ERROR) ebcli.lib.aws : Error while contacting Elastic Beanstalk Service
ERROR: ('Connection aborted.', gaierror(-2, 'Name or service not known'))

这是 eb init --debug 的输出:

2015-05-06 20:11:37,681 (DEBUG) eb : logging initialized for 'eb' using LoggingLogHandler
2015-05-06 20:11:37,681 (DEBUG) cement.ext.ext_plugin : plugin config dir /etc/eb/plugins.d does not exist.
2015-05-06 20:11:37,681 (DEBUG) cement.ext.ext_plugin : plugin config dir /home/ec2-user/.eb/plugins.d does not exist.
2015-05-06 20:11:37,684 (DEBUG) eb : collecting arguments/commands for <ebcli.core.base.EbBaseController object at 0x7f5877138ed0>
2015-05-06 20:11:37,690 (DEBUG) eb : collecting arguments/commands for <ebcli.controllers.initialize.InitController object at 0x7f587714fa10>
-- EBCLI Version: 3.3.2
-- Python Version: 2.7.9 (default, Apr  1 2015, 18:18:03) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)]
2015-05-06 20:11:37,696 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,697 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,697 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,697 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,697 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,698 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,698 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,698 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,699 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,699 (DEBUG) ebcli.core.fileoperations : Project root found at: /home/ec2-user/awsebtutorial
2015-05-06 20:11:37,699 (DEBUG) ebcli.lib.elasticbeanstalk : Inside get_available_solution_stacks api wrapper
2015-05-06 20:11:37,699 (DEBUG) ebcli.lib.aws : Creating new Botocore Session
2015-05-06 20:11:37,699 (DEBUG) ebcli.lib.aws : Botocore version: 0.93eb
2015-05-06 20:11:37,701 (DEBUG) ebcli.lib.aws : Creating new Botocore Client for elasticbeanstalk
2015-05-06 20:11:37,702 (DEBUG) ebcli.lib.elasticbeanstalk : Inside get_available_solution_stacks api wrapper
2015-05-06 20:11:37,702 (DEBUG) ebcli.lib.aws : Creating new Botocore Session
2015-05-06 20:11:37,702 (DEBUG) ebcli.lib.aws : Botocore version: 0.93eb
2015-05-06 20:11:37,703 (DEBUG) ebcli.lib.aws : Creating new Botocore Client for elasticbeanstalk
2015-05-06 20:11:37,742 (DEBUG) ebcli.lib.aws : Successfully created session for elasticbeanstalk
2015-05-06 20:11:37,742 (DEBUG) ebcli.lib.aws : Making api call: (elasticbeanstalk, list_available_solution_stacks) to region: default with args:{}
2015-05-06 20:11:50,679 (ERROR) ebcli.lib.aws : Error while contacting Elastic Beanstalk Service
2015-05-06 20:11:50,679 (DEBUG) ebcli.lib.aws : error:('Connection aborted.', gaierror(-2, 'Name or service not known'))
Traceback (most recent call last):
  File "/usr/local/bin/eb", line 9, in <module>
    load_entry_point('awsebcli==3.3.2', 'console_scripts', 'eb')()
  File "/usr/local/lib/python2.7/site-packages/ebcli/core/ebcore.py", line 144, in main
    app.run()
  File "/usr/local/lib/python2.7/site-packages/cement/core/foundation.py", line 694, in run
    self.controller._dispatch()
  File "/usr/local/lib/python2.7/site-packages/cement/core/controller.py", line 455, in _dispatch
    return func()
  File "/usr/local/lib/python2.7/site-packages/cement/core/controller.py", line 461, in _dispatch
    return func()
  File "/usr/local/lib/python2.7/site-packages/ebcli/core/abstractcontroller.py", line 57, in default
    self.do_command()
  File "/usr/local/lib/python2.7/site-packages/ebcli/controllers/initialize.py", line 59, in do_command
    self.set_up_credentials()
  File "/usr/local/lib/python2.7/site-packages/ebcli/controllers/initialize.py", line 133, in set_up_credentials
    profile = self.check_credentials(profile)
  File "/usr/local/lib/python2.7/site-packages/ebcli/controllers/initialize.py", line 122, in check_credentials
    return self.check_credentials(profile)
  File "/usr/local/lib/python2.7/site-packages/ebcli/controllers/initialize.py", line 107, in check_credentials
    initializeops.credentials_are_valid()
  File "/usr/local/lib/python2.7/site-packages/ebcli/operations/initializeops.py", line 24, in credentials_are_valid
    elasticbeanstalk.get_available_solution_stacks()
  File "/usr/local/lib/python2.7/site-packages/ebcli/lib/elasticbeanstalk.py", line 234, in get_available_solution_stacks
    result = _make_api_call('list_available_solution_stacks')
  File "/usr/local/lib/python2.7/site-packages/ebcli/lib/elasticbeanstalk.py", line 38, in _make_api_call
    **operation_options)
  File "/usr/local/lib/python2.7/site-packages/ebcli/lib/aws.py", line 256, in make_api_call
    raise ServiceError(error)
ebcli.objects.exceptions.ServiceError: ('Connection aborted.', gaierror(-2, 'Name or service not known'))

有人知道我该如何解决这个错误吗?

【问题讨论】:

  • php 如何在这里发挥作用?
  • 顺便说一句,我在“eb init”之前运行了“aws configure”,因为如果我在“aws configure”之前运行“eb init”,我会遇到与以下相同的问题:stackoverflow.com/questions/27259915/…
  • cmorrissey,我正在尝试用 php 制作应用程序。我应该删除 php 标签吗?

标签: python linux amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

我的猜测是您的 aws 配置文件中的区域无效。

运行eb init -i 并选择一个区域。

您说运行aws configure 给您一个“未找到解决方案堆栈”错误,这意味着您没有权限。看起来您直接在 ec2 实例上使用 cli。为了在 ec2 实例上获得正确的权限,您需要使用 IAM 将权限添加到实例配置文件中。

【讨论】:

  • 如何“使用 IAM 将权限添加到实例配置文件”?
  • @jjf 您是帐户所有者还是您的帐户由其他人管理?您的 aws 帐户。
  • 我是帐户所有者。
  • 当我在 EC2 仪表板中单击 ec2 实例时,它说该实例具有“aws-elasticbeanstalk-ec2-role”作为其 IAM 角色。然后我转到 IAM 仪表板并单击:角色 -> aws-elasticbeanstalk-ec2-role -> 附加策略 -> AWSElasticBeanstalkFullAccess。完成这些步骤后,ec2 实例是否拥有使用 Elastic Bean Stalk 所需的所有权限?
  • docs.aws.amazon.com/AWSEC2/latest/UserGuide/… 但使用AWSElasticBeanstalkFullAccess 策略。
猜你喜欢
  • 2021-05-30
  • 2018-08-17
  • 2017-09-08
  • 2020-02-19
  • 2017-01-22
  • 2021-11-26
  • 2017-06-17
  • 2019-02-14
  • 2020-08-31
相关资源
最近更新 更多