AWS Site-to-Site VPN
AWS Site-to-Site VPN — это управляемый облачный сервис, предоставляемый Amazon Web Services (AWS), который позволяет устанавливать защищённое сетевое соединение между локальной инфраструктурой организации (например, корпоративной сетью или дата-центром) и виртуальным частным облаком (VPC) в AWS через общедоступный интернет. Сервис основан на протоколах IPsec (Internet Protocol Security) и обеспечивает шифрование и аутентификацию трафика, проходящего между двумя сторонами.
Архитектура и компоненты
AWS Site-to-Site VPN состоит из нескольких ключевых элементов, которые взаимодействуют для создания туннеля.
Виртуальный частный шлюз (Virtual Private Gateway, VGW)
Виртуальный частный шлюз — это логический объект на стороне AWS, который подключается к VPC. Он выступает в качестве конечной точки VPN-туннеля со стороны облака. VGW может быть привязан только к одному VPC, но поддерживает одновременное подключение нескольких VPN-соединений от разных локальных сетей. После создания VGW его необходимо прикрепить к целевому VPC.
Транзитный шлюз (Transit Gateway, TGW)
В более сложных архитектурах, где требуется подключение нескольких VPC или гибридных сетей, вместо VGW может использоваться транзитный шлюз. TGW выступает как центральный маршрутизатор, к которому можно подключать VPN-туннели, VPC и локальные сети. Это позволяет масштабировать соединение на множество VPC без необходимости создавать отдельные VPN-подключения для каждого из них.
Клиентское устройство (Customer Gateway, CGW)
Клиентское устройство — это физический или программный маршрутизатор (например, Cisco ASA, Juniper SRX, pfSense, MikroTik или программный VPN-клиент), расположенный в локальной сети организации. В AWS создаётся объект Customer Gateway, который описывает параметры этого устройства: публичный IP-адрес (статический или динамический с использованием FQDN), тип туннеля (маршрутизируемый или статический) и поддерживаемые алгоритмы шифрования. Фактически, CGW — это конфигурационный ресурс, который задаёт параметры удалённой стороны.
VPN-соединение (VPN Connection)
VPN-соединение — это логическая связь между VGW (или TGW) и CGW. При его создании AWS автоматически генерирует два туннеля (первичный и резервный) для обеспечения высокой доступности. Каждый туннель использует отдельный публичный IP-адрес со стороны AWS и уникальный предварительный ключ (pre-shared key, PSK). Конфигурация для каждого туннеля предоставляется в виде файла или текстового блока, совместимого с большинством популярных производителей сетевого оборудования.
Установка и настройка
Процесс настройки AWS Site-to-Site VPN включает несколько шагов:
- Создание виртуального частного шлюза (VGW) в регионе AWS и прикрепление его к VPC.
- Создание объекта Customer Gateway (CGW) с указанием публичного IP-адреса локального маршрутизатора и других параметров.
- Создание VPN-соединения, которое связывает VGW и CGW. На этом этапе AWS генерирует конфигурационные данные для двух туннелей.
- Настройка локального маршрутизатора в соответствии с предоставленной конфигурацией: установка IPsec-параметров (IKE версия, алгоритмы шифрования и аутентификации, время жизни ключей), настройка туннельных интерфейсов и маршрутизации.
- Настройка таблиц маршрутизации в VPC: добавление статических маршрутов для локальной сети (например, 10.0.0.0/8) с указанием VGW в качестве шлюза. Аналогично на локальном маршрутизаторе прописываются маршруты для подсетей VPC (например, 172.31.0.0/16) через туннельные интерфейсы.
- Проверка соединения: после завершения настройки туннели должны перейти в состояние «UP». Тестирование выполняется с помощью ping или traceroute между ресурсами в VPC и локальной сети.
Протоколы и безопасность
AWS Site-to-Site VPN использует стандартный протокол IPsec в режиме туннеля (tunnel mode). Поддерживаются две версии протокола IKE (Internet Key Exchange):
- IKEv1 — более старая версия, всё ещё широко поддерживаемая на устаревшем оборудовании.
- IKEv2 — современная версия, обеспечивающая лучшую производительность и устойчивость к сбоям (например, возможность быстрого восстановления туннеля после перезагрузки).
Для шифрования трафика AWS поддерживает алгоритмы AES-128, AES-256, а также 3DES (устаревший). Для аутентификации используется HMAC-SHA1, HMAC-SHA256, HMAC-SHA384 или HMAC-SHA512. В качестве метода аутентификации применяется предварительный ключ (PSK) или сертификаты (при использовании AWS Certificate Manager Private CA). По умолчанию каждый туннель использует уникальный PSK длиной 32 символа.
Для обеспечения высокой доступности AWS создаёт два туннеля с разными IP-адресами. Если один из туннелей выходит из строя (например, из-за проблем с интернет-провайдером или сбоя на оборудовании), трафик автоматически перенаправляется на второй туннель. Время переключения обычно составляет от нескольких секунд до минуты.
Маршрутизация
AWS Site-to-Site VPN поддерживает два режима маршрутизации:
- Статическая маршрутизация: администратор вручную прописывает маршруты в таблицах маршрутизации VPC и на локальном маршрутизаторе. Этот режим прост в настройке, но не масштабируется для сложных сетей.
- Динамическая маршрутизация (BGP): используется протокол BGP (Border Gateway Protocol) для автоматического обмена маршрутами между VGW и локальным маршрутизатором. Для этого на стороне AWS создаётся виртуальный частный шлюз с поддержкой BGP, а на локальном маршрутизаторе настраивается BGP-сессия с указанием номера автономной системы (ASN). BGP позволяет автоматически распространять изменения маршрутов, что упрощает управление и повышает отказоустойчивость.
Производительность и ограничения
Максимальная пропускная способность одного VPN-туннеля зависит от типа шлюза:
- Для VGW — до 1,25 Гбит/с на один туннель (агрегированная пропускная способность двух туннелей может достигать 2,5 Гбит/с).
- Для Transit Gateway — до 50 Гбит/с на одно VPN-подключение при использовании ускоренных туннелей (accelerated VPN), что достигается за счёт интеграции с AWS Global Accelerator.
Ограничения включают:
- Максимальное количество VPN-соединений на один VGW — 50 (по умолчанию, может быть увеличено по запросу).
- Максимальное количество VPN-соединений на один Transit Gateway — 5000.
- Максимальная длина пакета (MTU) — 1500 байт.
- Задержка (latency) зависит от географического расстояния между локальной сетью и регионом AWS, а также от качества интернет-канала.
Стоимость
AWS Site-to-Site VPN тарифицируется по нескольким компонентам:
- Почасовая плата за VPN-соединение — фиксированная стоимость за каждый активный туннель (обычно около $0,05 в час за соединение, но может варьироваться в зависимости от региона).
- Плата за передачу данных — трафик, проходящий через VPN-туннель, тарифицируется как обычный интернет-трафик AWS (входящий трафик обычно бесплатен, исходящий — по стандартным тарифам).
- Плата за Transit Gateway — если используется TGW, взимается отдельная почасовая плата за каждый шлюз и за обработанный трафик.
Варианты использования
AWS Site-to-Site VPN применяется в следующих сценариях:
- Гибридные облачные архитектуры: подключение локального дата-центра к VPC для миграции данных, резервного копирования или аварийного восстановления.
- Удалённый доступ к ресурсам в облаке: сотрудники или филиалы организации могут подключаться к VPC через корпоративную сеть.
- Изоляция и безопасность: шифрование трафика между локальной сетью и облаком для соответствия требованиям комплаенса (например, PCI DSS, HIPAA, GDPR).
- Многорегиональные развёртывания: соединение нескольких VPC в разных регионах через локальную сеть с использованием Transit Gateway.
Альтернативы и сравнение
AWS предлагает несколько альтернативных способов подключения локальной сети к облаку:
- AWS Direct Connect — выделенное физическое соединение через партнёров AWS, обеспечивающее более низкую задержку и стабильную пропускную способность, но требующее физической инфраструктуры и более высокой стоимости.
- AWS Client VPN — управляемый сервис для удалённого доступа отдельных пользователей (клиентов) к VPC, использующий протокол OpenVPN.
- AWS Transit Gateway Connect — расширение Transit Gateway, позволяющее подключать сторонние VPN-устройства или SD-WAN-решения.
По сравнению с Direct Connect, Site-to-Site VPN дешевле и быстрее разворачивается, но имеет более высокую задержку и меньшую пропускную способность. Для критически важных приложений часто используется комбинированная архитектура: Direct Connect в качестве основного канала, а VPN — как резервный.
Интересные факты
- AWS Site-to-Site VPN поддерживает до 16 BGP-маршрутов на одно VPN-соединение.
- Сервис интегрирован с AWS CloudWatch, что позволяет отслеживать состояние туннелей, объём трафика и количество ошибок.
- Для повышения надёжности рекомендуется настраивать BGP-таймеры (keepalive и hold time) на локальном маршрутизаторе в соответствии с рекомендациями AWS (по умолчанию 10 и 30 секунд соответственно).
- AWS предоставляет утилиту VPN CloudHub — архитектурный шаблон, который позволяет подключать несколько локальных сетей к одному VGW, образуя распределённую сеть.
Источники
- AWS Documentation: «Site-to-Site VPN» (Amazon Web Services, 2024).
- AWS Whitepaper: «AWS Hybrid Cloud Networking» (Amazon Web Services, 2023).
- AWS User Guide: «VPN Connections» (Amazon Web Services, 2024).
- RFC 4301: «Security Architecture for the Internet Protocol» (IETF, 2005).
- RFC 7296: «Internet Key Exchange Protocol Version 2 (IKEv2)» (IETF, 2014).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →