Туннель IPsec, работающий через частный пиринг ExpressRoute, добавляет шифрование транспорту, который уже существует. Второй туннель повышает доступность конечной точки и совершенно ничего не делает для пути оператора под обоими. Эту разницу легко потерять, когда панели показывают два зелёных туннеля, а обзор проекта задаёт другой вопрос: какие отказы должно пережить это соединение? Сначала ответьте на него, а затем считайте туннели, потому что число зелёных индикаторов — свойство уровня шифрования, а число доменов отказа — свойство всего пути.

Начните с отказов, а не с зелёных туннелей

Напишите четыре строки, прежде чем что-либо рисовать: отказ одной конечной точки VPN или одного экземпляра пира, отказ одного локального маршрутизатора или соединения первого километра, отказ общего пути ExpressRoute и недоступность IPsec, пока частный пиринг всё ещё передаёт трафик. Каждая строка называет то, что проект должен сохранить, и каждой отвечает свой механизм.

FailureWhat must surviveWhat does not cover it
One VPN endpoint or instanceAn alternate encryption endpoint and a route to itA second tunnel terminating on the same instance
One local router or first mileIndependent local equipment and transport reachabilityAny number of logical tunnels
The ExpressRoute pathA separately designed surviving underlayAn IPsec tunnel layered on the same circuit
IPsec unavailable, peering upThe intended encrypted-only or approved fallback policyAssuming the tunnel is the only route

Microsoft документирует VPN «сайт-сайт» с частными IP-адресами через частный пиринг ExpressRoute и поддерживаемое сосуществование с интернет-подключениями «сайт-сайт». Это сосуществование — другая схема нижнего уровня, и оно не появляется просто потому, что вы добавили ещё одну конечную точку частного туннеля.

Домен отказа 1: конечная точка VPN

Два туннеля на одном шлюзе обычно представляют собой пары active-active, завершающиеся на одном и том же ресурсе на стороне Azure. Они защищают от проблемы одного туннеля или одного экземпляра и не защищают от того, что этот ресурс станет недоступным, будет перенастроен или исчерпает ёмкость. Резервирование конечной точки означает вторую поддерживаемую конечную точку с собственным путём и собственной конфигурацией плюс маршрут, способный до неё добраться.

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

az network vpn-connection show -g rg-connectivity -n vpn-to-hub   --query '{conn:connectionStatus,tunnels:tunnelConnectionStatus}'
az network vnet-gateway show -g rg-connectivity -n gw-hub   --query '{sku:sku.name,activeActive:enableBgp,peers:bgpSettings.peers}'

Если оба туннеля указывают на один шлюз с одним публичным IP, у вас резервирование конечной точки определённого и ограниченного вида. Возможно, именно это и требует требование, и так и следует формулировать, а не описывать как резервное соединение.

Домен отказа 2: локальный путь и оператор

Под шифрованием лежит физическая и коммерческая реальность: устройство на стороне клиента, кросс-соединение, сеть провайдера и точка пиринга. рекомендации по обеспечению доступности ExpressRoute прямо указывают, что резервирование от конца до конца включает сегменты клиента и поставщика услуг, а не только сторону Microsoft. Два логических пути, совместно использующих маршрутизатор, питание или соединение первого километра, всё равно разделяют эту зависимость.

Именно здесь проект обычно не проходит честный обзор. Два канала от одного оператора, завершающиеся в одном здании, на оборудовании из одного заказа, — это не два домена отказа. Это один домен отказа с двумя счетами.

Задайте оператору вопрос письменно: какие из этих путей расходятся, где и каково документированное поведение при отказе общего сегмента? Словесное заверение в ходе проектного звонка не переживёт аварию, для которой вы проектируете.

Домен отказа 3: маршрут, который сохраняется без IPsec

Частный пиринг и IPsec могут предлагать конкурирующие маршруты к одному и тому же префиксу приложения. Если защищённый маршрут исчезает, сохранившийся прямой маршрут ExpressRoute может оставаться пригодным — без уровня шифрования, который обеспечивал туннель. Допустимо ли это — решение политики, и именно его чаще всего оставляют неявным.

Требования к шифрованию и требования к доступности здесь действительно могут конфликтовать. «Любой сохранившийся маршрут считается успехом» — это утверждение о доступности, которое тихо отвечает «нет» на вопрос о шифровании. Запишите, что побеждает, для каких префиксов и кто это утвердил.

az network vnet-gateway list-advertised-routes -g rg-connectivity -n gw-hub --peer 10.0.0.1
az network vnet-gateway list-learned-routes -g rg-connectivity -n gw-hub -o table

Сравните изученные маршруты с префиксами, которых вы ожидали. Резервный путь, несущий небольшую административную нагрузку, может быть вполне достаточным для этой нагрузки и очень далёким от ёмкости, нужной производственному спросу, поэтому запишите допущение о ёмкости рядом с маршрутом.

Запишите три отдельные строки, а не один вердикт

Держите резервирование конечной точки, резервирование транспорта и восстановление после катастрофы отдельными записями в журнале проектирования, каждую со своим механизмом, своей проверкой и своим владельцем. Когда разбор инцидента спрашивает, почему соединение пережило перезапуск шлюза, но не пережило обрыв волокна, три строки отвечают одним предложением; одна галочка «резервное» этого не может.

Затем проверьте строки, которые можно проверить дёшево. Откажите один туннель и убедитесь, что трафик перемещается и снова шифруется. Отзовите один маршрут и убедитесь, что сохранившийся путь — именно тот, что вы задумали, а затем убедитесь, шифруется ли он по-прежнему. Задокументируйте отказы, которые не удалось смоделировать, потому что непроверенная строка — это допущение, и её следует так и помечать.

Полезный результат — короткая таблица плюс по одному предложению на строку. Если у строки нет механизма, это и есть находка, и обнаружить её на обзоре проекта гораздо дешевле, чем во время аварии оператора, которую оба туннеля никогда бы не пережили.

Похожие статьи