我正在学习安塞。 如何使用ansible连接aws EC2机器?我用Cloudformation创建了这台机器。我可以做一些事情(ip作为环境变量my_db存储在bash中)
- name: Test
hosts: "{{ lookup('env','my_db') }}"
user: ec2-user
vars_files:
- vars/test.yml
tasks:
- name: install tarball
(并在机器上做东西)
答案 0 :(得分:1)
您可以尝试使用示例脚本来查看它是否有效。
如果您将环境变量my_db
设置为实例IP,请回答您的问题:是,您可以。但推荐的方法是传递IP或使用EC2动态库存脚本和实例名称,以便您可以为多个主机使用相同的Playbook。
- name: Test
hosts: "{{ my_host }}"
您可以将IP作为命令行参数传递
ansible-playbook --extra-vars "my_host=<my_db_ip>" my_playbook.yml
或传递主机名(标签:名称)
ansible-playbook -i /etc/ansible/ec2.py --extra-vars "my_host=tag_Name_HOST_NAME" my_playbook.yml