Spec-Zone.ru › Ansible

Модуль amazon.aws.ec2_eip – управляет адресами EC2 elastic IP (EIP).

Примечание

Этот модуль является частью коллекции amazon.aws (версия 8.2.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для её установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.

Чтобы использовать его в книге задач, укажите: amazon.aws.ec2_eip.

Новое в amazon.aws 5.0.0

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Этот модуль может выделять или освобождать EIP.
  • Этот модуль может ассоциировать/диссоциировать EIP с экземплярами или сетевыми интерфейсами.
  • Этот модуль был первоначально добавлен в community.aws в релизе 1.0.0.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key

строка

Идентификатор ключа доступа 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_reassociation

булево

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

Варианты:

  • 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

device_id

строка

Идентификатор устройства для EIP.

Может быть идентификатором экземпляра EC2 или идентификатором Elastic Network Interface (ENI).

При указании идентификатора ENI, in_vpc должен быть true.

Псевдоним instance_id был удален в релизе 6.0.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.

in_vpc

булево

Выделить EIP внутри VPC или нет.

Требуется, если указан ENI с device_id.

Варианты:

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

private_ip_address

строка

Основной или дополнительный частный IP-адрес для ассоциации с адресом Elastic IP.

profile

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

строка

Используемый именованный профиль 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.

public_ip

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

строка

IP-адрес ранее выделенного EIP.

Когда state=present и указано устройство, EIP связывается с устройством.

Когда state=absent и указано устройство, EIP отсоединяется от устройства.

public_ipv4_pool

строка

Выделяет новый Elastic IP из указанного публичного пула IPv4 (BYOIP). Применяется только к вновь выделенным Elastic IP, не проверяется, когда reuse_existing_ip_allowed=true.

purge_tags

булево

Если 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.

release_on_disassociation

boolean

Автоматически высвободить EIP при разъединении?

Варианты:

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

reuse_existing_ip_allowed

boolean

Использовать уже существующий EIP, не привязанный к устройству (если доступен), вместо выделения нового.

Варианты:

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

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 для согласованности с AWS botocore SDK.

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

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

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.

state

string

При значении state=present, выделяется EIP или существующий EIP связывается с устройством.

При значении state=absent, EIP отсоединяется от устройства и, при необходимости, высвобождается.

Варианты:

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

Примечания

Примечание

  • Возможно, потребуется задержка между присвоением EIP и возможностью доступа к экземпляру виртуальной машины по новому адресу. Используйте wait_for и pause для приостановки дальнейшего выполнения playbook, если необходимо.
  • Этот модуль возвращает несколько статусов изменения при разъединении или высвобождении. Он возвращает общий статус, основанный на любых произошедших изменениях. Он также возвращает отдельные статусы изменений для разъединения и высвобождения.
  • Поддержка tags и purge_tags была добавлена в релизе 2.1.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.

- name: associate an elastic IP with an instance
  amazon.aws.ec2_eip:
    device_id: i-1212f003
    ip: 93.184.216.119

- name: associate an elastic IP with a device
  amazon.aws.ec2_eip:
    device_id: eni-c8ad70f3
    ip: 93.184.216.119

- name: associate an elastic IP with a device and allow reassociation
  amazon.aws.ec2_eip:
    device_id: eni-c8ad70f3
    public_ip: 93.184.216.119
    allow_reassociation: true

- name: disassociate an elastic IP from an instance
  amazon.aws.ec2_eip:
    device_id: i-1212f003
    ip: 93.184.216.119
    state: absent

- name: disassociate an elastic IP with a device
  amazon.aws.ec2_eip:
    device_id: eni-c8ad70f3
    ip: 93.184.216.119
    state: absent

- name: allocate a new elastic IP and associate it with an instance
  amazon.aws.ec2_eip:
    device_id: i-1212f003

- name: allocate a new elastic IP without associating it to anything
  amazon.aws.ec2_eip:
    state: present
  register: eip

- name: output the IP
  ansible.builtin.debug:
    msg: "Allocated IP is {{ eip.public_ip }}"

- name: provision new instances with ec2
  amazon.aws.ec2:
    keypair: mykey
    instance_type: c1.medium
    image: ami-40603AD1
    wait: true
    group: webserver
    count: 3
  register: ec2

- name: associate new elastic IPs with each of the instances
  amazon.aws.ec2_eip:
    device_id: "{{ item }}"
  loop: "{{ ec2.instance_ids }}"

- name: allocate a new elastic IP inside a VPC in us-west-2
  amazon.aws.ec2_eip:
    region: us-west-2
    in_vpc: true
  register: eip

- name: output the IP
  ansible.builtin.debug:
    msg: "Allocated IP inside a VPC is {{ eip.public_ip }}"

- name: allocate eip - reuse unallocated ips (if found) with FREE tag
  amazon.aws.ec2_eip:
    region: us-east-1
    in_vpc: true
    reuse_existing_ip_allowed: true
    tag_name: FREE

- name: allocate eip - reuse unallocated ips if tag reserved is nope
  amazon.aws.ec2_eip:
    region: us-east-1
    in_vpc: true
    reuse_existing_ip_allowed: true
    tag_name: reserved
    tag_value: nope

- name: allocate new eip - from servers given ipv4 pool
  amazon.aws.ec2_eip:
    region: us-east-1
    in_vpc: true
    public_ipv4_pool: ipv4pool-ec2-0588c9b75a25d1a02

- name: allocate eip - from a given pool (if no free addresses where dev-servers tag is dynamic)
  amazon.aws.ec2_eip:
    region: us-east-1
    in_vpc: true
    reuse_existing_ip_allowed: true
    tag_name: dev-servers
    public_ipv4_pool: ipv4pool-ec2-0588c9b75a25d1a02

- name: allocate eip from pool - check if tag reserved_for exists and value is our hostname
  amazon.aws.ec2_eip:
    region: us-east-1
    in_vpc: true
    reuse_existing_ip_allowed: true
    tag_name: reserved_for
    tag_value: "{{ inventory_hostname }}"
    public_ipv4_pool: ipv4pool-ec2-0588c9b75a25d1a02

Значения возврата

Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:

Ключ

Описание

allocation_id

строка

Идентификатор выделения эластичного IP-адреса.

Возвращается: при успехе

Пример: "eipalloc-51aa3a6c"

public_ip

строка

Адрес эластичного IP.

Возвращается: при успехе

Пример: "52.88.159.209"

Авторы

  • Рик Мендес (@rickmendes)

Ссылки на сборку

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

© 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_eip_module.html

Spec-Zone.ru

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