ec2_eip – управляет адресами EC2 Elastic IP (EIP).
Новый в версии 1.4.
Обзор
- Этот модуль может выделять или освобождать EIP.
- Этот модуль может ассоциировать/диссоциировать EIP с экземплярами или сетевыми интерфейсами.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_reassociation - добавлен в 2.5 | Значение по умолчанию: "нет" | Укажите этот параметр, чтобы разрешить повторную привязку адреса Elastic IP, который уже связан с другим сетевым интерфейсом или экземпляром, к указанному экземпляру или интерфейсу. |
| aws_access_key - | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key | |
| aws_secret_key - | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | |
| device_id - добавлен в 2.0 | Идентификатор устройства для EIP. Может быть идентификатором экземпляра EC2 или идентификатором Elastic Network Interface (ENI). псевдонимы: instance_id | |
| ec2_url - | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| in_vpc - добавлен в 1.4 | Значение по умолчанию: "нет" | Выделить EIP внутри VPC или нет. Требуется, если указан ENI. |
| private_ip_address - добавлен в 2.3 | Основной или дополнительный частный IP-адрес для ассоциации с адресом Elastic IP. | |
| profile - добавлен в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| public_ip - | IP-адрес ранее выделенного EIP. Если указан и указано устройство, EIP связывается с устройством. Если отсутствует и указано устройство, EIP отсоединяется от устройства. псевдонимы: ip | |
| region - | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| release_on_disassociation - добавлен в 2.0 | Значение по умолчанию: "нет" | Автоматически освобождать EIP при его разъединении |
| reuse_existing_ip_allowed - добавлен в 1.6 | Значение по умолчанию: "нет" | Использовать существующий EIP, не связанный с устройством (если доступен), вместо выделения нового. |
| security_token - добавлен в 1.6 | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state - |
| Если present, выделяется EIP или существующий EIP связывается с устройством. Если absent, EIP отсоединяется от устройства и, при необходимости, освобождается. |
| validate_certs boolean добавлен в 1.5 |
| Если установлено в "нет", сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
Примечания
Примечание
- Возможна задержка между назначением EIP и возможностью доступа к экземпляру облака по новому адресу. Используйте wait_for и pause, чтобы приостановить дальнейшее выполнение playbook до тех пор, пока экземпляр не станет доступным, если это необходимо.
- Этот модуль возвращает несколько статусов изменения при разъединении или освобождении. Он возвращает общий статус на основе любых произошедших изменений. Он также возвращает отдельные статусы изменений для разъединения и освобождения.
- Если параметры не заданы внутри модуля, могут использоваться следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS при необходимости, но это также можно настроить в конфигурационном файле boto
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: associate an elastic IP with an instance
ec2_eip:
device_id: i-1212f003
ip: 93.184.216.119
- name: associate an elastic IP with a device
ec2_eip:
device_id: eni-c8ad70f3
ip: 93.184.216.119
- name: associate an elastic IP with a device and allow reassociation
ec2_eip:
device_id: eni-c8ad70f3
public_ip: 93.184.216.119
allow_reassociation: yes
- name: disassociate an elastic IP from an instance
ec2_eip:
device_id: i-1212f003
ip: 93.184.216.119
state: absent
- name: disassociate an elastic IP with a device
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
ec2_eip:
device_id: i-1212f003
- name: allocate a new elastic IP without associating it to anything
ec2_eip:
state: present
register: eip
- name: output the IP
debug:
msg: "Allocated IP is {{ eip.public_ip }}"
- name: provision new instances with ec2
ec2:
keypair: mykey
instance_type: c1.medium
image: ami-40603AD1
wait: yes
group: webserver
count: 3
register: ec2
- name: associate new elastic IPs with each of the instances
ec2_eip:
device_id: "{{ item }}"
with_items: "{{ ec2.instance_ids }}"
- name: allocate a new elastic IP inside a VPC in us-west-2
ec2_eip:
region: us-west-2
in_vpc: yes
register: eip
- name: output the IP
debug:
msg: "Allocated IP inside a VPC is {{ eip.public_ip }}"
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| allocation_id строка | при успехе | allocation_id выделенного elastic ip Пример: eipalloc-51aa3a6c |
| public_ip строка | при успехе | адрес elastic ip Пример: 52.88.159.209 |
Статус
- Гарантируется, что в этом модуле не будет изменений интерфейса, несовместимых со старыми версиями. [stableinterface]
- Этот модуль поддерживается партнёром Ansible. [certified]
Авторы
- Rick Mendes (@rickmendes) <rmendes@illumina.com>
Подсказка
Если вы обнаружите проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/ec2_eip_module.html