Модуль 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 и profile взаимоисключающие. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
allow_reassociation булево | Укажите этот параметр, чтобы разрешить повторную привязку адреса Elastic IP, который уже связан с другим сетевым интерфейсом или экземпляром, к указанному экземпляру или интерфейсу. Варианты:
|
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 булево | Используйте Также может быть использована переменная среды Варианты:
|
device_id строка | Идентификатор устройства для EIP. Может быть идентификатором экземпляра EC2 или идентификатором Elastic Network Interface (ENI). При указании идентификатора ENI, Псевдоним |
endpoint_url псевдонимы: ec2_url, aws_endpoint_url, s3_url строка | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только с AWS. Также могут быть использованы переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
in_vpc булево | Выделить EIP внутри VPC или нет. Требуется, если указан ENI с Варианты:
|
private_ip_address строка | Основной или дополнительный частный IP-адрес для ассоциации с адресом Elastic 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 и security_token. |
public_ip псевдонимы: ip строка | IP-адрес ранее выделенного EIP. Когда Когда |
public_ipv4_pool строка | Выделяет новый Elastic IP из указанного публичного пула IPv4 (BYOIP). Применяется только к вновь выделенным Elastic IP, не проверяется, когда |
purge_tags булево | Если 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. Псевдоним Поддержка переменной среды |
release_on_disassociation boolean | Автоматически высвободить EIP при разъединении? Варианты:
|
reuse_existing_ip_allowed boolean | Использовать уже существующий EIP, не привязанный к устройству (если доступен), вместо выделения нового. Варианты:
|
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 для согласованности с AWS botocore SDK. Псевдоним 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. Также могут использоваться переменные среды Параметры 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. Поддержка переменных среды |
state string | При значении При значении Варианты:
|
| ... |
Примечания
Примечание
- Возможно, потребуется задержка между присвоением 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-адреса. Возвращается: при успехе Пример: |
public_ip строка | Адрес эластичного IP. Возвращается: при успехе Пример: |
Ссылки на сборку
© 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