ec2_eip - управляет адресами EC2 elastic IP (EIP).
Новая версия 1.4.
Обзор
- Этот модуль может выделять или освобождать EIP.
- Этот модуль может назначать/отключать EIP для экземпляров или сетевых интерфейсов.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allow_reassociation (добавлено в 2.5) | По умолчанию: нет | Укажите этот параметр, чтобы разрешить повторную привязку адреса Elastic IP, уже связанного с другим сетевым интерфейсом или экземпляром, к указанному экземпляру или интерфейсу. |
| aws_access_key | По умолчанию: None | AWS ключ доступа. Если не задано, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key |
| aws_secret_key | По умолчанию: None | 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 | По умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех других модулей, если регион не используется. Если не указан, используется значение переменной окружения EC2_URL, если таковое имеется. |
| in_vpc (добавлено в 1.4) | По умолчанию: нет | Назначить EIP внутри VPC или нет. Требуется, если указан ENI. |
| private_ip_address (добавлено в 2.3) | По умолчанию: None | Основной или дополнительный частный IP-адрес для ассоциации с адресом Elastic IP. |
| profile (добавлено в 1.6) | По умолчанию: None | Использует профиль 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) | По умолчанию: None | AWS STS токен безопасности. Если не задано, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token |
| state |
| Если present, выделить EIP или связать существующий EIP с устройством. Если absent, отсоединить EIP от устройства и, при необходимости, освободить его. |
| validate_certs (добавлено в 1.5) |
| При значении "нет", SSL сертификаты не будут проверены для boto версий >= 2.6.0. |
Примечания
Примечание
- Возможна задержка между присвоением EIP и готовностью облачного экземпляра по новому адресу. Используйте wait_for и pause, чтобы приостановить дальнейшее выполнение плейбука, если необходимо, до готовности экземпляра.
- Этот модуль возвращает несколько статусов изменения при разъединении или освобождении. Он возвращает общий статус, основанный на любых изменениях. Он также возвращает отдельные статусы изменений для разъединения и освобождения.
- Если параметры не заданы в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
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), если учетные данные не указаны. См. http://boto.readthedocs.org/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 эластичного IP Пример: eipalloc-51aa3a6c |
| public_ip строка | при успехе | адрес эластичного IP Пример: 52.88.159.209 |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будет внесено обратной несовместимости интерфейса.
Автор
- 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.5/modules/ec2_eip_module.html