Внутренний нагрузочный балансировщик 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-адресами внешнего интерфейса с разными портами, он работает для меня.