2016-12-14 2 views
3

Я использовал возможность для создания экземпляра ec2. Каждый раз, когда я запускаю vm, я должен выполнить export AWS_ACCESS_KEY_ID = ACCESS-KEY-ID export AWS_SECRET_ACCESS_KEY = SECRET-ACCESS-KEY перед запуском прослушиваемой книги для обеспечения/настройки экземпляра.Альтернатива для экспорта AWS_ACCESS_KEY_ID & AWS_SECRET_ACCESS_KEY

Я написал пьесу, которая выполняет вышеприведенные команды с использованием необработанного модуля, даже после выполнения этой пьесы. Мне нужно вручную выполнить эти команды, прежде чем я смогу запустить сценарий provision.yml.

Есть ли эффективный способ сделать это из самой пьесы ????, потому что я фактически работаю над заданием автоматизации, которое не поощряет ручное выполнение команд.

ответ

0

анзибль может установить переменные окружения:

В вашем PlayBook:

- name: "Simple playbook" 
    hosts: localhost 
    roles: 
    - aws 
    environment: 
    AWS_ACCESS_KEY_ID: "{{ aws_access_key }}" 
    AWS_SECRET_ACCESS_KEY: "{{ aws_secret_key }}" 

я настоятельно рекомендовал бы научиться использовать ansible-vault как быстрый легкий способ хранения учетных данных в анзибле.

Также обратите внимание, что если вы используете сценарий Dynamic инвентаризации ec2.py, вышеупомянутое решение не будет работать. Инвентарь загружается до того, как среда будет установлена ​​в учебнике. В этом случае лучшим вариантом было бы использовать один из альтернативных AWS credential methods. Одним простым способом является файл ~/.boto с содержанием:

[Credentials] 
aws_access_key_id = YOUR_ACCESS_KEY 
aws_secret_access_key = YOUR_ACCESS_SECRET 
Смежные вопросы