Модуль amazon.aws.ec2_eip — управление эластичными IP-адресами EC2 (EIP).
Примечание
Этот модуль входит в коллекцию amazon.aws (версия 11.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет 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.35.0
- botocore >= 1.35.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_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 и profile являются взаимоисключающими. Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для единообразия с AWS botocore SDK. |
allow_reassociation логическое значение | Укажите этот параметр, чтобы разрешить повторную привязку эластичного IP-адреса, уже связанного с другим сетевым интерфейсом или экземпляром, к указанному экземпляру или интерфейсу. Возможные значения:
|
aws_ca_bundle путь | Путь к пакету сертификатов центров сертификации, используемому для проверки SSL-сертификатов. Также можно использовать переменную среды |
aws_config словарь | Словарь для изменения конфигурации botocore. Описание параметров см. в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs логическое значение | Использовать регистратор Также можно использовать переменную среды Возможные значения:
|
device_id строка | Идентификатор устройства для EIP. Это может быть идентификатор экземпляра EC2 или сетевого интерфейса Elastic Network Interface (ENI). При указании идентификатора ENI параметр Псевдоним |
domain_name строка добавлено в amazon.aws 9.0.0 | Имя домена, которое нужно привязать к IP-адресу. |
endpoint_url псевдонимы: aws_endpoint_url строка | URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws проверяются только с AWS. Также можно использовать переменную среды |
in_vpc логическое значение | Выделять EIP в VPC или нет. Обязательный параметр при указании ENI с Возможные значения:
|
private_ip_address строка | Основной или дополнительный частный IP-адрес для привязки к эластичному IP-адресу. |
profile псевдонимы: aws_profile строка | Именованный профиль AWS для аутентификации. Подробнее об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и session_token. |
public_ip псевдонимы: ip строка | IP-адрес ранее выделенного EIP. Если указаны Если указаны |
public_ipv4_pool строка | Выделяет новый эластичный IP-адрес из указанного общедоступного пула IPv4 (BYOIP). Применяется только к новым эластичным IP-адресам и не проверяется, если указано |
purge_tags логическое значение | Если задано Если параметр Ключи тегов, начинающиеся с Возможные значения:
|
region псевдонимы: aws_region строка | Регион AWS для использования. Для глобальных служб, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную среды Дополнительную информацию см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
release_on_disassociation логическое значение | Автоматически ли освобождать EIP при отмене привязки. Возможные значения:
|
reuse_existing_ip_allowed логическое значение | Повторно использовать EIP, не связанный с устройством (если доступен), вместо выделения нового. Возможные значения:
|
secret_key псевдонимы: aws_secret_access_key, aws_secret_key строка | Секретный ключ доступа 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 для единообразия с AWS botocore SDK. |
session_token псевдонимы: aws_session_token строка | Токен сеанса 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 являются взаимоисключающими. |
state строка | Если указано Если указано Возможные значения:
|
tag_name строка | При указании |
tag_value строка | |
tags псевдонимы: resource_tags словарь | Словарь тегов, применяемых к ресурсу. Если параметр |
validate_certs логическое значение | Если задано значение Настоятельно не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle. Возможные значения:
|
Примечания
Примечание
- Между назначением EIP и доступностью облачного экземпляра по новому адресу может пройти некоторое время. При необходимости используйте wait_for и pause, чтобы отложить дальнейшее выполнение плейбука до тех пор, пока экземпляр не станет доступен.
- При отмене привязки или освобождении этот модуль возвращает несколько статусов изменений. Он возвращает общий статус, основанный на наличии любых изменений, а также отдельные статусы изменений для отмены привязки и освобождения.
- Поддержка
tagsиpurge_tagsдобавлена в выпуске 2.1.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.
- 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
- name: create new IP and modify it's reverse DNS record
amazon.aws.ec2_eip:
state: present
domain_name: test-domain.xyz
- name: Modify reverse DNS record of an existing EIP
amazon.aws.ec2_eip:
public_ip: 44.224.84.105
domain_name: test-domain.xyz
state: present
- name: Remove reverse DNS record of an existing EIP
amazon.aws.ec2_eip:
public_ip: 44.224.84.105
domain_name: ""
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
allocation_id строка | Идентификатор выделения эластичного IP-адреса. Возвращается: при успешном выполнении Пример: |
public_ip строка | Эластичный IP-адрес. Возвращается: при успешном выполнении Пример: |
update_reverse_dns_record_result словарь | Сведения о результате операции обновления обратной DNS-записи. Возвращается: если указан параметр |
|
address словарь |
Сведения об эластичном IP-адресе. Возвращается: всегда |
|
allocation_id строка |
Идентификатор выделения. Возвращается: всегда Пример: |
|
ptr_record строка |
Запись указателя (PTR) для IP-адреса. Возвращается: всегда Пример: |
|
ptr_record_update словарь |
Обновлённая запись PTR для IP-адреса. Возвращается: всегда |
|
status строка |
Статус обновления записи PTR. Возвращается: всегда Пример: |
|
value строка |
Значение для обновления записи PTR. Возвращается: всегда Пример: |
|
public_ip строка |
Публичный IP-адрес. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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_eip_module.html