【发布时间】:2016-12-07 11:10:36
【问题描述】:
我遵循了这 3 个指南:
- http://docs.ansible.com/ansible/guide_aws.html
- http://docs.ansible.com/ansible/ec2_module.html
- https://gist.github.com/tristanfisher/e5a306144a637dc739e7
我写了这个 Ansible 剧本
---
- hosts: localhost
connection: local
gather_facts: false
tasks:
- include_vars: aws_credentials.yml
- name: Creating EC2 Ubuntu instance
ec2:
instance_type: t1.micro
image: ami-86e0ffe7
region: us-west-2
key_name: my-aws-key
zone: us-west-2a
vpc_subnet_id: subnet-04199d61
group_id: sg-cf6736aa
assign_public_ip: yes
count: 1
wait: true
volumes:
- device_name: /dev/sda1
volume_type: gp2
volume_size: 10
instance_tags:
Name: ansible-test
Project: test
Ansible: manageable
register: ec2
然后我运行ansible-playbook create-ec2.yml -v --private-key ~/.ssh/my-key --vault-password-file ~/.password/to_ansible_vault
我收到了这条消息
播放 [本地主机] ******************************************* ********************
任务 [include_vars] ******************************************* *****************
ok: [localhost] => {"ansible_facts": {"ec2_access_key": "decrypted_acces_key_XXXXX", "ec2_secret_key": "decrypted_secret_key_XXXXX"}, "changed": false}
任务 [创建 EC2 Ubuntu 实例] **************************************** ****
致命:[本地主机]:失败! => {"changed": false, "failed": true, "msg": "没有处理程序准备好进行身份验证。检查了 1 个处理程序。['HmacAuthV4Handler'] 检查您的凭据"}
没有更多主机了 ******************************************* ******************
[警告]:无法创建重试文件“create-ec2.retry”。 [Errno 2] 没有这样的文件或目录:''
播放回顾 ************************************************ ************************
localhost : ok=1 已更改=0 无法访问=0 失败=1
当我运行 ansible-vault view aws_credentials.yml --vault-password-file ~/.password/to_ansible_vault 时,我得到了加密 aws_credentials.yml 的可读内容,
像这样:
---
ec2_access_key: "XXXXX"
ec2_secret_key: "XXXXX"
当我使用普通的 aws_credentials.yml 时,它也不起作用。只有当我导出我的凭据时,它才能正常工作。 有人可以帮我吗,我该如何编写剧本来创建具有存储在加密文件中的凭据的 ec2 实例?
【问题讨论】:
-
从 AWS 8gwifi.org/aws.jsp 生成 Ansible 配置
标签: amazon-web-services amazon-ec2 ansible ansible-playbook