Spec-Zone.ru › Ansible

модуль amazon.aws.ec2_vpc_vpn – создание, изменение и удаление VPN-подключений EC2

Примечание

Этот модуль входит в коллекцию amazon.aws (версия 11.3.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать его в сценарии, укажите: amazon.aws.ec2_vpc_vpn.

Добавлено в community.aws 1.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль создаёт, изменяет и удаляет VPN-подключения.
  • Идемпотентность обеспечивается использованием параметра filters или указанием идентификатора VPN-подключения.

Требования

На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • python >= 3.6
  • boto3 >= 1.35.0
  • botocore >= 1.35.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_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_ID или AWS_ACCESS_KEY в порядке убывания предпочтения.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS SDK botocore.

aws_ca_bundle

путь

Путь к набору сертификатов CA для проверки SSL-сертификатов.

Также можно использовать переменную среды AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Описание параметров доступно в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

connection_type

строка

Тип VPN-подключения.

В настоящее время поддерживается только ipsec.1.

По умолчанию: "ipsec.1"

customer_gateway_id

строка

Идентификатор шлюза клиента.

debug_botocore_endpoint_logs

логическое значение

Использовать регистратор botocore.endpoint для разбора уникальных (а не общих) вызовов API "resource:action", выполненных во время задачи, и выводить их список в ключ resource_actions результатов задачи. Используйте callback aws_resource_action, чтобы вывести общий список вызовов, выполненных в сценарии.

Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

delay

целое число

Время ожидания перед повторной проверкой операции, в секундах.

По умолчанию: 15

endpoint_url

псевдонимы: aws_endpoint_url

строка

URL для подключения вместо конечных точек AWS по умолчанию. Его можно использовать для подключения к другим сервисам, совместимым с AWS, однако коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную среды AWS_URL.

filters

словарь

Альтернатива использованию vpn_connection_id. Если найдено несколько совпадений, требуется vpn_connection_id. Если один из следующих вложенных параметров представляет собой список значений для фильтрации, для поиска соответствующей VPN достаточно совпадения с одним из них. Например, если фильтр filters.cidr имеет значение ["194.168.2.0/24", "192.168.2.0/24"], а маршрут VPN содержит только целевой блок CIDR 192.168.2.0/24, VPN будет найдена с помощью этого фильтра (при условии, что ему соответствует только одна VPN). Другой пример: если фильтр filters.vpn равен ["vpn-ccf7e7ad", "vpn-cb0ae2a2"], и у одной из VPN состояние deleted (она существует, но не может быть изменена), а другая существует и не удалена, VPN будет найдена с помощью этого фильтра.

По умолчанию: {}

bgp

строка

Номер ASN BGP, связанный с устройством BGP. Работает только при подключённом соединении. Этот параметр фильтрации в настоящее время не работает.

cgw

строка

Идентификатор шлюза клиента в виде строки или списка таких строк.

cgw-config

строка

Конфигурация шлюза клиента VPN в виде строки (в формате возвращаемого значения) или списка таких строк.

cidr

строка

Целевой CIDR маршрута VPN в виде строки или списка таких строк.

static-routes-only

логическое значение

Тип маршрутизации: true или false.

Варианты:

  • false
  • true

tag-keys

строка

Ключ тега в виде строки или списка таких строк.

tag-values

строка

Значение тега в виде строки или списка таких строк.

tags

словарь

Словарь пар «ключ — значение».

vgw

строка

Виртуальный частный шлюз в виде строки или списка таких строк.

vpn

строка

Идентификатор VPN-подключения в виде строки или списка таких строк.

local_ipv4_network_cidr

строка

добавлено в amazon.aws 9.0.0

IPv4 CIDR со стороны шлюза клиента (локальной сети) VPN-подключения.

По умолчанию: "0.0.0.0/0"

profile

псевдонимы: aws_profile

строка

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную среды AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token.

purge_routes

логическое значение

Удалять ли маршруты VPN-подключений, не указанные в задаче.

Варианты:

  • false ← (по умолчанию)
  • true

purge_tags

логическое значение

Если задано purge_tags=true и указан параметр tags, существующие теги будут удалены из ресурса, чтобы его теги точно соответствовали заданным параметром tags.

Если параметр tags не задан, теги не изменяются, даже если указано purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому при обработке параметра purge_tags они игнорируются. Дополнительные сведения см. в документации Amazon: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

region

псевдонимы: aws_region

строка

Регион AWS.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную среды AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

routes

список / элементы=строка

Маршруты, добавляемые к подключению.

По умолчанию: []

secret_key

псевдонимы: aws_secret_access_key, aws_secret_key

строка

Секретный ключ доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания предпочтения.

Параметры secret_key и profile взаимоисключающие.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для согласованности с AWS SDK botocore.

session_token

псевдонимы: aws_session_token

строка

Токен сеанса AWS STS для временных учётных данных.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменную среды AWS_SESSION_TOKEN.

Параметры session_token и profile взаимоисключающие.

state

строка

Требуемое состояние VPN-подключения.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

static_only

логическое значение

Указывает, использует ли VPN-подключение только статические маршруты. Статические маршруты необходимы для устройств, не поддерживающих BGP.

Варианты:

  • false ← (по умолчанию)
  • true

tags

псевдонимы: resource_tags

словарь

Словарь тегов, назначаемых ресурсу.

Если параметр tags не задан, теги не изменяются.

transit_gateway_id

строка

добавлено в amazon.aws 6.2.0

Идентификатор транзитного шлюза.

Взаимоисключающий с vpn_gateway_id.

tunnel_options

список / элементы=словарь

Необязательный объект-список, содержащий не более двух элементов-словарей. Каждый из них может содержать ключи tunnel_options.TunnelInsideCidr и/или tunnel_options.PreSharedKey с соответствующими строковыми значениями. Если указанные ключи не заданы, применяются значения AWS по умолчанию.

По умолчанию: []

PreSharedKey

строка

Предварительно согласованный ключ (PSK) для первоначальной аутентификации между виртуальным частным шлюзом и шлюзом клиента.

TunnelInsideCidr

строка

Диапазон внутренних IPv4-адресов туннеля.

TunnelInsideIpv6Cidr

строка

добавлено в amazon.aws 9.0.0

Диапазон внутренних IPv6-адресов туннеля.

validate_certs

логическое значение

Если задано значение false, SSL-сертификаты при взаимодействии с API AWS проверяться не будут.

Настоятельно не рекомендуется устанавливать validate_certs=false; вместо этого рассмотрите возможность задания параметра aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

vpn_connection_id

строка

Идентификатор VPN-подключения. Требуется для изменения или удаления подключения, если параметр filters не позволяет однозначно определить его.

vpn_gateway_id

строка

Идентификатор виртуального частного шлюза.

Взаимоисключающий с transit_gateway_id.

wait_timeout

целое число

Время ожидания до прекращения ожидания, в секундах.

По умолчанию: 600

Примечания

Примечание

  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «хоста» Ansible, а не из контекста «контроллера». Поэтому файлы может потребоваться явно скопировать на «хост». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «хоста».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения учётных данных и другие настройки по умолчанию, например регион, из файлов конфигурации в контексте «хоста» 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
  amazon.aws.ec2_vpc_vpn:
    state: "present"
    vpn_gateway_id: "vgw-XXXXXXXX"
    customer_gateway_id: "cgw-XXXXXXXX"

- name: Attach a vpn connection to transit gateway
  amazon.aws.ec2_vpc_vpn:
    state: "present"
    transit_gateway_id: "tgw-XXXXXXXX"
    customer_gateway_id: "cgw-XXXXXXXX"

- name: Modify VPN connection tags
  amazon.aws.ec2_vpc_vpn:
    state: "present"
    vpn_connection_id: "vpn-XXXXXXXX"
    tags:
      Name: "ansible-tag-1"
      Other: "ansible-tag-2"

- name: Delete a connection
  amazon.aws.ec2_vpc_vpn:
    vpn_connection_id: "vpn-XXXXXXXX"
    state: "absent"

- name: Modify VPN tags (identifying VPN by filters)
  amazon.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
  amazon.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
  amazon.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
  amazon.aws.ec2_vpc_vpn:
    state: "present"
    vpn_connection_id: "vpn-XXXXXXXX"
    routes: []
    purge_routes: true

- name: Delete a VPN identified by filters
  amazon.aws.ec2_vpc_vpn:
    state: "absent"
    filters:
      tags:
        Ansible: "Tag"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

changed

boolean

Изменилось ли VPN-подключение.

Возвращается: всегда

Пример: true

customer_gateway_configuration

string

Конфигурация VPN-подключения.

Возвращается: state=present

customer_gateway_id

string

Клиентский шлюз, подключенный через это подключение.

Возвращается: state=present

Пример: "cgw-1220c87b"

gateway_association_state

string

Текущее состояние ассоциации шлюза.

Возвращается: state=present

Пример: "associated"

options

list / elements=dictionary

Параметры VPN-подключения.

Возвращается: state=present

enable_acceleration

boolean

Указывает, включено ли ускорение для VPN-подключения.

Возвращается: state=present

Пример: false

local_ipv4_network_cidr

string

IPv4 CIDR клиентского шлюза (локальной сети) на стороне VPN-подключения.

Возвращается: state=present

Пример: "0.0.0.0/0"

outside_ip_address_type

string

Внешний IP-адрес VPN-туннеля.

Возвращается: state=present

Пример: "PublicIpv4"

remote_ipv4_network_cidr

string

IPv4 CIDR на стороне Amazon Web Services VPN-подключения.

Возвращается: state=present

Пример: "0.0.0.0/0"

static_routes_only

boolean

Разрешает ли VPN-подключение только статические маршруты.

Возвращается: state=present

Пример: true

tunnel_inside_ip_version

string

Указывает, обрабатывают ли VPN-туннели трафик IPv4 или IPv6.

Возвращается: state=present

Пример: "ipv4"

tunnel_options

list / elements=dictionary

Параметры VPN-туннеля.

Возвращается: state=present

Пример: [{"log_options": {"cloud_watch_log_options": {"log_enabled": false}}, "outside_ip_address": "34.225.101.10", "pre_shared_key": "8n7hnjNE8zhIt4VpMOIfcrw6XnUTHLW9", "tunnel_inside_cidr": "169.254.31.8/30"}]

log_options

dictionary

Параметры ведения журнала активности VPN-туннеля.

Возвращается: state=present

cloud_watch_log_options

dictionary

Параметры отправки журналов VPN-туннеля в CloudWatch.

Возвращается: state=present

outside_ip_address

string

Внешний IP-адрес VPN-туннеля.

Возвращается: state=present

pre_shared_key

string

Предварительно согласованный ключ (PSK) для начальной аутентификации между виртуальным частным шлюзом и клиентским шлюзом.

Возвращается: state=present

tunnel_inside_cidr

string

Диапазон внутренних IPv4-адресов туннеля.

Возвращается: state=present

routes

list / elements=string

Маршруты VPN-подключения.

Возвращается: state=present

Пример: [{"destination_cidr_block": "192.168.1.0/24", "state": "available"}]

destination_cidr_block

string

Блок CIDR, связанный с локальной подсетью центра обработки данных клиента.

Возвращается: state=present

source

string

Указывает способ предоставления маршрутов.

Возвращается: state=present

state

string

Текущее состояние статического маршрута.

Возвращается: state=present

state

string

Состояние VPN-подключения.

Возвращается: state=present

Пример: "available"

tags

dictionary

Теги, связанные с подключением.

Возвращается: state=present

Пример: {"name": "ansible-test", "other": "tag"}

transit_gateway_id

string

Идентификатор транзитного шлюза, к которому можно подключить VPN-соединение.

Возвращается: state=present

Пример: "tgw-cb0ae2a2"

type

string

Тип VPN-подключения (в настоящее время доступен только ipsec.1).

Возвращается: state=present

Пример: "ipsec.1"

vgw_telemetry

list / elements=string

Телеметрия VPN-туннеля.

Возвращается: state=present

Пример: [{"accepted_route_count": 0, "last_status_change": "2024-09-30T13:12:33+00:00", "outside_ip_address": "34.225.101.10", "status": "DOWN", "status_message": "IPSEC IS DOWN"}]

accepted_route_count

integer

Количество принятых маршрутов.

Возвращается: state=present

certificate_arn

string

Имя ресурса Amazon (ARN) сертификата конечной точки туннеля виртуального частного шлюза.

Возвращается: при использовании закрытого сертификата для аутентификации

Пример: "arn:aws:acm:us-east-1:123456789012:certificate/c544d8ce-20b8-4fff-98b0-example"

last_status_change

string

Дата и время последнего изменения состояния.

Возвращается: state=present

outside_ip_address

string

IP-адрес внешнего интерфейса виртуального частного шлюза, доступный для маршрутизации через Интернет.

Возвращается: state=present

status

string

Состояние VPN-туннеля.

Возвращается: state=present

status_message

string

Описание ошибки, если она возникла.

Возвращается: state=present

vpn_connection_id

string

Идентификатор VPN-подключения.

Возвращается: state=present

Пример: "vpn-781e0e19"

vpn_gateway_id

string

Виртуальный частный шлюз, подключенный через это подключение.

Возвращается: state=present

Пример: "vgw-cb0ae2a2"

Авторы

  • Sloane Hertel (@s-hertel)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/ec2_vpc_vpn_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API