Шлюз Azure с виртуальной сетью

У меня есть несколько вопросов по настройке шлюза и виртуальной машины, так что вот что у меня есть на самом деле.

У меня есть шлюз приложений и две виртуальные машины Ubuntu, все размещено в Azure. Все они находятся в одной виртуальной сети. Обе виртуальные машины имеют только частный IP-адрес (10.1.0.4 и 10.1.0.5), а шлюз имеет частный IP-адрес (10.1.1.4) и общедоступный IP-адрес. Поскольку только шлюз имеет общедоступный IP-адрес, я думаю, что все должно проходить через него, и это то, что я хочу.

Цели, которые я пытаюсь достичь:

  • Сделать балансировщик нагрузки на порт 1680, перенаправить на порт 1680.

  • Чтобы перенаправить SSH каждой виртуальной машины для подключения конкретно к одной, потому что на данный момент у них нет общедоступного IP-адреса. Можно ли это сделать с помощью правила на основе пути? Например, www.example.com/VM1 для подключения по SSH к первой виртуальной машине? Если нет, то что можно использовать, чтобы различать SSH-подключение ВМ1 и ВМ2?

  • Перенаправить порт 80 шлюза на порт 8080 конкретной ВМ. Как и в моем предыдущем примере, www.example.com/adminPanelVM1 для подключения к первой виртуальной машине через порт 80 (перенаправление на порт 8080 на виртуальной машине).

Мне уже удалось создать перенаправление порта 1680 шлюза с параметром HTTP, прослушивателем и правилом.


person Takah    schedule 12.04.2018    source источник


Ответы (1)


Шлюз приложений Azure

Шлюз приложений Azure работает на уровне 7 в модели OSI по протоколам HTTP/HTTPS/WebSocket, поэтому любой другой протокол (например, SSH) не может маршрутизироваться.

У вас есть несколько вариантов.

Вы можете использовать группу безопасности сети или NSG для управления доступом к вашим виртуальным машинам. В NSG вы определяете, откуда может поступать трафик, которому разрешен доступ к виртуальным машинам.

NSG ведет себя как список управления доступом, фильтруя трафик на основе информации об источнике и получателе и оценивая правила в порядке приоритета. Дополнительные сведения о группах безопасности сети см. на этой странице. .

Другой вариант — использовать балансировщик нагрузки.

Балансировщик нагрузки Azure

Если вам нужно выполнить сопоставление портов, как вы описываете в своем вопросе, то простой балансировщик нагрузки может быть лучшим решением для вас. Azure Load Balancer работает на более низком уровне модели OSI, а именно на уровне 4 (транспортный уровень), обрабатывая трафик TCP/UDP.

Итак, если вы используете балансировщик нагрузки, вы можете настроить правила NAT для перенаправления вашего трафика на определенные машины, другими словами, если вы хотите:

  • Порт 1234 LB перенаправляет на порт 22 ВМ1 и
  • Порт 4312 LB перенаправляет на порт 22 VM2

вы можете сделать это с помощью PowerShell, как описано в Создание общедоступного балансировщика нагрузки в Resource Manager с помощью PowerShell.

Здесь довольно много шагов, но он проведет вас через весь процесс создания правил NAT, сетевых адаптеров и связанных виртуальных машин.

Шлюз приложений Azure и балансировщик нагрузки Azure?

Эти две службы являются совершенно разными службами и пытаются решить разные проблемы, хотя эти проблемы могут выглядеть одинаково :)

Основные области применения шлюза приложений:

  • SSL-терминация
  • сходство сеансов на основе файлов cookie
  • циклический перебор для балансировки нагрузки трафика

Где служба Azure Load Balancer работает на уровне TCP/UDP и поддерживает, например. сопоставление портов.

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

Есть много отличных статей на эту тему, когда какой сервис выбрать. Смотрите, например, ссылки для более подробной информации

person kim    schedule 12.04.2018
comment
Здравствуйте, спасибо за ваше время. Раньше я использовал Azure Load Balancer. Но поскольку я хотел, чтобы запрос к порту 8080 и 1680 был зашифрован, мне пришлось настроить SSL-соединение, а балансировщик нагрузки не может этого сделать. Как мне сбалансировать нагрузку на мои виртуальные машины с помощью уровня SSL? - person Takah; 12.04.2018
comment
Если вам нужна разгрузка SSL, вам подойдет Шлюз приложений. Затем можно организовать подключение к виртуальным машинам, предоставив виртуальным машинам отдельные внешние IP-адреса и защитив их с помощью группы безопасности сети. Однако с точки зрения безопасности не рекомендуется давать внешние IP-адреса внутренним виртуальным машинам. Вместо этого сначала используйте машину перехода, чтобы подключиться к ней, а затем подключитесь с нее к внутренним машинам. Используйте безопасное соединение для прыжковой машины, например. точка-точка (P2S) VPN. См. docs.microsoft.com/en-us/azure/security. / для подробной информации - person kim; 12.04.2018