Используя ansible, я пытаюсь создать экземпляры ec2 и подключить к каждому экземпляру дополнительный сетевой интерфейс, чтобы у них было два частных IP-адреса. Однако по какой-то причине кажется, что модуль ec2_eni может создавать сетевые интерфейсы, но не будет прикреплять их к указанным экземплярам. Что я делаю неправильно? Ниже мой сценарий:
---
- hosts: localhost
connection: local
gather_facts: false
tasks:
- name: Create new servers
ec2:
region: "{{ region }}"
vpc_subnet_id: "{{ subnet }}"
group_id: "{{ sec_group }}"
assign_public_ip: yes
wait: true
key_name: '{{ key }}'
instance_type: t2.micro
image: '{{ ami }}'
exact_count: '{{ count }}'
count_tag:
Name: "{{ server_name }}"
instance_tags:
Name: "{{ server_name }}"
register: ec2
- name: Show ec2 instance json data
debug:
msg: "{{ ec2['tagged_instances'] }}"
- name: allocate new elastic IPs and associate it with instances
ec2_eip:
region: "{{ region }}"
device_id: "{{ item['id'] }}"
with_items: "{{ ec2['tagged_instances'] }}"
register: eips
- name: Show eip instance json data
debug:
msg: "{{ eips['results'] }}"
- ec2_eni:
subnet_id: "{{ subnet }}"
state: present
secondary_private_ip_address_count: 1
security_groups: "{{ sec_group }}"
region: "{{ region }}"
device_index: 1
description: "test-eni"
instance_id: "{{ item['id'] }}"
with_items: "{{ ec2['tagged_instances'] }}"
Странно то, что задача ec2_eni успешно выполняется, говоря, что она подключила сетевой интерфейс к каждому экземпляру, тогда как на самом деле она просто создает сетевой интерфейс, а затем ничего с ним не делает.