Модуль community.aws.ec2_vpc_vpn — Создание, изменение и удаление подключений EC2 VPN
Примечание
Этот модуль является частью коллекции community.aws (версия 8.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.aws. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.aws.ec2_vpc_vpn.
Новая функция в community.aws 1.0.0
Обзор
- Этот модуль создаёт, изменяет и удаляет VPN-соединения. Идемпотентность достигается с помощью параметра filters или указания идентификатора VPN-соединения.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key строка | Идентификатор ключа доступа AWS. См. документацию AWS для получения дополнительной информации об маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также могут быть использованы переменные среды Параметры aws_access_key и profile взаимоисключающие. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle путь | Расположение пакета CA, используемого для проверки сертификатов SSL. Также может быть использована переменная среды |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
connection_type строка | Тип подключения VPN. В настоящее время поддерживается только По умолчанию: |
customer_gateway_id строка | Идентификатор шлюза клиента. |
debug_botocore_endpoint_logs логический | Использовать Также может быть использована переменная среды Варианты:
|
delay целое число | Время в секундах, которое нужно подождать перед повторной проверкой операции. По умолчанию: |
endpoint_url псевдонимы: ec2_url, aws_endpoint_url, s3_url строка | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS службам, коллекции amazon.aws и community.aws протестированы только для AWS. Также могут быть использованы переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
filters словарь | Альтернатива использованию vpn_connection_id. Если найдено несколько совпадений, требуется vpn_connection_id. Если один из следующих подпараметров является списком элементов для фильтрации, достаточно соответствия только одного элемента для поиска соответствующей VPN. Например, если фильтр cidr равен По умолчанию: |
|
bgp строка |
Номер ASN BGP, связанный с устройством BGP. Работает только в случае подключённого соединения. Эта опция фильтрации в настоящее время не работает. |
|
cgw строка |
Идентификатор шлюза клиента как строка или список таких строк. |
|
cgw-config строка |
Конфигурация шлюза клиента VPN как строка (в формате возвращаемого значения) или список таких строк. |
|
cidr строка |
Целевой блок CIDR маршрута VPN как строка или список таких строк. |
|
static-routes-only строка |
Тип маршрутизации; |
|
tag-keys строка |
Ключ тега как строка или список таких строк. |
|
tag-values строка |
Значение тега как строка или список таких строк. |
|
tags строка |
Словарь пар «ключ-значение». |
|
vgw строка |
Виртуальный частный шлюз как строка или список таких строк. |
|
vpn string |
Идентификатор VPN-соединения в виде строки или списка таких строк. |
profile aliases: aws_profile string | Используемый именованный профиль AWS для аутентификации. См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и security_token. |
purge_routes boolean | Удалить ли маршруты VPN-соединений, не указанные в задаче. Варианты:
|
purge_tags boolean | Если purge_tags=true и задан параметр tags, существующие метки будут удалены из ресурса, чтобы точно соответствовать тому, что определено параметром tags. Если параметр tags не задан, метки не будут изменены, даже если purge_tags=True. Ключи меток, начинающиеся с Варианты:
|
region aliases: aws_region, ec2_region string | AWS регион для использования. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, region игнорируется. Также можно использовать переменные среды Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
routes list / elements=string | Маршруты для добавления к соединению. По умолчанию: |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа AWS. См. документацию AWS для получения дополнительной информации о маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры secret_key и profile взаимоисключающие. Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для соответствия SDK AWS botocore. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сессии AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации о маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры security_token и profile взаимоисключающие. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
state string | Желаемое состояние VPN-соединения. Варианты:
|
static_only boolean | Указывает, использует ли VPN-соединение только статические маршруты. Статические маршруты должны использоваться для устройств, не поддерживающих BGP. Варианты:
|
tags aliases: resource_tags dictionary | Словарь, представляющий метки, которые будут применены к ресурсу. Если параметр tags не задан, метки не будут изменены. |
transit_gateway_id string added in community.aws 6.2.0 | Идентификатор шлюза транзита. Взаимоисключительно с vpn_gateway_id. |
tunnel_options список / элементы=словарь | Необязательный список, содержащий не более двух элементов-словаря, каждый из которых может содержать ключи TunnelInsideCidr и/или PreSharedKey со соответствующими строковыми значениями. Значения по умолчанию AWS будут применяться в случае отсутствия указанных ключей. По умолчанию: |
|
строка |
Предварительно объявленный ключ (PSK) для установления начальной аутентификации между виртуальным частным шлюзом и шлюзом клиента. |
|
TunnelInsideCidr строка |
Диапазон внутренних IP-адресов для туннеля. |
validate_certs логическое | При установке в Настройка validate_certs=false категорически не рекомендуется. В качестве альтернативы, рассмотрите установку aws_ca_bundle вместо этого. Варианты:
|
vpn_connection_id строка | Идентификатор VPN-соединения. Требуется для изменения или удаления соединения, если опция фильтров не обеспечивает уникального соответствия. |
vpn_gateway_id строка | Идентификатор виртуального частного шлюза. Взаимоисключительно с transit_gateway_id. |
wait_timeout целое число | Время в секундах, после которого ожидание прекращается. По умолчанию: |
Примечания
Примечание
- Внимание: Для модулей переменные среды и конфигурационные файлы считываются из контекста хоста Ansible, а не из контекста контроллера. Поэтому файлы могут потребоваться скопировать на хост. Для плагинов поиска и соединения переменные среды и конфигурационные файлы считываются из контекста контроллера Ansible, а не из контекста хоста.
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих конфигурационных файлов в контексте хоста Ansible (обычно
~/.aws/credentials). Дополнительную информацию см. на https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: create a VPN connection with vpn_gateway_id
community.aws.ec2_vpc_vpn:
state: present
vpn_gateway_id: vgw-XXXXXXXX
customer_gateway_id: cgw-XXXXXXXX
- name: Attach a vpn connection to transit gateway
community.aws.ec2_vpc_vpn:
state: present
transit_gateway_id: tgw-XXXXXXXX
customer_gateway_id: cgw-XXXXXXXX
- name: modify VPN connection tags
community.aws.ec2_vpc_vpn:
state: present
vpn_connection_id: vpn-XXXXXXXX
tags:
Name: ansible-tag-1
Other: ansible-tag-2
- name: delete a connection
community.aws.ec2_vpc_vpn:
vpn_connection_id: vpn-XXXXXXXX
state: absent
- name: modify VPN tags (identifying VPN by filters)
community.aws.ec2_vpc_vpn:
state: present
filters:
cidr: 194.168.1.0/24
tag-keys:
- Ansible
- Other
tags:
New: Tag
purge_tags: true
static_only: true
- name: set up VPN with tunnel options utilizing 'TunnelInsideCidr' only
community.aws.ec2_vpc_vpn:
state: present
filters:
vpn: vpn-XXXXXXXX
static_only: true
tunnel_options:
-
TunnelInsideCidr: '169.254.100.1/30'
-
TunnelInsideCidr: '169.254.100.5/30'
- name: add routes and remove any preexisting ones
community.aws.ec2_vpc_vpn:
state: present
filters:
vpn: vpn-XXXXXXXX
routes:
- 195.168.2.0/24
- 196.168.2.0/24
purge_routes: true
- name: remove all routes
community.aws.ec2_vpc_vpn:
state: present
vpn_connection_id: vpn-XXXXXXXX
routes: []
purge_routes: true
- name: delete a VPN identified by filters
community.aws.ec2_vpc_vpn:
state: absent
filters:
tags:
Ansible: Tag
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для данного модуля:
Ключ | Описание |
|---|---|
changed boolean | Изменилась ли VPN-соединение. Возвращаемое значение: всегда Пример: |
customer_gateway_configuration string | Настройка VPN-соединения. Возвращаемое значение: state=present |
customer_gateway_id string | Идентификатор шлюза клиента, подключенного через соединение. Возвращаемое значение: state=present Пример: |
options complex | Параметры VPN-соединения (в настоящее время содержит только static_routes_only). Возвращаемое значение: state=present |
|
static_routes_only string |
Если VPN-соединение позволяет только статические маршруты. Возвращаемое значение: state=present Пример: |
routes list / elements=string | Маршруты VPN-соединения. Возвращаемое значение: state=present Пример: |
state string | Состояние VPN-соединения. Возвращаемое значение: state=present Пример: |
tags dictionary | Теги, связанные с соединением. Возвращаемое значение: state=present Пример: |
transit_gateway_id string | Идентификатор транзитного шлюза, к которому можно подключить VPN-соединение. Возвращаемое значение: state=present Пример: |
type string | Тип VPN-соединения (в настоящее время доступен только ipsec.1). Возвращаемое значение: state=present Пример: |
vgw_telemetry list / elements=string | Телеметрия VPN-туннеля. Возвращаемое значение: state=present Пример: |
vpn_connection_id string | Идентификатор VPN-соединения. Возвращаемое значение: state=present Пример: |
vpn_gateway_id string | Идентификатор виртуального шлюза, подключенного через соединение. Возвращаемое значение: state=present Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/aws/ec2_vpc_vpn_module.html