如何使用Ansible

时间:2016-02-03 14:45:21

标签: amazon-web-services amazon-ec2 ansible ansible-2.x

我们正在使用Ansible with AWS来自动配置服务器。我对如何使用ec2模块调出服务器非常清楚,但仍有一些部分不清楚。

我的问题有两个方面如下:

1)如何使用ec2来启动区域1中的3台服务器以及区域2中的5台服务器等。我是否使用2个独立的剧本,循环使用ec2任务等?基本上,如果我想在不同计数的多个地区启动服务器。

2)完成上面的第1步并在不同区域创建不同数量的服务器,并使用add_host模块保存其ips后,如何将这些ips传递到playbook中的后续步骤,这将是多个在单独的文件中定义的角色?

1 个答案:

答案 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