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 | |
| debug_botocore_endpoint_logs логический тип добавлен в 2.8 |
| Использование логгера botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполняемых во время задачи, вывод набора в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время выполнения книги сценариев. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она существует. | |
| lookup - |
| Поиск таблицы маршрутизации по тегам или по идентификатору таблицы маршрутизации. Поиск по неоднозначному тегу завершится неудачей. Если теги не указаны, поиск существующей таблицы маршрутизации не выполняется, и новая таблица будет создана. Для изменения тегов таблицы маршрутизации необходимо выполнить поиск по id. |
| profile строка | Использование профиля boto. Работает только с boto >= 2.24.0. | |
| propagating_vgw_ids - | Включить распространение маршрута от виртуальных шлюзов, указанных по идентификатору. | |
| purge_routes логический тип добавлен в 2.3 |
| Удалить существующие маршруты, которые не найдены в маршрутах. |
| purge_subnets логический тип добавлен в 2.3 |
| Удалить существующие подсети, которые не найдены в подсетях. Игнорируется, если параметр subnets не указан. |
| purge_tags логический тип добавлен в 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 строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state - |
| Создать или удалить таблицу маршрутизации VPC |
| subnets - | Массив подсетей, которые нужно добавить в эту таблицу маршрутизации. Подсети могут быть указаны по идентификатору подсети, имени тега или по CIDR, например, '10.0.0.0/24'. | |
| tags - | Словарь тегов ресурсов вида: { tag1: значение1, tag2: значение2 }. Теги используются для уникальной идентификации таблиц маршрутизации внутри VPC, когда не предоставлен route_table_id. псевдонимы: resource_tags | |
| validate_certs логический тип |
| При значении "нет" сертификаты 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 строка | всегда | состояние маршрута Пример: активный | ||
| tags словарь | всегда | Теги, примененные к таблице маршрутизации Пример: {'Имя': 'Таблица общедоступных маршрутов', 'Общедоступный': 'true'} | ||
| vpc_id строка | всегда | Идентификатор VPC, в котором находится маршрут Пример: vpc-6e2d2407 | ||
Статус
- Гарантируется отсутствие изменений интерфейса, несовместимых с предыдущими версиями. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/ec2_vpc_route_table_module.html