大约一个月以来,我一直在学习AWS服务,现在我必须通过命令行完成一些关于AWS弹性豆杆的基本工作。据我所知,在构建实例上安装了aws弹性命令和eb命令 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目录,并设置了aws_access_key_id和aws_secret_access_key行。
除了证书的明显问题外,我真正缺少的是对这两个cli的理解。为什么EB cli不要求凭证而AWS cli要求凭据?我什么时候用一个或另一个?我只能用aws cli吗?如对此事作出任何澄清,将不胜感激。
编辑:
对于任何在这里结束的人来说,同样的问题是“找不到凭据”。添加-配置文件-名称选项解决了我的问题。profile-name可以在配置文件profile-name行的~/..aws/config(或凭据)文件中找到。
发布于 2016-07-15 09:46:39
为了验证AWS是否在您的系统上配置,运行aws configure并向它提供它所需的所有细节。这将解决您的凭据问题,并且检查配置的更改将使您了解当前conf的错误所在。
eb cli和aws cli具有非常相似的功能,我也对它们为什么都应该存在感到困惑。根据我的经验,主要的区别是cli用于使用简单的请求与AWS帐户交互,而eb cli则在您和eb env之间创建连接,从而允许对它们进行更精细的控制。
例如,我刚刚为我们的豆茎应用程序开发了一个CI/CD管道。当我使用eb cli时,我可以监视我们的应用程序的部署,并在它完成时通知开发人员。aws cli不提供该功能,唯一要实现的就是反复查询服务,直到收到所需的结果。
发布于 2017-12-13 15:47:04
AWS是用于所有AWS资源的通用工具。它不与特定的软件项目、您所处的机器类型、您所在的目录或诸如此类的东西挂钩。它只需要凭据,如果是您自己的机器,它是手动放在那里的,或者如果它是EC2实例,则由AWS生成。
EB CLI是一个高级别的工具,可以使您的软件项目就位。它与您所在的目录绑定在一起,它假设目录中的内容是您的项目,并且它有一些简短的命令,可以执行大量的后台工作来神奇地将所有内容放在正确的位置。
https://stackoverflow.com/questions/38390288
复制相似问题