Проектирование подключения шлюза с высоким уровнем доступности для подключений между локальными и виртуальными сетями
В этой статье показано, как разработать высокодоступное подключение шлюза для подключений между локальными и виртуальными сетями.
Об избыточности VPN-шлюза
Каждый VPN-шлюз Azure состоит из двух экземпляров: активного и резервного. При запланированном обслуживании или незапланированном простое активного экземпляра выполняется автоматический переход (отработка отказа) на резервный экземпляр. Это позволяет возобновить VPN-подключение типа "сеть — сеть" или подключение типа "виртуальная сеть — виртуальная сеть". Переключение сопровождается кратким прерыванием работы. При плановом обслуживании подключение должно быть восстановлено в течение 10–15 секунд. При незапланированных проблемах восстановление подключения превышает 1–3 минуты в худшем случае. Для подключений VPN-клиента P2S к шлюзу подключения P2S отключены, а пользователи должны повторно подключиться с клиентских компьютеров.
Высокодоступная распределенная среда
Есть несколько способов обеспечить высокую доступность распределенных подключений:
- Использование нескольких локальных VPN-устройств
- Использование VPN-шлюза Azure в конфигурации "активный — активный"
- сочетание этих двух вариантов.
Использование нескольких локальных VPN-устройств
Вы можете использовать несколько VPN-устройств из локальной сети для подключения к VPN-шлюзу Azure, как показано на следующей схеме.
Такая конфигурация обеспечивает топологию из нескольких активных туннелей между одним VPN-шлюзом Azure и локальными устройствами в одном и том же расположении. Применимые требования и ограничения:
- Вам нужно создать несколько VPN-подключений типа "сеть — сеть" между VPN-устройствами и средой Azure. При подключении нескольких VPN-устройств из одной и той же локальной сети к среде Azure вам нужно создать по одному шлюзу локальной сети для каждого VPN-устройства, а также одно подключение между VPN-шлюзом Azure и каждым шлюзом локальной сети.
- Для шлюзов локальной сети, связанных с VPN-устройствами, нужно указать уникальные общедоступные IP-адреса в свойстве GatewayIpAddress.
- Для этой конфигурации требуется BGP. Для каждого шлюза локальной сети, представляющего VPN-устройство, нужно указать уникальный IP-адрес для узла BGP в свойстве BgpPeerIpAddress.
- Используйте BGP для объявления VPN-шлюзу Azure одинаковых диапазонов IP-адресов из одинаковых локальных сетей, и трафик будет направляться одновременно во все эти туннели.
- Необходимо использовать стратегию маршрутизации ECMP (Equal-Cost Multi-Path).
- Каждое подключение учитывается по максимальному количеству туннелей для VPN-шлюза Azure. На странице параметров VPN-шлюз приведены последние сведения о туннелях, подключениях и пропускной способности.
Так как в этой конфигурации VPN-шлюз Azure по-прежнему работает в режиме "активный — резервный", отработка отказа будет сопровождаться кратким прерыванием работы, как описано выше. Тем не менее эта конфигурация помогает защититься от сбоев и перерывов в работе локальной сети и VPN-устройств.
VPN-шлюзы по схеме "активный — активный"
Vpn-шлюз Azure можно создать в конфигурации active-active, где оба экземпляра виртуальных машин шлюза устанавливают VPN-туннели S2S на локальном VPN-устройстве, как показано на следующей схеме:
В этой конфигурации каждый экземпляр шлюза Azure имеет уникальный общедоступный IP-адрес, и каждый из них устанавливает VPN-туннель IPsec/IKE S2S на локальное VPN-устройство, указанное в шлюзе локальной сети и подключении. Оба VPN-туннеля на самом деле являются частью одного соединения. Вам по-прежнему потребуется настроить локальное VPN-устройство, чтобы принять или установить два VPN-туннеля S2S для этих двух общедоступных IP-адресов VPN-шлюза Azure.
Так как экземпляры шлюза Azure находятся в активной конфигурации, трафик из виртуальной сети Azure в локальную сеть будет перенаправлен по обоим туннелям одновременно, даже если локальное VPN-устройство может использовать один туннель через другой. Для одного потока TCP или UDP Azure пытается использовать один и тот же туннель при отправке пакетов в локальную сеть. Однако локальная сеть для отправки пакетов в Azure может использовать другой туннель.
При запланированном обслуживании одного из экземпляров шлюза или его сбое IPsec-туннель между таким экземпляром и локальным VPN-устройством будет закрыт. Связанные с VPN-устройствами маршруты следует удалить (это может произойти автоматически), чтобы перенаправить трафик в другой активный IPsec-туннель. На стороне Azure переключение между неактивным и активным экземплярами выполняется автоматически.
Двойная избыточность: VPN-шлюзы Azure в конфигурации "активный — активный" для сетей Azure и локальных сетей
Наиболее надежным вариантом является объединение шлюзов active-active как в вашей сети, так и в Azure, как показано на следующей схеме.
Вам нужно создать и настроить VPN-шлюз Azure в конфигурации "активный — активный", а также создать два шлюза локальной сети и установить два подключения для двух локальных VPN-устройств, как описано выше. В результате вы получите топологию из четырех IPsec-туннелей, где каждая виртуальная сеть Azure соединяется с каждой локальной сетью.
Все шлюзы и туннели активны с стороны Azure, поэтому трафик распространяется между всеми 4 туннелями одновременно, хотя каждый поток TCP или UDP снова будет следовать одному туннелю или пути с стороны Azure. Распределение трафика может сопровождаться некоторым повышением пропускной способности через IPsec-туннели, однако основная задача этой конфигурации — обеспечить высокую доступность. И из-за статистической природы распространения трудно обеспечить измерение того, как различные условия трафика приложений повлияют на статистическую пропускную способность.
Для этой топологии требуется два шлюза локальной сети и два подключения для поддержки пары локальных VPN-устройств, и BGP требуется для обеспечения одновременного подключения к двум подключениям к одной локальной сети. Эти требования аналогичны требованиям, описанным выше.
Высоконадежное подключение "виртуальная сеть — виртуальная сеть"
Конфигурацию "активный — активный" можно также применить к подключениям между виртуальными сетями Azure. Вы можете создать vpn-шлюзы active-active для обеих виртуальных сетей и подключить их вместе, чтобы сформировать одно и то же полное подключение к сетке 4 туннеля между двумя виртуальными сетями, как показано на следующей схеме:
Так вы обеспечите постоянное наличие пары туннелей между двумя виртуальными сетями при плановом обслуживании любого типа, делая подключение высокодоступным. Хотя аналогичная топология для распределенного подключения предполагает два подключения, для описанной выше сетевой топологии с виртуальными сетями требуется только одно подключение для каждого шлюза. Кроме того, здесь можно не использовать BGP, если только вам не нужно обеспечить транзитную маршрутизацию при подключении между виртуальными сетями.
Следующие шаги
Сведения о настройке шлюзов active-active с помощью портал Azure или PowerShell.