Spec-Zone.ru › Ansible

Модуль 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_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для соответствия SDK AWS botocore.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной окружения EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

allow_reassignment

логическое значение

Указывает, разрешить ли повторное назначение IP-адреса, уже назначенного другому сетевому интерфейсу или экземпляру, указанному сетевому интерфейсу.

Варианты:

  • false ← (по умолчанию)
  • true

attached

логическое значение

Указывает, должен ли сетевой интерфейс быть подключен или отключен от экземпляра. Если опущено, статус подключения не изменится.

Варианты:

  • false
  • true

aws_ca_bundle

путь

Местоположение пакета CA для проверки сертификатов SSL.

Также может быть использована переменная окружения AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

debug_botocore_endpoint_logs

логическое значение

Использовать botocore.endpoint логгер для анализа уникальных (а не общих) "resource:action" API-вызовов, сделанных во время задачи, выводить набор в ключ resource_actions в результатах задачи. Используйте aws_resource_action обратный вызов для вывода в общий список, сделанный во время выполнения книги задач.

Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

delete_on_termination

логическое значение

Удалить интерфейс при завершении работы экземпляра, к которому он подключен. Вы можете указать этот флаг только при изменении интерфейса, а не при его создании.

Варианты:

  • false
  • true

description

строка

Необязательное описание сетевого интерфейса ENI.

device_index

целое число

Индекс устройства для подключения сетевого интерфейса к экземпляру.

По умолчанию: 0

endpoint_url

псевдонимы: ec2_url, aws_endpoint_url, s3_url

строка

URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS.

Также могут быть использованы переменные окружения AWS_URL или EC2_URL в порядке убывания приоритета.

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной окружения EC2_URL устарела и будет удалена в релизе после 2024-12-01.

eni_id

строка

ID сетевого интерфейса ENI (для изменения).

Если eni_id=None и state=present, будет создан новый сетевой интерфейс.

force_detach

логическое значение

Принудительное отключение интерфейса. Это применяется либо при явном отключении интерфейса, установив instance_id=None, либо при удалении интерфейса с помощью state=absent.

Варианты:

  • false ← (по умолчанию)
  • true

instance_id

строка

ID экземпляра, к которому вы хотите подключить ENI.

name

строка

Имя для ENI. Это создаст тег с ключом Name и назначенным здесь значением.

Это можно использовать совместно с subnet_id в качестве дополнительного способа идентификации сетевого интерфейса.

AWS не применяет уникальные теги Name, поэтому дублируемые имена возможны, если вы настроите их таким образом. В этом случае вам потребуется предоставить другую идентифицирующую информацию, например private_ip_address или eni_id.

private_ip_address

строка

Приватный IP-адрес.

profile

aliases: aws_profile

string

Именованный профиль AWS для использования при аутентификации.

См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также может использоваться переменная среды AWS_PROFILE.

Параметр profile взаимоисключает параметры aws_access_key, aws_secret_key и security_token.

purge_secondary_private_ip_addresses

boolean

Используется с secondary_private_ip_addresses для определения того, следует ли удалять все вторичные IP-адреса, кроме указанных.

Установите secondary_private_ip_addresses=[] для очистки всех вторичных адресов.

Варианты:

  • false ← (по умолчанию)
  • true

purge_tags

boolean

Если purge_tags=true и установлен tags, существующие теги будут очищены из ресурса, чтобы точно соответствовать тому, что определено параметром tags.

Если параметр tags не установлен, теги не будут изменены, даже если purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Таким образом, они будут игнорироваться для параметра purge_tags. См. документацию Amazon для получения дополнительной информации https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

region

aliases: aws_region, ec2_region

string

Регион AWS для использования.

Для глобальных служб, таких как IAM, Route53 и CloudFront, region игнорируется.

Также могут использоваться переменные среды AWS_REGION или EC2_REGION.

См. документацию Amazon AWS для получения дополнительной информации http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

Псевдоним ec2_region устарел и будет удален в релизе после 2024-12-01

Поддержка переменной среды EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

secondary_private_ip_address_count

integer

Количество вторичных IP-адресов для назначения сетевому интерфейсу.

Этот параметр взаимоисключает secondary_private_ip_addresses.

secondary_private_ip_addresses

list / elements=string

Список IP-адресов для назначения в качестве вторичных IP-адресов сетевому интерфейсу.

Этот параметр взаимоисключает secondary_private_ip_address_count.

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.

Также могут использоваться переменные среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY в порядке убывания предпочтения.

Параметры secret_key и profile взаимоисключают друг друга.

Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore.

Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной среды EC2_SECRET_KEY устарела и будет удалена в релизе после 2024-12-01.

security_groups

list / elements=string

Список групп безопасности, связанных с интерфейсом.

Игнорируется, когда state=absent.

Значение по умолчанию: []

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.

Также могут использоваться переменные среды AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания предпочтения.

Параметры 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.

Поддержка переменных среды EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

source_dest_check

boolean

По умолчанию интерфейсы выполняют проверку источника/назначения. Однако для экземпляров NAT необходимо отключить эту проверку. Этот флаг можно указать только при изменении интерфейса, а не при его создании.

Варианты:

  • false
  • true

state

string

Создать или удалить ENI.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

subnet_id

string

Идентификатор подсети, в которой необходимо создать ENI.

метки

псевдонимы: resource_tags

словарь

Словарь, представляющий метки, которые нужно применить к ресурсу.

Если параметр метки не задан, метки не будут изменены.

validate_certs

логическое

При установке в false, сертификаты SSL не будут проверяться для связи с API AWS.

Настройка validate_certs=false категорически не рекомендуется. В качестве альтернативы, рассмотрите возможность настройки aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Этот модуль определяет 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

словарь

Присоединение сетевого интерфейса.

Возвращается: при успешном выполнении

Пример: {"attach_time": "2024-04-25T20:57:20+00:00", "attachment_id": "eni-attach-0ddce58b341a1846f", "delete_on_termination": true, "device_index": 0, "instance_id": "i-032cb1cceb29250d2", "status": "attached"}

description

строка

Описание интерфейса.

Возвращается: при успешном выполнении

Пример: "Firewall network interface"

groups

словарь

Словарь с группами безопасности.

Возвращается: при успешном выполнении

Пример: {"sg-f8a8a9da": "default"}

id

строка

ID сетевого интерфейса.

Возвращается: при успешном выполнении

Пример: "eni-1d889198"

mac_address

строка

Физический адрес интерфейса.

Возвращается: при успешном выполнении

Пример: "00:00:5E:00:53:23"

name

строка

Имя ENI.

Возвращается: при успешном выполнении

Пример: "my-eni-20"

owner_id

строка

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

строка

Статус сетевого интерфейса.

Возвращается: при успешном выполнении

Пример: "pending"

subnet_id

строка

Подсеть VPC, к которой привязан интерфейс.

Возвращается: при успешном выполнении

Пример: "subnet-b0a0393c"

tags

словарь

Словарь тегов, связанных с ENI.

Возвращается: при успешном выполнении

Пример: {"Name": "my-eni", "group": "Finance"}

vpc_id

строка

VPC, к которому привязан сетевой интерфейс.

Возвращается: при успешном выполнении

Пример: "vpc-9a9a9da"

Авторы

  • Rob White (@wimnat)
  • Mike Healey (@healem)

Ссылки на коллекцию

  • Трекер проблем
  • Репозиторий (источники)
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API