我们正在使用Ansible with AWS来自动配置服务器。我对如何使用ec2模块调出服务器非常清楚,但仍有一些部分不清楚。
我的问题有两个方面如下:
1)如何使用ec2来启动区域1中的3台服务器以及区域2中的5台服务器等。我是否使用2个独立的剧本,循环使用ec2任务等?基本上,如果我想在不同计数的多个地区启动服务器。
2)完成上面的第1步并在不同区域创建不同数量的服务器,并使用add_host模块保存其ips后,如何将这些ips传递到playbook中的后续步骤,这将是多个在单独的文件中定义的角色?
答案 0 :(得分:0)
注意:使用add_host
添加的ips只能在同一个剧本中使用。
tasks:
- name: Launch multiple instances in multiple regions
ec2:
...
region: "{{ item.region }}"
count: "{{ item.count }}"
...
assign_public_ip: yes
register: ec2
with_items:
- { region: 'us-east-1', count: 2 }
- { region: 'us-west-1', count: 5 }
- name: Add new instance to host group
add_host: hostname={{ item.public_ip }} groupname=launched
with_items: ec2.instances