Внутренний нагрузочный балансировщик Azure, использующий 2 разных IP-интерфейса

Я хочу получить доступ к моей виртуальной машине (конкретному экземпляру SQL Server) через 2 разных IP-адреса, один для внутреннего использования и один конкретный IP-адрес, запрошенный клиентом, который они будут использовать. В моей виртуальной сети мне нужно 2 разных адресных пространства, потому что IP-адреса находятся далеко друг от друга. Мне также нужно 2 подсети, насколько я знаю (подсеть A и подсеть B).

В своем внутреннем распределителе нагрузки я добавил оба IP-адреса (в разных подсетях) в качестве внешних IP-адресов и добавил правило для перенаправления трафика на мой экземпляр виртуальной машины SQL Server (который находится в подсети A). Правила для разных портов, но SQL Server прослушивает оба порта, поэтому порт работает.

Однако... я не могу подключиться через 2-й (клиент запрашивает IP-адрес), даже если я переключаю порты, так что сам IP вызывает проблемы, возможно, потому что он находится в подсети B, а виртуальная машина находится в подсети A? это имеет смысл, потому что первый IP, который находится в адресном пространстве подсети A, работает?

В моем правиле балансировки нагрузки я могу указать целевую виртуальную машину и сетевой адаптер для обоих правил, поэтому я думаю, что 2 подсети не будут проблемой.

Моя конфигурация -------

1 (внутренний) балансировщик нагрузки:

IP-адреса внешнего интерфейса:

 10.4.2.250 (in subnet A, and addressspace 1)
 172.4.2.1 (in subnet B, and addressspace 2)

Backendpools (1 бассейн):

1 VM, in subnet A

Healthprobes (1 зонд):

1 probe, TCP port 1440

Правила балансировки нагрузки:

TCP 1440 to backendpool port 1440 with probe 1440
TCP 1450 to backendpool port 1450 with probe 1440

Мой экземпляр MSSQL настраивается через Sql Server Configuration Manager > Конфигурация сети SQL Server> Протоколы для MyInstance > Свойства TCP/IP

  Protocol -> Enabled = Yes, Listen All = Yes

  IP Addresses -> for all fields with 'TCP Port' = 1440,1450

1 ответ

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

Однако... я не могу подключиться через 2-й (клиент запросил IP-адрес) в качестве внешнего IP-адреса и добавил правило для перенаправления трафика на мой экземпляр виртуальной машины SQL Server (который находится в подсети A). Правила для разных портов, но SQL Server прослушивает оба порта, так что порт работает

Все виртуальные машины в одном Vnet? вы создаете внутренний балансировщик нагрузки, поэтому все виртуальные машины должны находиться в одном и том же Vnet, только в одном и том же Vnet, другие виртуальные машины могут взаимодействовать с внутренним балансировщиком нагрузки.

Сервер SQL прослушивает другие порты, поэтому порт работает.

Вы правильно настроили? Может быть, мы должны проверить это. создайте виртуальную машину в той же сети Vnet с SQL Server, затем используйте эту виртуальную машину для подключения SQL Server к различным портам. если это работает, это означает, что мы должны проверить конфигурацию балансировщика нагрузки, или мы проверим настройки порта сервера SQL.

Что касается внутреннего балансировщика нагрузки, мы можем добавить в него несколько внешних IP-адресов (один и тот же Vnet, разные подсети).

В моем тесте я настраиваю на нем веб-сервер и, прослушивая два порта (80 и 8080), добавляю в него два внутренних IP-адреса:
внешний IP-пул: sub1 10.0.1.5 sub2 10.0.2.9
бэкэнд-пулы: VM1 10.0.1.4
Проверка работоспособности: TCP-порт 80
Правила балансировки нагрузки:
1.sub1 фронтальный IP-адрес 10.0.1.5 порт 80
2.sub2 передний IP-адрес 10.0.2.9 порт 8080

Затем я создаю виртуальную машину в подсети2 и проверяю внутренний балансировщик нагрузки с разными IP-адресами внешнего интерфейса с разными портами, он работает для меня.

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