在一个月左右的时间里,我一直在研究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
这告诉我已经为应用程序运行了 eb init 。
另一方面,如果我跑:
aws elasticbeanstalk describe-application-versions --application-name app-name --region us-east-1
我收到错误:
Unable to locate credentials. You can configure credentials by running "aws configure".
在当前用户的主文件夹中,有一个.aws目录,其中包含一个包含[profile]行和aws_access_key_id的凭据文件 所有设置的aws_secret_access_key行。
除了证书的明显问题,我真正缺乏的是对两个cli的理解。为什么EB cli不要求凭据和AWS cli?我什么时候使用其中一个?我可以只使用aws cli吗?任何关于此事的澄清都将受到高度赞赏。
编辑:
对于在此结束的任何人,与#34;相同的问题无法找到凭据"。添加 - 个人资料个人资料名称选项为我解决了这个问题。 个人资料名称可以在[个人资料个人资料名称]行的〜/ .aws / config(或凭据)文件中找到。
答案 0 :(得分:2)
为了验证是否在系统运行aws configure
上配置了AWS CLI,并为其提供所需的所有详细信息。这应该可以解决您的凭据问题并检查配置更改,这样您就可以了解当前配置文件的错误。
例如 - 我刚刚为我们的beanstalk应用程序开发了CI / CD管道。当我使用eb cli时,我可以监控应用程序的部署,并在完成后通知开发人员。 aws cli不提供该功能,唯一实现这一点的是重复查询服务,直到收到所需的结果。
答案 1 :(得分:1)
AWS CLI是一种适用于所有AWS资源的通用工具。它与特定的软件项目,您所在的机器类型,您所在的目录或类似内容无关。它只需要凭据,无论是自己的机器,如果它是您自己的机器,它们是否被手动放置,或者如果它是EC2实例则由AWS生成。
EB CLI是一个高级工具,可以将您的软件项目纠缠到位。它与您所在的目录相关联,它假定您目录中的内容是您的项目,并且它具有执行大量后台工作的短命令,可以将所有内容巧妙地放在正确的位置。 / p>