ec2_vpc — настройка виртуальных частных облаков AWS
Новая версия 1.4.
- УСТЕРЕКШЕЕ
- Описание
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Примечания
УСТЕРЕКШЕЕ
Устарело в версии 2.3. Используйте ec2_vpc_net вместе с поддерживающими модулями, включая ec2_vpc_igw, ec2_vpc_route_table, ec2_vpc_subnet, ec2_vpc_dhcp_options, ec2_vpc_nat_gateway, ec2_vpc_nacl.
Описание
- Создание или завершение виртуальных частных облаков AWS. Этот модуль зависит от python-boto.
Требования (к хосту, на котором выполняется модуль)
- python >= 2.6
- boto
Параметры
| параметр | обязательно | по умолчанию | значения | комментарии |
|---|---|---|---|---|
| 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 |
||
| cidr_block |
нет | Диапазон CIDR, представляющий VPC, например, 10.0.0.0/16, требуется при state=present. |
||
| dns_hostnames |
нет | да |
|
Включает/выключает флаг «Включить поддержку DNS-имен для экземпляров». |
| dns_support |
нет | да |
|
Включает/выключает флаг «Включить разрешение DNS». |
| ec2_url |
нет | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая есть. | ||
| instance_tenancy |
нет | default |
|
Поддерживаемые варианты аренды для экземпляров, запущенных в VPC. |
| internet_gateway |
нет | нет |
|
Включает/выключает подключение шлюза Интернет к VPC. |
| profile (добавлено в 1.6) |
нет | Использует профиль 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 |
нет | Массив словарей таблиц маршрутизации для добавления в формате: { 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) |
нет | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token |
||
| state |
да |
|
Создание или удаление VPC. | |
| subnets |
нет | Массив словарей подсетей для добавления в формате { cidr: ..., az: ... , resource_tags: ... }. Где az — желаемая зона доступности подсети, необязательно.Теги resource_tags используются в формате словаря { "Environment":"Dev", "Tier":"Web", ...}, необязательно.resource_tags см. теги ресурса для VPC ниже. Основное отличие заключается в том, что теги подсетей, не указанные здесь, будут удалены.Все подсети VPC, не входящие в этот список, также будут удалены. Начиная с версии 1.8, если параметр subnets не указан, никакие существующие подсети не будут изменены. |
||
| validate_certs (добавлено в 1.5) |
нет | да |
|
При значении «нет» сертификаты SSL для версий boto >= 2.6.0 не будут проверяться. |
| vpc_id |
нет | ID VPC для удаления при state=absent. | ||
| wait |
нет | нет |
|
Ожидание состояния VPC 'available' перед возвратом. |
| wait_timeout |
нет | 300 | Время ожидания до отказа ожидания в секундах. |
Примеры
# 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.
Примечания
Примечание
- Если параметры не заданы в модуле, следующие переменные среды могут использоваться в порядке убывания приоритета
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
Для получения помощи в разработке модулей, если вы заинтересованы, прочитайте Справочная информация по сообществу и участие в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/ec2_vpc_module.html