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

Важно!

Эта статья о Среде службы приложений версии 2, которая используется с планами Службы приложений (ценовая категория "Изолированный") Поддержка среды службы приложений версии 2 будет прекращена 31 августа 2024 года. Имеется новая версия среды службы приложений, которая проще в использовании и которая работает на более мощной инфраструктуре. Чтобы узнать больше о новой версии, начните с изучения статьи Введение в Среду службы приложений. Если вы используете Среду службы приложений версии 2, выполните действия, описанные в этой статье, чтобы перейти на новую версию.

С 29 января 2024 г. вы больше не можете создавать новые ресурсы Среда службы приложений версии 2 с помощью любого из доступных методов, включая шаблоны ARM/Bicep, портал Azure, Azure CLI или REST API. Необходимо выполнить миграцию в Среда службы приложений версии 3 до 31 августа 2024 г., чтобы предотвратить удаление ресурсов и потерю данных.

Среда службы приложений Azure — это Служба приложений Azure, развернутая в подсети виртуальной сети Azure. Существует два способа развертывания среды службы приложений (ASE):

  • с виртуальным IP-адресом на основе внешнего IP-адреса, что часто называют внешней средой ASE;
  • с виртуальным IP-адресом на основе внутреннего IP-адреса, что часто называют средой службы приложений с внутренним балансировщиком нагрузки, так как внутренней конечной точкой является внутренний балансировщик нагрузки (ILB).

В этой статье показано, как создать ASE с внутренним балансировщиком нагрузки. См. о среде службы приложений. См. о создании внешней Среды службы приложений.

Обзор

Вы можете развернуть ASE с конечной точкой, доступной из Интернета, или IP-адресом в вашей виртуальной сети. Чтобы задать IP-адрес виртуальной сети, среду службы приложений необходимо развернуть с внутренним балансировщиком нагрузки. При развертывании ASE с внутренней подсистемой балансировки нагрузки необходимо указать имя ASE. Имя ASE используется в суффиксе домена для приложений в ASE. Суффикс домена для ASE с внутренней подсистемой балансировки нагрузки — <имя_ASE>.appserviceenvironment.net. Приложения, которые выполняются в ASE с внутренней подсистемой балансировки нагрузки, не размещаются в общедоступной службе DNS.

Более ранние версии ASE с внутренней подсистемой балансировки нагрузки требовали указать суффикс домена и сертификат по умолчанию для подключений по протоколу HTTPS. Суффикс домена больше не добавляется при создании ASE с внутренней подсистемой балансировки нагрузки, как и сертификат по умолчанию. Теперь при создании ASE с внутренней подсистемой балансировки нагрузки сертификат по умолчанию предоставляется корпорацией Майкрософт. Этот сертификат считается браузером надежным. Вы по-прежнему можете настроить имена личных доменов для приложений в ASE и установить сертификаты для этих имен.

ASE с внутренней подсистемой балансировки нагрузки обеспечивает следующие возможности.

  • Безопасное размещение в облаке приложений из интрасети, доступ к которым осуществляется через подключение типа "сеть — сеть" или ExpressRoute.
  • Защита приложений с помощью устройства WAF.
  • Размещение в облаке приложений, которые не указаны на общедоступных DNS-серверах.
  • Создание изолированных от Интернета внутренних приложений, с которыми можно безопасно интегрировать свои внешние приложения.

Отключенные функциональные возможности

Существуют некоторые функции, недоступные при использовании ASE с внутренним балансировщиком нагрузки.

  • Использование привязки TLS/SSL на основе IP-адреса.
  • Назначение IP-адресов конкретным приложениям.
  • Приобретение и использование сертификата с приложением на портале Azure. Вы можете получить сертификаты непосредственно в центре сертификации и использовать их вместе со своими приложениями. Их нельзя получить на портале Azure.

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

Чтобы создать ASE с внутренним балансировщиком нагрузки, выполните следующее.

  1. На портале Azure выберите Создать ресурс>Интернет>Среда службы приложений.

  2. Выберите свою подписку.

  3. Выберите или создайте группу ресурсов.

  4. Введите имя своей Среды службы приложений.

  5. Выберите тип виртуального IP-адреса — "Внутренний".

    ASE creation

Примечание.

Имя Среда службы приложений должно быть не более 36 символов.

  1. Выберите "Сети".

  2. Выберите или создайте виртуальную сеть. Если вы создаете виртуальную сеть, она будет определена с диапазоном адресов 192.168.250.0/23. Чтобы создать виртуальную сеть с другим диапазоном адресов или в группе ресурсов, отличной от группы ресурсов ASE, используйте портал создания виртуальных сетей Azure.

  3. Выберите или создайте пустую подсеть. Если вы хотите выбрать подсеть, она должна быть пустой и неделегированной. Размер подсети невозможно изменить после создания ASE. Рекомендуемый размер — /24. Такая подсеть содержит 256 адресов и может обслуживать среду службы приложений максимального размера и любые потребности масштабирования.

    ASE networking

  4. Выберите Просмотр и создание, затем выберите Создать.

Создание приложения в ASE с внутренним балансировщиком нагрузки

Создание приложения в обычной среде ASE и в ASE с внутренним балансировщиком нагрузки ничем не отличается.

  1. На портале Azure щелкните Создать ресурс>Интернет>Веб-приложение.

  2. Введите имя приложения.

  3. Выберите подписку.

  4. Выберите или создайте группу ресурсов.

  5. Выберите параметры публикации, стека времени выполнения и операционной системы.

  6. Выберите расположение — имеющуюся ASE с внутренней подсистемой балансировки нагрузки. Можно также создать новую ASE при создании приложения, выбрав план службы приложений "Изолированный". Если вы хотите создать ASE, выберите регион для ее создания.

  7. Выбор или создание плана службы приложений

  8. Выберите Просмотр и создание. Завершив проверку параметров, выберите Создать.

Веб-задания, функции и ASE с ILB

Функции и веб-задания поддерживаются в ASE с ILB, но чтобы работать с ними на портале, необходимо иметь сетевой доступ к сайту диспетчера служб. Это означает, что браузер должен быть запущен на узле, который либо находится в виртуальной сети, либо подключен к ней. Если ASE с внутренней подсистемой балансировки нагрузки использует доменное имя, которое не оканчивается на appserviceenvironment.net, вам потребуется настроить в браузере доверие к сертификату HTTPS, используемому вашим сайтом scm.

DNS configuration (Настройка DNS)

При использовании внешней ASE созданные в ASE приложения регистрируются с помощью Azure DNS. При использовании внешней ASE нет дополнительных шагов, чтобы сделать приложения общедоступными. В ASE с внутренним балансировщиком нагрузки (ILB) необходимо управлять собственной службой DNS. Это можно сделать на собственном DNS-сервере или с помощью частных зон Azure DNS.

Чтобы настроить DNS на собственном DNS-сервере с помощью ASE с внутренним балансировщиком нагрузки (ILB), выполните следующие действия:

  1. создайте зону для <ASE name.appserviceenvironment.net>
  2. создайте запись A в этой зоне, которая указывает (*) на IP-адрес внутренней подсистемы балансировки нагрузки;
  3. создайте запись A в этой зоне, которая указывает (@) на IP-адрес внутренней подсистемы балансировки нагрузки.
  4. создание зоны в <ASE name.appserviceenvironment.net> с именем scm
  5. создайте запись A в зоне scm, которая указывает (*) на IP-адрес внутренней подсистемы балансировки нагрузки.

Чтобы настроить DNS в частных зонах Azure DNS, выполните следующие действия:

  1. создайте частную зону Azure DNS с именем <имя_ASE>.appserviceenvironment.net;
  2. создайте запись A в этой зоне, которая указывает (*) на IP-адрес внутренней подсистемы балансировки нагрузки;
  3. создайте запись A в этой зоне, которая указывает (@) на IP-адрес внутренней подсистемы балансировки нагрузки.
  4. создайте запись A в зоне, которая указывает *.scm на IP-адрес внутреннего балансировщика нагрузки.

Параметры DNS для суффикса стандартного домена ASE не приводят к тому, что доступ к приложениям можно получить только по этим именам. Вы можете задать имя личного домена без проверки приложений в ASE с внутренним балансировщиком нагрузки (ILB). Если вы хотите создать зону с именем contoso.net, вы можете сделать это и указать на IP-адрес внутреннего балансировщика нагрузки. Имя личного домена работает для запросов приложений, но не для сайта scm. Сайт scm доступен только при использовании <имя_приложения>.scm.<имя_ASE>.appserviceenvironment.net.

Зона с именем .<имя_ASE>.appserviceenvironment.net является глобально уникальной. До мая 2019 года клиенты имели возможность указывать суффикс домена ASE с внутренним балансировщиком нагрузки (ILB). И если вы хотели использовать домен .contoso.com для суффикса домена, вы могли это сделать, и это изменение распространялось и на сайт scm. С этой моделью были проблемы, среди которых можно выделить: управление TLS/SSL-сертификатом по умолчанию, отсутствие единого входа для сайта scm, а также требование на использование шаблона сертификата. Процесс обновления стандартного сертификата ASE с внутренним балансировщиком нагрузки (ILB) также приводил к нарушению работы и перезапуску приложения. Чтобы устранить эти проблемы, ASE с внутренним балансировщиком нагрузки (ILB) теперь использует суффикс домена на основе имени ASE и суффикса, принадлежащего корпорации Майкрософт. Изменение поведения ASE с внутренним балансировщиком нагрузки (ILB) влияет только на среды ASE с внутренним балансировщиком нагрузки, созданные после мая 2019 года. Существовавшие ранее среды ASE с внутренним балансировщиком нагрузки (ILB) должны по-прежнему управлять стандартным сертификатом ASE и конфигурацией DNS.

Публикация с использованием ASE с внутренним балансировщиком нагрузки

Для каждого создаваемого приложения предоставляются две конечные точки. В ASE с внутренней подсистемой балансировки нагрузки (ILB) это <имя_приложения>.<домен_ASE_с_ILB> и <имя_приложения>.scm.<домен_ASE_с_ILB>.

Если выбрать имя сайта SCM, вы перейдете в консоль Kudu, которая называется расширенным порталом, на портале Azure. Консоль Kudu позволяет просматривать переменные среды, просматривать данные диска, использовать консоль и многое другое. См. о консоли Kudu для Службы приложений Azure.

Системы непрерывной интеграции (CI) на базе Интернета, такие как GitHub и Azure DevOps, будут по-прежнему работать со средой ASE с ILB, если агент сборки доступен через Интернет и размещен в той же сети, что и среда ASE с ILB. Поэтому в случае Azure DevOps, если агент сборки создан в той же виртуальной сети (подсеть не имеет значения), что и ASE с ILB, он сможет получать код из репозитория Git Azure DevOps и развертывать его в ASE с ILB. Если вы не хотите создавать собственный агент сборки, необходимо использовать систему непрерывной интеграции, которая использует модель извлечения, например Dropbox.

Для конечных точек публикации приложений в среде ASE с ILB используется домен, созданный вместе со средой. Этот домен можно увидеть в профиле публикации приложения и в колонке приложения на портале (в разделе Обзор>Основное и в разделе Свойства). Если у вас есть ASE с внутренней подсистемой балансировки нагрузки с суффиксом домена <имя ASE>.appserviceenvironment.net и приложение mytest, используйте mytest.<имя ASE>.appserviceenvironment.net для FTP и mytest.scm.contoso.net для развертывания MSDeploy.

Настройка устройства WAF для ASE с внутренней подсистемой балансировки нагрузки

Устройство WAF (брандмауэр веб-приложения) можно объединить с ASE с внутренней подсистемой балансировки нагрузки, чтобы предоставлять только приложения, которые должны быть доступны в Интернете, а остальные приложения оставить доступными только в виртуальной сети. Это, помимо прочего, позволяет создавать безопасные многоуровневые приложения.

См. о настройке ASE с внутренней подсистемой балансировки нагрузки и устройством WAF в руководстве по настройке брандмауэра веб-приложения для ASE. В этой статье объясняется, как использовать виртуальный модуль Barracuda со средой ASE. Другой способ — использовать шлюз приложений Azure. Шлюз приложений использует основные правила OWASP для защиты всех приложений, размещенных за этим шлюзом. См. о Шлюзе приложений в руководстве по брандмауэру веб-приложений Azure.

Среды ASE с внутренней подсистемой балансировки нагрузки, созданные до мая 2019 г.

Для сред ASE с внутренней подсистемой балансировки нагрузки, созданных до мая 2019 года, требовалось задать суффикс домена во время создания ASE. Для них также требовалось передать сертификат по умолчанию, который зависел от этого суффикса домена. Кроме того, более старая версия среды ASE с внутренней подсистемой балансировки нагрузки не позволяла выполнять единый вход в консоль Kudu с помощью приложений в этой среде. При настройке DNS для более старых версий ASE с внутренней подсистемой балансировки нагрузки необходимо задать запись А с подстановочным знаком в зоне, которая соответствует суффиксу домена. Для создания или изменения asE балансировки нагрузки с помощью суффикса личного домена требуется использовать шаблоны Azure Resource Manager и версию API до 2019 года. Последняя версия API поддержки — 2018-11-01это .

Начать