【问题标题】:How to change the AWS account using the Elastic Beanstalk CLI如何使用 Elastic Beanstalk CLI 更改 AWS 账户
【发布时间】:2015-05-25 06:13:58
【问题描述】:

我使用弹性 beanstalk 将应用程序部署到我的个人 AWS 账户。现在我想更改 AWS 凭证,以便 eb cli 知道部署到不同的账户。但是当我键入“eb init”时,它不会要求我提供 AWS 密钥。我在哪里指定?

【问题讨论】:

  • 是否设置了AWS_CREDENTIAL_FILE

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


【解决方案1】:

我不得不向这个文件~/.aws/config 添加一个新的配置文件。具有 2 个配置文件的文件示例:

[profile eb-cli]
aws_access_key_id = XXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXX

[profile eb-cli2]
aws_access_key_id = XXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXX

还要确保更新应用程序 .elasticbeanstalk/config.yml 中的配置文件值

【讨论】:

  • 我无法编辑 .elasticbeanstalk/config.yml 文件中的配置文件值。转到目录,然后运行带有 --profile 标志的命令,满足要使用的配置文件值。 eb init --profile [profilename]。我按照上面的例子使用了eb init --profile eb-cli2
  • 是的,只是创建一个新的配置文件并运行eb init 实际上将其改回到第一个/原始配置文件。 --profile 标志对我来说是关键。
  • 如果有人遇到错误“错误:NotFoundError - Elastic Beanstalk 找不到任何平台。确保您拥有访问 Elastic Beanstalk 的必要权限。”,请确保导航到 IAM > AWS 仪表板上的用户,选择您的用户,然后附加策略“AWSElasticBeanstalkFullAccess”。干杯
  • 我认为路径应该是:~/.aws/config not .yaml stackoverflow.com/questions/27514937/…
  • 在我完成包括@EderYif 在内的所有操作后,它一直在询问“您希望继续使用 CodeCommit 吗?”和“你想为你的实例设置 SSH 吗?”没有任何反应有效:(
【解决方案2】:

Bpn 的答案是正确的,只需添加下一步以避免像我一样花费时间..

更新~/.aws/config文件后,运行:

eb init --profile <profilename>

为了在帐户之间切换。

(在这种情况下,profilename = eb-cli2)

【讨论】:

    【解决方案3】:

    使用export AWS_EB_PROFILE="default",我能够使用来自~/.aws/credentials 的默认配置文件中的密钥。

    更多详情:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html

    【讨论】:

      【解决方案4】:

      awsebcli 工具会自动创建一个名为 ~/.aws/config 的文件,您可以在其中的 [profile eb-cli] 类别下看到您的密钥。只需在此处更改即可。

      [profile eb-cli]
      aws_access_key_id = ...
      aws_secret_access_key = ...
      

      【讨论】:

      • 我的技术主管为我设置了访问受限的 AWS IAM 用户。安装 awsebcli 后,我能够找到我的 ~/.aws/config。它从我的其他帐户加载了我的个人资料,但我的 IAM 用户帐户似乎没有新的 aws_access_key_idaws_secret_access_key。我可以生成一个还是我的技术主管需要这样做?
      【解决方案5】:

      在 ~/.aws/credentials 中指定配置文件:

      [myprofile2] 
      aws_access_key_id = ...
      aws_secret_access_key = ...  
      

      就像其他人指出的那样。然后像这样在 eb cli 中使用它:

      eb init --profile myprofile2 
      

      基本上在所有 eb 命令中附加“--profile myprofile2”:

      eb deploy --profile myprofile2 
      eb open --profile myprofile2
      

      【讨论】:

        猜你喜欢
        • 2015-10-19
        • 2016-10-05
        • 2018-04-20
        • 2014-07-03
        • 2019-02-14
        • 2020-06-08
        • 2018-12-21
        • 2016-05-10
        • 2020-04-07
        相关资源
        最近更新 更多