首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不可测动态库存:身份验证错误检索ec2库存

不可测动态库存:身份验证错误检索ec2库存
EN

Stack Overflow用户
提问于 2017-02-24 15:29:18
回答 1查看 2.8K关注 0票数 2

我正在使用Ansible的动态库存特性连接到AWS帐户中的ec2实例,使用以下方法:

代码语言:javascript
复制
AWS_PROFILE=personal ansible-playbook cifarm.yml -C

我已将https://raw.github.com/ansible/ansible/devel/contrib/inventory/ec2.py复制到库存目录下的和https://raw.github.com/ansible/ansible/devel/contrib/inventory/ec2.ini文件中。

在运行AWS_PROFILE=personal ansible-playbook cifarm.yml -C时,它会抛出以下错误:

输出: inventory脚本( Inventory /ec2.py)有一个执行错误:错误:“身份验证错误检索ec2库存。- AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境vars找到但可能不正确- Boto吐露在'~/.boto,~/..aws/凭据‘,但包含的凭据可能不正确”,同时:获取EC2实例

我正在运行一个MAC操作系统的游戏手册。请注意,我能够成功地运行在下面:

代码语言:javascript
复制
aws ec2 describe-instances --page-size 5 --profile personal

这表明凭证是正确的,而且我还导出了AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。

我试图按以下方式执行存货/ec2.py文件:

代码语言:javascript
复制
./ec2.py --list

结果也有同样的错误。我看到一条帖子,有人建议我更新机器上的时间,我正在运行剧本。所以我运行了ntpdate -u

但这个问题仍然存在。我不知道原因是什么。任何帮助/建议都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-27 12:01:49

我设法解决了这个问题。在这里解释,让其他人从中受益。当我为AWS_PROFILE= personal生成aws凭据时,在~/.aws/凭据中有以下环境变量的值:

  1. aws_access_key_id
  2. aws_secret_access_key
  3. aws_session_token。

但是,如果您查看ec2.py,它需要名为aws_security_token的变量值。因此,我所做的就是在~/..aws/凭据中将变量名从aws_session_token更改为aws_security_token。

然后瞧。效果很好。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42442390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档