Модуль amazon.aws.ec2_eni – Создание и (необязательное) подключение эластичного сетевого интерфейса (ENI) к экземпляру
Примечание
Этот модуль является частью коллекции amazon.aws (версия 8.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет 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.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key строка | ID ключа доступа 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. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной окружения |
allow_reassignment логическое значение | Указывает, разрешить ли повторное назначение IP-адреса, уже назначенного другому сетевому интерфейсу или экземпляру, указанному сетевому интерфейсу. Варианты:
|
attached логическое значение | Указывает, должен ли сетевой интерфейс быть подключен или отключен от экземпляра. Если опущено, статус подключения не изменится. Варианты:
|
aws_ca_bundle путь | Местоположение пакета CA для проверки сертификатов SSL. Также может быть использована переменная окружения |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs логическое значение | Использовать Также может быть использована переменная окружения Варианты:
|
delete_on_termination логическое значение | Удалить интерфейс при завершении работы экземпляра, к которому он подключен. Вы можете указать этот флаг только при изменении интерфейса, а не при его создании. Варианты:
|
description строка | Необязательное описание сетевого интерфейса ENI. |
device_index целое число | Индекс устройства для подключения сетевого интерфейса к экземпляру. По умолчанию: |
endpoint_url псевдонимы: ec2_url, aws_endpoint_url, s3_url строка | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS. Также могут быть использованы переменные окружения Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной окружения |
eni_id строка | ID сетевого интерфейса ENI (для изменения). Если |
force_detach логическое значение | Принудительное отключение интерфейса. Это применяется либо при явном отключении интерфейса, установив Варианты:
|
instance_id строка | ID экземпляра, к которому вы хотите подключить ENI. |
name строка | Имя для ENI. Это создаст тег с ключом Это можно использовать совместно с AWS не применяет уникальные теги |
private_ip_address строка | Приватный IP-адрес. |
profile aliases: aws_profile string | Именованный профиль AWS для использования при аутентификации. См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также может использоваться переменная среды Параметр profile взаимоисключает параметры aws_access_key, aws_secret_key и security_token. |
purge_secondary_private_ip_addresses boolean | Используется с Установите Варианты:
|
purge_tags boolean | Если purge_tags=true и установлен tags, существующие теги будут очищены из ресурса, чтобы точно соответствовать тому, что определено параметром tags. Если параметр tags не установлен, теги не будут изменены, даже если purge_tags=True. Ключи тегов, начинающиеся с Варианты:
|
region aliases: aws_region, ec2_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-адресов для назначения в качестве вторичных IP-адресов сетевому интерфейсу. Этот параметр взаимоисключает |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_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. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
security_groups list / elements=string | Список групп безопасности, связанных с интерфейсом. Игнорируется, когда Значение по умолчанию: |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Сеансовый токен AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут использоваться переменные среды Параметры security_token и profile взаимоисключают друг друга. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
source_dest_check boolean | По умолчанию интерфейсы выполняют проверку источника/назначения. Однако для экземпляров NAT необходимо отключить эту проверку. Этот флаг можно указать только при изменении интерфейса, а не при его создании. Варианты:
|
state string | Создать или удалить ENI. Варианты:
|
subnet_id string | Идентификатор подсети, в которой необходимо создать ENI. |
метки псевдонимы: resource_tags словарь | Словарь, представляющий метки, которые нужно применить к ресурсу. Если параметр метки не задан, метки не будут изменены. |
validate_certs логическое | При установке в Настройка 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 «контроллер», а не «хост».
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как регион, из своих конфигурационных файлов в контексте 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 сложный | Атрибуты сетевого интерфейса. Возвращается: при state != absent |
|
attachment словарь |
Присоединение сетевого интерфейса. Возвращается: при успешном выполнении Пример: |
|
description строка |
Описание интерфейса. Возвращается: при успешном выполнении Пример: |
|
groups словарь |
Словарь с группами безопасности. Возвращается: при успешном выполнении Пример: |
|
id строка |
ID сетевого интерфейса. Возвращается: при успешном выполнении Пример: |
|
mac_address строка |
Физический адрес интерфейса. Возвращается: при успешном выполнении Пример: |
|
name строка |
Имя ENI. Возвращается: при успешном выполнении Пример: |
|
owner_id строка |
ID учетной записи AWS. Возвращается: при успешном выполнении Пример: |
|
private_ip_address строка |
Основной IP-адрес этого интерфейса. Возвращается: при успешном выполнении Пример: |
|
private_ip_addresses список / элементы=словарь |
Список всех частных IP-адресов, связанных с этим интерфейсом. Возвращается: при успешном выполнении Пример: |
|
source_dest_check булево |
Значение флага проверки источника/назначения. Возвращается: при успешном выполнении Пример: |
|
status строка |
Статус сетевого интерфейса. Возвращается: при успешном выполнении Пример: |
|
subnet_id строка |
Подсеть VPC, к которой привязан интерфейс. Возвращается: при успешном выполнении Пример: |
|
tags словарь |
Словарь тегов, связанных с ENI. Возвращается: при успешном выполнении Пример: |
|
vpc_id строка |
VPC, к которому привязан сетевой интерфейс. Возвращается: при успешном выполнении Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/ec2_eni_module.html