Я последовал за эти 3 руководства:Создать экземпляр EC2 по анзибль с AWS учетные данные
- http://docs.ansible.com/ansible/guide_aws.html
- http://docs.ansible.com/ansible/ec2_module.html
- https://gist.github.com/tristanfisher/e5a306144a637dc739e7
, и я написал эту анзибль игру
---
- 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
и я получаю это сообщение
PLAY [LOCALHOST] ************************* **************************************
ЗАКАЗ [include_vars] **** ************************************************** ******
нормально: [локальный] => { "ansible_facts": { "ec2_access_key": "decrypted_acces_key_XXXXX", "ec2_secret_key": "decrypted_secret_key_XXXXX"}, "изменил" ложь}
ЗАДАЧА [Создание экземпляра EC2 Ubuntu] **************************************** ****
фатальный: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Никакой обработчик не был готов к аутентификации. Проверялись 1 обработчик. ['HmacAuthV4Handler'] Проверьте ваши учетные данные"}
НЕТ БОЛЬШИХ ХОЗЯЙСТВ ЛЕВЫЙ ************************************************** ***********
[WARNING]: Не удалось создать файл повторной попытки «create-ec2.retry». [Errno 2] Нет такого файла или каталога: ''
PLAY RECAP ******************************** *************************************
localhost: ok = 1 changed = 0 unreachable = 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, это не сработает. Только когда я экспортирую свои учетные данные, он работает без сбоев. Может ли кто-нибудь мне помочь, как я могу написать playbook для создания экземпляра ec2 с учетными данными, хранящимися в зашифрованном файле?