ec2_eni – Создание и (необязательное) подключение Elastic Network Interface (ENI) к экземпляру
Новая версия с 2.0.
Описание
- Создание и (необязательное) подключение Elastic Network Interface (ENI) к экземпляру. Если указан ENI ID или private_ip, существующий ENI (если таковой имеется) будет изменён. Параметр ‘attached’ управляет состоянием подключения сетевого интерфейса.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_reassignment boolean добавлен в 2.7 |
| Указывает, разрешено ли переназначение IP-адреса, уже назначенного другому сетевому интерфейсу или экземпляру, указанному сетевому интерфейсу. |
| attached boolean добавлен в 2.2 |
| Указывает, должен ли сетевой интерфейс быть подключён или отключён от экземпляра. Если опущено, статус подключения не изменится. |
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs boolean добавлен в 2.8 |
| Использовать логирователь botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», произведённых во время задачи, выводя набор в ключ task results resource_actions. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время игры. |
| delete_on_termination boolean |
| Удалить интерфейс при завершении работы экземпляра, к которому он подключен. Вы можете указать этот флаг только при изменении интерфейса, а не при его создании. |
| description - | Необязательное описание ENI. | |
| device_index - | По умолчанию: 0 | Индекс устройства для подключения сетевого интерфейса к экземпляру. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL (если таковое имеется). | |
| eni_id - | ID ENI (для модификации); если null и состояние присутствует, будет создан новый eni. | |
| force_detach boolean |
| Принудительное отключение интерфейса. Это применяется при явном отключении интерфейса, устанавливая instance_id в None, или при удалении интерфейса со state=absent. |
| instance_id - | ID экземпляра, к которому вы хотите подключить ENI. С версии 2.2 используйте параметр ‘attached’ для подключения или отключения ENI. До версии 2.2 для отключения ENI от экземпляра используйте ‘None’. | |
| private_ip_address - | Приватный IP-адрес. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_secondary_private_ip_addresses boolean добавлен в 2.5 |
| Используется с secondary_private_ip_addresses, чтобы определить, следует ли удалять дополнительные IP-адреса, кроме указанных. Установите secondary_private_ip_addresses в пустой список, чтобы очистить все дополнительные адреса. |
| region строка | AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION (если таковое имеется). См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| secondary_private_ip_address_count - добавлен в 2.2 | Количество дополнительных IP-адресов, которые нужно назначить сетевому интерфейсу. Этот параметр взаимоисключающий с secondary_private_ip_addresses | |
| secondary_private_ip_addresses - добавлен в 2.2 | Список IP-адресов, которые нужно назначить как дополнительные IP-адреса сетевому интерфейсу. Этот параметр взаимоисключающий с secondary_private_ip_address_count | |
| security_groups - | Список групп безопасности, связанных с интерфейсом. Используется только при state=present. С версии 2.2 вы можете указать группы безопасности по ID или имени или сочетанием того и другого. До версии 2.2 вы могли указать только по ID. | |
| security_token строка | AWS STS токен безопасности. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| source_dest_check boolean |
| По умолчанию интерфейсы выполняют проверки источника/назначения. Однако экземпляры NAT нуждаются в отключении этой проверки. Вы можете указать этот флаг только при изменении интерфейса, а не при его создании. |
| state - |
| Создать или удалить ENI |
| subnet_id - | ID подсети, в которой нужно создать ENI. | |
| validate_certs boolean |
| При установке в "нет", сертификаты SSL для boto версии >= 2.6.0 не будут проверены. |
Примечания
Примечание
- Этот модуль идентифицирует и находит ENI на основе eni_id, сочетания private_ip_address и subnet_id или сочетания instance_id и device_id. Любой из этих вариантов позволит указать конкретный ENI.
- Если параметры не установлены в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION. - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, при необходимости, но это также можно настроить в файле конфигурации boto
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create an ENI. As no security group is defined, ENI will be created in default security group
- ec2_eni:
private_ip_address: 172.31.0.20
subnet_id: subnet-xxxxxxxx
state: present
# Create an ENI and attach it to an instance
- ec2_eni:
instance_id: i-xxxxxxx
device_index: 1
private_ip_address: 172.31.0.20
subnet_id: subnet-xxxxxxxx
state: present
# Create an ENI with two secondary addresses
- ec2_eni:
subnet_id: subnet-xxxxxxxx
state: present
secondary_private_ip_address_count: 2
# Assign a secondary IP address to an existing ENI
# This will purge any existing IPs
- ec2_eni:
subnet_id: subnet-xxxxxxxx
eni_id: eni-yyyyyyyy
state: present
secondary_private_ip_addresses:
- 172.16.1.1
# Remove any secondary IP addresses from an existing ENI
- ec2_eni:
subnet_id: subnet-xxxxxxxx
eni_id: eni-yyyyyyyy
state: present
secondary_private_ip_address_count: 0
# Destroy an ENI, detaching it from any instance if necessary
- ec2_eni:
eni_id: eni-xxxxxxx
force_detach: yes
state: absent
# Update an ENI
- ec2_eni:
eni_id: eni-xxxxxxx
description: "My new description"
state: present
# Update an ENI identifying it by private_ip_address and subnet_id
- ec2_eni:
subnet_id: subnet-xxxxxxx
private_ip_address: 172.16.1.1
description: "My new description"
# Detach an ENI from an instance
- ec2_eni:
eni_id: eni-xxxxxxx
instance_id: None
state: present
### Delete an interface on termination
# First create the interface
- ec2_eni:
instance_id: i-xxxxxxx
device_index: 1
private_ip_address: 172.31.0.20
subnet_id: subnet-xxxxxxxx
state: present
register: eni
# Modify the interface to enable the delete_on_terminaton flag
- ec2_eni:
eni_id: "{{ eni.interface.id }}"
delete_on_termination: true
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое | Описание | |
|---|---|---|---|
| interface сложный | когда state != absent | Атрибуты сетевого интерфейса | |
| description строка | Описание интерфейса Пример: Сетевой интерфейс брандмауэра | ||
| groups список словарей | Список групп безопасности Пример: [{'sg-f8a8a9da': 'default'}] | ||
| id строка | Идентификатор сетевого интерфейса Пример: eni-1d889198 | ||
| mac_address строка | Физический адрес интерфейса Пример: 00:00:5E:00:53:23 | ||
| owner_id строка | Идентификатор учетной записи AWS Пример: 812381371 | ||
| private_ip_address строка | Основной IP-адрес этого интерфейса Пример: 10.20.30.40 | ||
| private_ip_addresses список словарей | Список всех частных IP-адресов, связанных с этим интерфейсом Пример: [{'primary_address': True, 'private_ip_address': '10.20.30.40'}] | ||
| source_dest_check булево значение | Значение флага проверки источника/назначения Пример: True | ||
| status строка | Состояние сетевого интерфейса Пример: ожидание | ||
| subnet_id строка | Подсеть VPC, к которой привязан интерфейс Пример: subnet-b0a0393c | ||
| vpc_id строка | VPC, к которому привязан сетевой интерфейс Пример: vpc-9a9a9da | ||
Состояние
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Rob White (@wimnat)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/ec2_eni_module.html