2016-02-03 53 views
0

我們正在使用Ansible與AWS的服務器自動配置旋轉起來在AWS可變數量在不同區域的實例。我對如何使用ec2模塊來啓動服務器有一個非常清楚的理解,但仍有一些部分不清楚。如何使用Ansible

我的問題是雙重的,如下所示:

1)如何使用EC2,彈出例如在區域1 3個服務器和5個服務器在區域2等..?我是否使用2個獨立的劇本,循環使用ec2任務等?基本上如果我想在不同計數的多個地區啓動服務器。

2)一旦我完成了上述步驟1並在不同地區創建了不同數量的服務器,並使用add_host模塊來保存其ips,那麼如何將這些ips傳遞到playbook中的下一步,多個角色在單獨的文件中定義?

回答

0

注:IPS使用add_host僅可使用在相同的劇本加入。

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 
+0

這是完美的。現在,接下來,我可以將這些區域放入一個變量文件中,它應該是什麼樣子?另外,如果我有後續的角色想申請,我應該只有一個巨大的劇本,還是我可以在這裏包含這些角色,並允許他們訪問剛創建的主機名? –