使用Ansible连接到AWS EC2实例
我正在学习理智。 如何使用aws EC2机器连接?我用Cloudformation创建了这台机器。我可以这样做(在IP存储在bash作为一个环境变量MY_DB)使用Ansible连接到AWS EC2实例
- name: Test
hosts: "{{ lookup('env','my_db') }}"
user: ec2-user
vars_files:
- vars/test.yml
tasks:
- name: install tarball
(这里做的东西的机器上)
您可以用示例脚本尝试一下,看看它的工作原理。
要回答你的问题:是的,你可以做到这一点如果你设置环境变量my_db
到实例IP。但推荐的方法是通过IP或使用EC2动态库存脚本和实例名称,以便可以为多个主机使用相同的手册。
- 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
所以主机:“{{my_host}}” - 我应该使用主机:“{{my_db}}”在我的情况?谢谢! – Illusionist
使用您在'--extra-vars'中指定的相同值 – helloV
我需要用--extra-vars调用它吗?如果我想跳过额外的变数,我可以设置{{my_db}},并且它会查找吗?如果没有,那么{{lookup('env','my_db')}}“工作吗? – Illusionist
你的问题无关,与cloudformation除了实例是使用CF创建,对吗?实例是否被标记? – helloV
是的,对于混淆 – Illusionist