ERI*_*SON 5 amazon-web-services aws-cli amazon-elastic-beanstalk ebcli
大约一个月左右,我一直在研究AWS服务,现在我必须通过命令行在AWS弹性beanstalk上完成一些基本的东西.据我所知,在构建实例上安装了aws elasticbeanstalk [command]和eb [command] CLI.
当我在应用程序文件夹中运行eb status时,我得到以下形式的响应:
Environment details for: app-name
Application name: app-name
Region: us-east-1
Deployed Version: app-version
Environment ID: env-name
Platform: 64bit Amazon Linux ........
Tier: WebServer-Standard
CNAME: app-name.elasticbeanstalk.com
Updated: 2016-07-14 .......
Status: Ready
Health: Green
Run Code Online (Sandbox Code Playgroud)
这告诉我已经为应用程序运行了eb init.
另一方面,如果我跑:
aws elasticbeanstalk describe-application-versions --application-name app-name --region us-east-1
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Unable to locate credentials. You can configure credentials by running "aws configure".
Run Code Online (Sandbox Code Playgroud)
在当前用户的主文件夹中,有一个.aws目录,其中包含一个包含[profile]行的凭证文件,并且aws_access_key_id和aws_secret_access_key行都已设置完毕.
除了证书的明显问题,我真正缺乏的是对两个cli的理解.为什么EB cli不要求凭据和AWS cli?我什么时候使用其中一个?我可以只使用aws cli吗?任何有关此事的澄清都将受到高度赞赏.
编辑:
对于在此结束的任何人,遇到"无法找到凭据"的相同问题.添加--profile profile-name选项为我解决了这个问题.profile-name可以在[profile profile-name ]行的〜/ .aws/config(或凭证)文件中找到.
AWS CLI 是适用于所有 AWS 资源的通用工具。它与特定的软件项目、您所在的计算机类型、您所在的目录或类似的东西无关。它只需要凭证,无论它们是手动放置的(如果是您自己的计算机)还是由 AWS 生成(如果是 EC2 实例)。
EB CLI 是一个高级工具,用于将您的软件项目安排到位。它与您所在的目录相关联,它假设您目录中的内容是您的项目,并且它具有简短的命令,可以执行大量后台工作,以神奇地将所有内容放在正确的位置。
为了验证您的系统上是否配置了 AWS CLI,aws configure请运行并向其提供所需的所有详细信息。这应该可以解决您的凭据问题,并且检查配置中的更改将使您了解当前配置出了什么问题。
eb cli 和 aws cli 具有非常相似的功能,我也有点困惑为什么它们都应该存在。根据我的经验,主要区别在于 cli 用于使用简单请求与您的 AWS 账户进行交互,而 eb cli 在您和 eb env 之间创建连接,因此允许对它们进行更精细的控制。
例如 - 我刚刚为我们的 beanstalk 应用程序开发了一个 CI/CD 管道。当我使用 eb cli 时,我可以监控应用程序的部署并在完成时通知开发人员。aws cli 不提供该功能,实现该功能的唯一方法是重复查询服务,直到收到所需的结果。
| 归档时间: |
|
| 查看次数: |
1595 次 |
| 最近记录: |