ec2_vpc_route_table – Управление таблицами маршрутизации для виртуальных частных облаков AWS
Новая версия 2.0.
Обзор
- Управление таблицами маршрутизации для виртуальных частных облаков AWS
Требования
Ниже приведены требования, необходимые на хосте, который выполняет этот модуль.
- 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 | |
| ec2_url - | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| lookup - |
| Поиск таблицы маршрутизации по меткам или по идентификатору таблицы маршрутизации. Поиск по не уникальной метке завершится ошибкой. Если метки не указаны, поиск по существующей таблице маршрутизации не выполняется и создается новая таблица. Чтобы изменить метки таблицы маршрутизации, необходимо искать по id. |
| profile - добавлено в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| propagating_vgw_ids - | Включить распространение маршрутов от виртуальных шлюзов, указанных по идентификатору. | |
| purge_routes boolean добавлено в 2.3 |
| Очистить существующие маршруты, которые не найдены в маршрутах. |
| purge_subnets - добавлено в 2.3 | По умолчанию: "true" | Очистить существующие подсети, которые не найдены в подсетях. Игнорируется, если опция subnets не предоставлена. |
| purge_tags boolean добавлено в 2.5 |
| Очистить существующие метки, которые не найдены в таблице маршрутизации |
| region - | AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| route_table_id - | Идентификатор таблицы маршрутизации для обновления или удаления. | |
| routes - | Список маршрутов в таблице маршрутизации. Маршруты задаются как словари, содержащие ключи 'dest' и один из 'gateway_id', 'instance_id', 'network_interface_id' или 'vpc_peering_connection_id'. Если указан 'gateway_id', вы можете сослаться на IGW VPC, используя значение 'igw'. Маршруты требуются для текущих состояний. | |
| security_token - добавлено в 1.6 | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state - |
| Создание или удаление таблицы маршрутизации VPC |
| subnets - | Массив подсетей для добавления в эту таблицу маршрутизации. Подсети могут быть указаны по идентификатору подсети, метке Name или с помощью CIDR, например, '10.0.0.0/24'. | |
| tags - | Словарь меток ресурса в формате: { tag1: value1, tag2: value2 }. Метки используются для уникальной идентификации таблиц маршрутизации в VPC, когда route_table_id не указан. Псевдонимы: resource_tags | |
| validate_certs boolean добавлено в 1.5 |
| При установке в значение "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| vpc_id - / обязательно | Идентификатор VPC, в котором должна быть создана таблица маршрутизации. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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.
# Basic creation example:
- name: Set up public subnet route table
ec2_vpc_route_table:
vpc_id: vpc-1245678
region: us-west-1
tags:
Name: Public
subnets:
- "{{ jumpbox_subnet.subnet.id }}"
- "{{ frontend_subnet.subnet.id }}"
- "{{ vpn_subnet.subnet_id }}"
routes:
- dest: 0.0.0.0/0
gateway_id: "{{ igw.gateway_id }}"
register: public_route_table
- name: Set up NAT-protected route table
ec2_vpc_route_table:
vpc_id: vpc-1245678
region: us-west-1
tags:
Name: Internal
subnets:
- "{{ application_subnet.subnet.id }}"
- 'Database Subnet'
- '10.0.0.0/8'
routes:
- dest: 0.0.0.0/0
instance_id: "{{ nat.instance_id }}"
register: nat_route_table
- name: delete route table
ec2_vpc_route_table:
vpc_id: vpc-1245678
region: us-west-1
route_table_id: "{{ route_table.id }}"
lookup: id
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| route_table сложное | всегда | Результат таблицы маршрутизации | ||
| associations сложное | всегда | Список подсетей, связанных с таблицей маршрутизации | ||
| main логический | всегда | Является ли это основной таблицей маршрутизации | ||
| route_table_association_id строка | всегда | Идентификатор связи между таблицей маршрутизации и подсетью Пример: rtbassoc-ab47cfc3 | ||
| route_table_id строка | всегда | Идентификатор таблицы маршрутизации Пример: rtb-bf779ed7 | ||
| subnet_id строка | всегда | Идентификатор подсети Пример: subnet-82055af9 | ||
| id строка | всегда | Идентификатор таблицы маршрутизации (совпадает с route_table_id для обратной совместимости) Пример: rtb-bf779ed7 | ||
| propagating_vgws список | всегда | Список виртуальных частных шлюзов, распространяющих маршруты | ||
| route_table_id строка | всегда | Идентификатор таблицы маршрутизации Пример: rtb-bf779ed7 | ||
| routes сложное | всегда | Список маршрутов в таблице маршрутизации | ||
| destination_cidr_block строка | всегда | Блок CIDR назначения Пример: 10.228.228.0/22 | ||
| gateway_id строка | при использовании локального или интернет-шлюза | Идентификатор шлюза Пример: local | ||
| instance_id строка | при маршрутизации через экземпляр EC2 | Идентификатор экземпляра NAT Пример: i-abcd123456789 | ||
| instance_owner_id строка | при маршрутизации через экземпляр EC2 | AWS-аккаунт, владеющий экземпляром NAT Пример: 123456789012 | ||
| nat_gateway_id строка | при маршрутизации через шлюз NAT | Идентификатор шлюза NAT Пример: local | ||
| origin строка | всегда | Механизм, через который маршрут находится в таблице Пример: CreateRouteTable | ||
| state строка | всегда | Состояние маршрута Пример: active | ||
| tags словарь | всегда | Теги, примененные к таблице маршрутизации Пример: {'Name': 'Public route table', 'Public': 'true'} | ||
| vpc_id строка | всегда | Идентификатор VPC, в котором находится маршрут Пример: vpc-6e2d2407 | ||
Статус
- В этом модуле гарантируются отсутствие изменений интерфейса, несовместимых с предыдущими версиями. [stableinterface]
- Этот модуль поддерживается партнером Ansible. [certified]
Авторы
- Robert Estelle (@erydo)
- Rob White (@wimnat)
- Will Thames (@willthames)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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_vpc_route_table_module.html