Модуль amazon.aws.ec2_eni — создание и, при необходимости, подключение эластичного сетевого интерфейса (ENI) к экземпляру
Примечание
Этот модуль входит в коллекцию amazon.aws (версия 11.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: amazon.aws.ec2_eni.
Добавлено в amazon.aws 1.0.0
Краткое описание
- Создаёт эластичный сетевой интерфейс (ENI) и, при необходимости, подключает его к экземпляру.
- Если указано
eni_idилиprivate_ip_address, существующий ENI (если он есть) будет изменён. - Параметр
attachedуправляет состоянием подключения сетевого интерфейса.
Требования
На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 3.6
- boto3 >= 1.35.0
- botocore >= 1.35.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key string | Идентификатор ключа доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные окружения Параметры aws_access_key и profile являются взаимоисключающими. Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для единообразия с SDK AWS botocore. |
allow_reassignment boolean | Указывает, разрешено ли переназначить указанный сетевой интерфейс IP-адрес, уже назначенный другому сетевому интерфейсу или экземпляру. Варианты:
|
attached boolean | Указывает, следует ли подключить сетевой интерфейс к экземпляру или отключить его. Если параметр не указан, состояние подключения не изменится. Варианты:
|
aws_ca_bundle path | Путь к пакету центров сертификации (CA), используемому для проверки сертификатов SSL. Также можно использовать переменную окружения |
aws_config dictionary | Словарь для изменения конфигурации botocore. Список параметров см. в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs boolean | Использует регистратор Также можно использовать переменную окружения Варианты:
|
delete_on_termination boolean | Удалять интерфейс при завершении работы экземпляра, к которому он подключён. Этот флаг можно указать только при изменении интерфейса, но не при его создании. Варианты:
|
description string | Необязательное описание ENI. |
device_index integer | Индекс устройства для подключения сетевого интерфейса к экземпляру. По умолчанию: |
endpoint_url псевдонимы: aws_endpoint_url string | URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную окружения |
eni_id string | Идентификатор ENI (для изменения). Если указаны |
force_detach boolean | Принудительно отключить интерфейс. Применяется как при явном отключении интерфейса с помощью Варианты:
|
instance_id string | Идентификатор экземпляра, к которому нужно подключить ENI. |
name string | Имя ENI. Будет создан тег с ключом Его можно использовать вместе с AWS не требует уникальности тегов |
private_ip_address string | Частный IP-адрес. |
profile псевдонимы: aws_profile string | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную окружения Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и session_token. |
purge_secondary_private_ip_addresses boolean | Используется вместе с Установите Варианты:
|
purge_tags boolean | Если указано Если параметр Ключи тегов, начинающиеся с Варианты:
|
region псевдонимы: aws_region string | Регион AWS, который нужно использовать. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную окружения Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
secondary_private_ip_address_count integer | Количество вторичных IP-адресов, назначаемых сетевому интерфейсу. Этот параметр является взаимоисключающим с |
secondary_private_ip_addresses list / elements=string | Список IP-адресов, назначаемых сетевому интерфейсу в качестве вторичных. Этот параметр является взаимоисключающим с |
secret_key псевдонимы: aws_secret_access_key, aws_secret_key string | Секретный ключ доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные окружения Параметры secret_key и profile являются взаимоисключающими. Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для единообразия с SDK AWS botocore. |
security_groups list / elements=string | Список групп безопасности, связанных с интерфейсом. Игнорируется, если указано По умолчанию: |
session_token псевдонимы: aws_session_token string | Токен сеанса AWS STS для использования с временными учётными данными. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменную окружения Параметры session_token и profile являются взаимоисключающими. |
source_dest_check boolean | По умолчанию интерфейсы выполняют проверку источника и назначения. Однако для экземпляров NAT эту проверку необходимо отключить. Этот флаг можно указать только при изменении интерфейса, но не при его создании. Варианты:
|
state string | Создать или удалить ENI. Варианты:
|
subnet_id string | Идентификатор подсети, в которой нужно создать ENI. |
tags псевдонимы: resource_tags dictionary | Словарь тегов, которые нужно применить к ресурсу. Если параметр |
validate_certs boolean | Если установлено значение Настоятельно не рекомендуется устанавливать validate_certs=false; вместо этого рекомендуется задать параметр aws_ca_bundle. Варианты:
|
Примечания
Примечание
- Этот модуль идентифицирует ENI по
eni_id, сочетаниюprivate_ip_addressиsubnet_idлибо сочетаниюinstance_idиdevice_index. Любой из этих вариантов позволяет указать конкретный ENI. - Поддержка
tagsиpurge_tagsдобавлена в выпуске 1.3.0. - Внимание: В модулях переменные окружения и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому файлы может потребоваться явно скопировать на «хост». В плагинах поиска и подключения переменные окружения и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
- Используемый Ansible пакет AWS SDK (boto3) также может считывать значения по умолчанию для учётных данных и других настроек, например региона, из файлов конфигурации в контексте «хоста» Ansible (обычно
~/.aws/credentials). Дополнительные сведения см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
# 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
- amazon.aws.ec2_eni:
private_ip_address: 172.31.0.20
subnet_id: subnet-xxxxxxxx
state: present
# Create an ENI and attach it to an instance
- amazon.aws.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
- amazon.aws.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
- amazon.aws.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
- amazon.aws.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
- amazon.aws.ec2_eni:
eni_id: eni-xxxxxxx
force_detach: true
state: absent
# Update an ENI
- amazon.aws.ec2_eni:
eni_id: eni-xxxxxxx
description: "My new description"
state: present
# Update an ENI using name and subnet_id
- amazon.aws.ec2_eni:
name: eni-20
subnet_id: subnet-xxxxxxx
description: "My new description"
state: present
# Update an ENI identifying it by private_ip_address and subnet_id
- amazon.aws.ec2_eni:
subnet_id: subnet-xxxxxxx
private_ip_address: 172.16.1.1
description: "My new description"
# Detach an ENI from an instance
- amazon.aws.ec2_eni:
eni_id: eni-xxxxxxx
instance_id: None
state: present
### Delete an interface on termination
# First create the interface
- amazon.aws.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
- amazon.aws.ec2_eni:
eni_id: "{{ eni.interface.id }}"
delete_on_termination: true
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
interface complex | Атрибуты сетевого интерфейса. Возвращается: когда state != absent |
|
attachment dictionary |
Подключение сетевого интерфейса. Возвращается: при успешном выполнении Пример: |
|
description string |
Описание интерфейса. Возвращается: при успешном выполнении Пример: |
|
groups dictionary |
Словарь групп безопасности. Возвращается: при успешном выполнении Пример: |
|
id string |
Идентификатор сетевого интерфейса. Возвращается: при успешном выполнении Пример: |
|
mac_address string |
Физический адрес интерфейса. Возвращается: при успешном выполнении Пример: |
|
name string |
Имя ENI. Возвращается: при успешном выполнении Пример: |
|
owner_id string |
Идентификатор учетной записи AWS. Возвращается: при успешном выполнении Пример: |
|
private_ip_address string |
Основной IP-адрес этого интерфейса. Возвращается: при успешном выполнении Пример: |
|
private_ip_addresses list / elements=dictionary |
Список всех частных IP-адресов, связанных с этим интерфейсом. Возвращается: при успешном выполнении Пример: |
|
source_dest_check boolean |
Значение флага проверки источника и назначения. Возвращается: при успешном выполнении Пример: |
|
status string |
Статус сетевого интерфейса. Возвращается: при успешном выполнении Пример: |
|
subnet_id string |
Идентификатор подсети VPC, к которой привязан интерфейс. Возвращается: при успешном выполнении Пример: |
|
tags dictionary |
Словарь тегов, связанных с ENI. Возвращается: при успешном выполнении Пример: |
|
vpc_id string |
Идентификатор VPC, к которой привязан этот сетевой интерфейс. Возвращается: при успешном выполнении Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/ec2_eni_module.html