Связь между службой приложений Azure и службой приложений по частной ссылке

#azure #azure-web-app-service #azure-virtual-network

#azure #azure-web-app-service #azure-виртуальная сеть

Вопрос:

У меня есть приложение Azure с двумя службами приложений. Служба приложений A вызывает API для службы приложений B.

Я хочу использовать частную ссылку, чтобы убедиться, что трафик между ними является частным и не проходит через общедоступный IP. Итак, вот что я сделал:

  1. Создана новая виртуальная сеть
  2. Настроенная частная конечная точка из двух служб приложений в новую виртуальную сеть с интеграцией частного DNS
  3. Убедитесь, что частный DNS создан, связан с новой виртуальной сетью, и в нем зарегистрированы обе службы.
  4. Убедился, что обе службы недоступны публично (я получаю 403)
  5. Для тестирования: создал новую виртуальную машину в виртуальной сети и убедился, что я могу переходить от виртуальной машины к службам. Работает нормально. Я просмотрел службы, используя их исходный URL: serviceX.azurewebsites.net .

Однако, когда я пытаюсь вызвать службу B из службы A (используя тот же URL-адрес — serviceb.azurewebsites.net ), я получаю 403 (Запрещено).

Чего мне не хватает?

Как я могу сделать так, чтобы две службы приложений, подключенные по частной ссылке к одной и той же виртуальной сети, соединялись друг с другом?

Ответ №1:

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

От использования частных конечных точек для веб-приложения Azure,

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

Также обратите внимание, что

Если вы перенаправляете весь исходящий трафик в свою виртуальную сеть, на него распространяются NSG и UDR, которые применяются к вашей подсети интеграции. При маршрутизации всего исходящего трафика в виртуальную сеть исходящие адреса остаются исходящими адресами, указанными в свойствах приложения, если не указаны маршруты для отправки трафика в другое место.

Кроме того, если вы установите WEBSITE_VNET_ROUTE_ALL в настройках приложения значение 1 , это повлияет на все ваши исходящие вызовы, и если вы хотите, чтобы ваше приложение использовало частные зоны DNS Azure, вы должны установить WEBSITE_DNS_SERVER значение со значением 168.63.129.16 .

Комментарии:

1. Забыл упомянуть в своем вопросе — я уже установил WEBSITE_VNET_ROUTE_ALL и WEBSITE_DNS_SERVER. Должен ли я добавить интеграцию с виртуальной сетью поверх нее?

2. ДА. Необходимо включить интеграцию виртуальной сети в отдельной подсети в той же виртуальной сети.

3. Спасибо! Это сделало это.