Внутренняя сеть Azure с балансировкой нагрузки с VNet Gateway с P2S VPN

Как следует из названия, мне нужно создать внутренний шлюз с балансировкой нагрузки с VPN. Я разработчик, поэтому работа в сети - не моя сильная сторона.

У меня есть две идентичные виртуальные машины (VM1 в зоне доступности 1 и VM2 в зоне доступности 2), и мне нужно разделить трафик VPN между ними. Мой клиент предоставил диапазон из 5 адресов, которые будут настроены на его брандмауэре, поэтому я выберу один для них, и они затем должны будут забыть о внутренней маршрутизации.

Моя конечная цель - разрешить клиенту подключаться через VPN к одному IP-адресу (в выделенном им диапазоне) и позволить Azure направлять трафик в основном на VM1, но при сбое на VM2, если зона доступности 1 выходит из строя. Клиент должен не знать, к какой виртуальной машине он в конечном итоге подключится.

Моя проблема заключается в том, что я не могу создать конфигурацию, в которой статический IP-адрес балансировщика нагрузки находится в диапазоне адресов пула адресов VPN P2S шлюза. Azure требует, чтобы пул адресов P2S находился за пределами адресного пространства виртуальной сети, а балансировщик нагрузки должен использовать подсеть виртуальной сети (которая, очевидно, находится внутри адресного пространства виртуальной сети, поэтому я застрял.

Я могу создать GW -> Vnet -> подсеть -> VM1/VM2 без проблем, используя указанный диапазон IP-адресов клиента для P2S VPN, но без балансировщика нагрузки, как мне тогда направлять трафик между виртуальными машинами?

например (IP-адреса являются гипотетическими)

  • Диапазон адресов Vnet - 172.10.0.0/16.
  • Подсеть шлюза 172.10.10.0/24
  • Пул адресов P2S шлюза - 172.5.5.5/29.
  • IP-адрес VM1 172.10.10.4
  • IP-адрес VM2 172.10.10.5

Я могу создать балансировщик нагрузки для использования Vnet (и виртуальных машин в бэкэнд-пуле), но тогда его статический IP-адрес должен попадать в подсеть VNet и, следовательно, выходить за пределы пула адресов P2S. Так как мне этого добиться?

Я думал о создании второй виртуальной сети и соответствующего шлюза и связывании шлюзов, но я, похоже, оказался в одной лодке

ОБНОВЛЕНИЕ: вот изображение моей диаграммы VNet. На данный момент я только добавил одну из виртуальных машин (NSPHiAvail1), но VM2 будет в том же внутреннем пуле LB

NSP_Address_Range - это диапазон, подсеть виртуальной сети и диапазон, определяемый клиентом. Балансировщик нагрузки имеет IP-интерфейс в этом диапазоне

2 ответа

Решение

Моей проблемой были правила балансировки нагрузки - или их отсутствие. После того, как я добавил правило для порта 1433 (SQL Server), я смог запросить базу данных из моего локального экземпляра SSMS.

Есть другое решение, которое НАМНОГО проще, чем решение, которое я пытался реализовать, НО оно не работает, если учесть внутренний балансировщик нагрузки

Наборы масштабирования виртуальных машин Azure реализуют столько виртуальных машин, сколько я укажу, и автоматически переключатся в другую зону, если она выйдет из строя. Мне не нужен аспект масштабируемости, поэтому я отключил это, и я использую только аспект балансировки нагрузки.

Примечание. Эта настройка предоставляет только публичный IP-адрес, и вы не можете назначить внутренний балансировщик нагрузки в сочетании с общедоступным балансировщиком нагрузки по умолчанию.

Вот немного информации:

Краткое руководство: создание набора масштабов виртуальных машин на портале Azure

Создайте набор масштабов виртуальной машины, который использует зоны доступности

Сеть для наборов масштабирования виртуальных машин Azure

Наборы масштабов виртуальной машины

Стоимость - это то, что вы платите за отдельные виртуальные машины, но балансировка нагрузки включена. Так что это дешевле, чем решение, которое я описал в своем вопросе. Бонус!

Во-первых, балансировщик нагрузки Azure выполняет циклическое распределение нагрузки для новых входящих TCP-соединений, его нельзя использовать для восстановления после отказа.

Моя проблема заключается в том, что я не могу создать конфигурацию, в которой статический IP-адрес балансировщика нагрузки находится в диапазоне адресов пула адресов VPN P2S шлюза.

Вам не нужно добавлять внешний IP-адрес балансировщика нагрузки в пул адресов P2S, пул адресов используется для клиентов, подключающихся к вашей виртуальной сети Azure.

Как правило, вы можете настроить шлюз P2S VPN, создать подсеть шлюза и vmsubnet и создать балансировщик нагрузки внутреннего стандарта SKU в vmsubnet, а затем добавить виртуальные машины vmsubnet в бэкэнд-пул в качестве конечной цели балансировщика нагрузки и настроить Healthpro и правило балансировки нагрузки для балансировки нагрузки трафика. Если это так, вы можете получить доступ к внутренним виртуальным машинам с клиентов через частный IP-адрес балансировщика нагрузки.

Кроме того, вы можете знать некоторые ограничения относительно внутреннего балансировщика нагрузки.

Другие вопросы по тегам