Amazon web services 将弹性IP与ec2实例关联

Amazon web services 将弹性IP与ec2实例关联,amazon-web-services,ansible,Amazon Web Services,Ansible,我之前在AWS中创建了一些(即3个)现有的弹性IP。我试图提供3个AWS ec2实例,并将这些IP与新创建的实例相关联。我需要使用这些现有的弹性IP,因为它们与我的外部合作伙伴一起被列为白名单,用于支付流程。我不知道该怎么做。我有下面的剧本来创建ec2: - name: Provision a set of instances ec2: key_name: "{{ key_name }}" group_id: "{{ security_group

我之前在AWS中创建了一些(即3个)现有的弹性IP。我试图提供3个AWS ec2实例,并将这些IP与新创建的实例相关联。我需要使用这些现有的弹性IP,因为它们与我的外部合作伙伴一起被列为白名单,用于支付流程。我不知道该怎么做。我有下面的剧本来创建ec2:

   - name: Provision a set of instances
     ec2:
        key_name: "{{ key_name }}"
        group_id: "{{ security_group }}"
        instance_type: "{{ instance_type }}"
        image: "{{ ami_id }}"
        wait: true
        exact_count: "{{ instances }}"
        count_tag:
            Name: Demo
        instance_tags:
            Name: "{{ application }}"
        region: "{{ region }}"
     register: ec2_instances

   - name: Store EC2 instance IPs to provision
     add_host:
       hostname: "{{ item.public_ip }}"
       groupname: ec2_instance_ips
     with_items: "{{ ec2_instances.tagged_instances }}"
第二项任务是准备好配置实例

接下来我只需要将EIP与这些实例关联起来

谢谢,
菲利普

给你,退出我的一个角色

- name: associate with our instance
  ec2_eip:
    reuse_existing_ip_allowed: true
    instance_id: "{{ec2_instance}}"
    public_ip: "{{eip}}"
    state: present
    region: "{{ec2_region|default('us-east-1')}}"
    in_vpc: true

这有一个模块。你提到这个了吗:我试试看。谢谢你的帮助,例如他的作品很漂亮。但我有多个实例需要在每个实例的EIP上分配。这就是循环的用途。我尝试添加循环,但看起来它在一个实例的所有EIP上循环,然后在第二个实例上再次查看所有EIP,不是一个EIP到一个实例。您需要循环您的实例并将EIP与它们关联,而不是反过来。你必须弄清楚如何在分配任务时做到确定性。