ec2_vpc_route_table – Управление таблицами маршрутизации для виртуальных частных облаков AWS
Описание
- Управление таблицами маршрутизации для виртуальных частных облаков 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 для вывода полного списка, выполненного во время выполнения playbook. Переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. | |
| lookup - |
| Поиск таблицы маршрутизации по тегам или по идентификатору таблицы маршрутизации. Поиск по не уникальным тегам завершится ошибкой. Если теги не указаны, поиск существующей таблицы маршрутизации не выполняется, и будет создана новая таблица маршрутизации. Для изменения тегов таблицы маршрутизации необходимо выполнить поиск по идентификатору. |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| propagating_vgw_ids - | Включить распространение маршрутов с виртуальных шлюзов, указанных по идентификатору. | |
| purge_routes логический тип |
| Удалить существующие маршруты, которые не найдены в маршрутах. |
| purge_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: value1, tag2: value2 }. Теги используются для уникальной идентификации таблиц маршрутизации в 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_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 | ||
| маршруты сложный | всегда | Список маршрутов в таблице маршрутизации | ||
| destination_cidr_block строка | всегда | Блок CIDR пункта назначения Пример: 10.228.228.0/22 | ||
| gateway_id строка | если шлюз локальный или интернет-шлюз | Идентификатор шлюза Пример: локальный | ||
| instance_id строка | если маршрут проходит через экземпляр EC2 | Идентификатор экземпляра NAT Пример: i-abcd123456789 | ||
| instance_owner_id строка | если маршрут проходит через экземпляр EC2 | AWS-аккаунт, владеющий экземпляром NAT Пример: 123456789012 | ||
| nat_gateway_id строка | если маршрут проходит через NAT-шлюз | Идентификатор NAT-шлюза Пример: локальный | ||
| origin строка | всегда | механизм, посредством которого маршрут находится в таблице Пример: CreateRouteTable | ||
| состояние строка | всегда | состояние маршрута Пример: активный | ||
| метки словарь | всегда | Метки, примененные к таблице маршрутизации Пример: {'Имя': 'Таблица маршрутизации общедоступна', 'Общедоступно': '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.9/modules/ec2_vpc_route_table_module.html