Поделиться через


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

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

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

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

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

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

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

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

Чтобы узнать исходящие IP-адреса, используемые приложением в портал Azure, выберите "Свойства" в области навигации слева. Они перечислены в поле исходящих 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-адрес. Интеграция виртуальной сети доступна в планах "Базовый", "Стандартный", "Премиум", "Премиум2" и "ПремиумV Служба приложений 3". Дополнительные сведения об этой настройке см. в разделе Интеграция шлюза NAT.

Тег службы

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

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

Тег можно использовать для разрешения исходящего трафика в группе безопасности сети (NSG) в приложения. Если приложение использует ПРОТОКОЛ TLS на основе IP-адресов или приложение развертывается в изолированном режиме, необходимо использовать выделенный IP-адрес.

Примечание.

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

Следующие шаги