Входящие и исходящие IP-адреса в Службе приложений Azure

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

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

Как в службе приложений IP-адреса работают

Служба приложений выполняется в рамках плана службы приложений. Планы службы приложений развертываются в одну из единиц развертывания в инфраструктуре Azure (которая называется веб-пространством). Каждой единице развертывания назначается набор виртуальных IP-адресов, в который входит один общедоступный входящий IP-адрес и набор исходящих IP-адресов. Все планы службы приложений в одной единице развертывания, а также экземпляры приложений, которые в ней выполняются, используют один и тот же набор виртуальных IP-адресов. Для среды службы приложений (план службы приложений на изолированном уровне) план службы приложений и является единицей развертывания, поэтому виртуальные IP-адреса выделяется именно для него.

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

Если изменяется входящий IP-адрес

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

  • Удалите приложение и повторно создайте его в другой группе ресурсов (может измениться единица развертывания).
  • Удалите последнее приложение в группе ресурсов и комбинации регионов, затем создайте его заново (может измениться единица развертывания).
  • Удалите существующую привязку TLS/SSL по IP-адресу, например во время обновления сертификата (см. Обновление сертификата).

Поиск входящего IP-адреса

Просто выполните следующую команду в локальном терминале:

nslookup <app-name>.azurewebsites.net

Получение статического входящего IP-адреса

Для некоторых задач приложениям может потребоваться выделенный статический IP-адрес. Чтобы получить статический входящий IP-адрес, необходимо защитить пользовательское DNS-имя с помощью привязки сертификата на основе IP-адреса. Если для защиты приложения не требуются функции TLS, то для этой привязки можно передать самозаверяющий сертификат. В привязке TLS по IP-адресу сертификат привязан к самому IP-адресу, поэтому служба приложений Azure подготавливает для этого статический IP-адрес.

Если изменяются исходящие IP-адреса

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

Набор исходящих IP-адресов изменится, если вы сделаете что-либо из следующего:

  • удалите приложение и повторно создайте его в другой группе ресурсов (может измениться единица развертывания);
  • Удалите последнее приложение в группе ресурсов и комбинации регионов, затем создайте его заново (может измениться единица развертывания).
  • Масштабирование приложения между более низкими уровнями (Базовый, Стандартный и Премиум), Премиум V2 , Премиум V3 и Pmv3 уровня PremiumV3 (IP-адреса могут быть добавлены в набор или вычитаются из набора).

Набор всех возможных исходящих IP-адресов для приложения, независимо от ценовой категории, можно найти в свойстве possibleOutboundIpAddresses или в поле Дополнительные исходящие IP-адреса колонки Свойства на портале Azure. См. также раздел Поиск исходящих IP-адресов.

Обратите внимание, что набор всех возможных исходящих IP-адресов может со временем увеличиваться, если Служба приложений добавит новые ценовые категории или варианты к существующим Служба приложений развертываниям. Например, если Служба приложений добавит уровень PremiumV3 к существующему развертыванию Служба приложений, то набор всех возможных исходящих IP-адресов увеличится. Аналогичным образом, если Служба приложений добавит новые параметры Pmv3 в развертывание, которое уже поддерживает уровень PremiumV3, то набор всех возможных исходящих IP-адресов также увеличится. Это не оказывает немедленного влияния, так как исходящие IP-адреса для запущенных приложений не изменяются при добавлении новой ценовой категории или варианта в Служба приложений развертывании. Однако если приложения перейдут на новую ценовую категорию или вариант, который ранее не был доступен, будут использоваться новые исходящие адреса, и клиентам потребуется обновить подчиненные правила брандмауэра и ограничения IP-адресов.

Поиск исходящих IP-адресов

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

Эти же сведения можно получить, выполнив следующую команду в Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses

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

Эти же сведения можно получить, выполнив следующую команду в Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).PossibleOutboundIpAddresses

Получение статического исходящего IP-адреса

Вы можете контролировать IP-адрес исходящего трафика из своего приложения, используя интеграцию с региональной виртуальной сетью вместе со шлюзом NAT виртуальной сети для направления трафика через статический общедоступный IP-адрес. Интеграция с региональной виртуальной сетью доступна в планах Служба приложений "Базовый", "Стандартный", "Премиум", "Премиум", "Премиум V2" и "Премиум V3". Дополнительные сведения об этой настройке см. в разделе Интеграция шлюза NAT.

Дальнейшие действия

Узнайте, как ограничить входящий трафик по IP-адресам источников.