ec2_vpc — настройка виртуальных частных облаков AWS
Новая в версии 1.4.
УСТЕРЕЛО
| Удалили в Ansible: | |
|---|---|
| версия: 2.5 | |
| Почему: | Заменено специализированными модулями. |
| Альтернатива: | Используйте ec2_vpc_net вместе с поддерживающими модулями, включая ec2_vpc_igw, ec2_vpc_route_table, ec2_vpc_subnet, ec2_vpc_dhcp_option, ec2_vpc_nat_gateway, ec2_vpc_nacl. |
Описание
- Создание или завершение виртуальных частных облаков AWS. Этот модуль зависит от python-boto.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 |
| cidr_block | Блок CIDR, представляющий VPC, например 10.0.0.0/16, необходимый, когда state=present. | |
| dns_hostnames |
| Включает/выключает поддержку DNS-имен для экземпляров. |
| dns_support |
| Включает/выключает поддержку DNS-разрешения. |
| ec2_url | Значение по умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию используется конечная точка EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если оно есть. |
| instance_tenancy |
| Поддерживаемые параметры аренды экземпляров, запущенных в VPC. |
| internet_gateway |
| Включает/выключает подключение шлюза Интернет к VPC. |
| profile (добавлен в 1.6) | Значение по умолчанию: None | Использует профиль boto. Работает только с boto >= 2.24.0. |
| region | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| resource_tags необходимо (добавлен в 1.6) | Массив словарей тегов ресурсов вида { tag1: value1, tag2: value2 }. — Теги в этом списке используются вместе с блоком CIDR для уникальной идентификации VPC вместо vpc_id. Следовательно, если комбинация CIDR/тега не существует, будет создана новая VPC. Теги VPC, не включенные в этот список, будут проигнорированы. До версии 1.7 указание тега ресурса было необязательным. | |
| route_tables | Значение по умолчанию: None | Массив словарей таблиц маршрутизации для добавления вида: { subnets: [172.22.2.0/24, 172.22.3.0/24,], routes: [{ dest: 0.0.0.0/0, gw: igw},], resource_tags: ... }. Где список подсетей — это подсети, к которым должна быть присоединена таблица маршрутизации, а список маршрутов — это список маршрутов, которые должны находиться в таблице. Специальное ключевое слово для шлюза igw указывает, что маршрут должен проходить через шлюз Интернет, подключенный к VPC. gw также принимает в качестве значений instance-ids, interface-ids и vpc-peering-connection-ids в дополнение к igw. resource_tags необязательны и используют вид словаря: { "Name": "public", ... }. Этот модуль в настоящее время не может влиять на «главную» таблицу маршрутизации из-за некоторых ограничений в boto, поэтому необходимо явно определить связанные подсети, иначе они будут неявно подключены к основной таблице. С версии 1.8, если параметр route_tables не указан, никакие существующие маршруты не будут изменены. |
| security_token (добавлен в 1.6) | Значение по умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| state необходимо |
| Создание или завершение VPC. |
| subnets | Значение по умолчанию: None | Массив словарей подсетей для добавления вида { cidr: ..., az: ... , resource_tags: ... }. Где az — желаемая зона доступности подсети, необязательно.Теги resource_tags используют вид словаря { "Environment":"Dev", "Tier":"Web", ...}, необязательно.resource_tags см. теги resource_tags для VPC ниже. Основное различие заключается в том, что теги подсети, не указанные здесь, будут удалены.Все подсети VPC, не включенные в этот список, также будут удалены. С версии 1.8, если параметр subnets не указан, никакие существующие подсети не будут изменены. |
| validate_certs (добавлен в 1.5) |
| Если установлено «нет», сертификаты SSL для boto версий >= 2.6.0 не будут проверены. |
| vpc_id | Значение по умолчанию: None | ID VPC для завершения, когда state=absent. |
| wait |
| Ожидание состояния 'available' VPC перед возвратом. |
| wait_timeout | Значение по умолчанию: 300 | Время ожидания, прежде чем ожидание прекратится, в секундах. |
Примечания
Примечание
- Если параметры не установлены в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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: None of these examples set aws_access_key, aws_secret_key, or region.
# It is assumed that their matching environment variables are set.
# Basic creation example:
- ec2_vpc:
state: present
cidr_block: 172.23.0.0/16
resource_tags: { "Environment":"Development" }
region: us-west-2
# Full creation example with subnets and optional availability zones.
# The absence or presence of subnets deletes or creates them respectively.
- ec2_vpc:
state: present
cidr_block: 172.22.0.0/16
resource_tags: { "Environment":"Development" }
subnets:
- cidr: 172.22.1.0/24
az: us-west-2c
resource_tags: { "Environment":"Dev", "Tier" : "Web" }
- cidr: 172.22.2.0/24
az: us-west-2b
resource_tags: { "Environment":"Dev", "Tier" : "App" }
- cidr: 172.22.3.0/24
az: us-west-2a
resource_tags: { "Environment":"Dev", "Tier" : "DB" }
internet_gateway: True
route_tables:
- subnets:
- 172.22.2.0/24
- 172.22.3.0/24
routes:
- dest: 0.0.0.0/0
gw: igw
- subnets:
- 172.22.1.0/24
routes:
- dest: 0.0.0.0/0
gw: igw
region: us-west-2
register: vpc
# Removal of a VPC by id
- ec2_vpc:
state: absent
vpc_id: vpc-aaaaaaa
region: us-west-2
# If you have added elements not managed by this module, e.g. instances, NATs, etc then
# the delete will fail until those dependencies are removed.
Статус
Этот модуль помечен как устаревший и будет удален в версии 2.5. Дополнительная информация представлена в разделе УСТЕРЕЛО.
Автор
- Carson Gee (@carsongee)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.
© 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_vpc_module.html