0

我们使用 Ansible 和 AWS 来自动配置服务器。我对如何使用ec2模块启动服务器有相当清楚的了解,但仍有一些地方不清楚。

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

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

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

4

1 回答 1

0

注意:添加的ipsadd_host只能在同一个playbook中使用。

  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
于 2016-02-03T15:45:06.843 回答