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 | Ключ доступа 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 bool |
| Включает/выключает поддержку имен хостов DNS для экземпляров. |
| dns_support bool |
| Включает/выключает поддержку разрешения DNS. |
| ec2_url | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она существует. | |
| instance_tenancy |
| Доступные варианты аренды для экземпляров, запущенных в VPC. |
| internet_gateway bool |
| Включает/выключает подключение шлюза интернет к 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 см. теги resource_tags для VPC ниже. Основное отличие заключается в том, что теги подсетей, не указанные здесь, будут удалены.Все подсети VPC, не входящие в этот список, также будут удалены. С версии 1.8, если параметр subnets не указан, никакие существующие подсети не будут изменены. | |
| validate_certs bool (добавлен в 1.5) |
| При значении "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| vpc_id | ID VPC для удаления, когда state=absent. | |
| wait bool |
| Ожидание состояния VPC 'available' перед возвратом. |
| 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.6/modules/ec2_vpc_module.html