Использование среды службы приложений

Среда службы приложений — это развертывание Службы приложений Azure с одним клиентом. Вы используете ее с виртуальной сетью Azure и являетесь единственным пользователем этой системы. На развернутые приложения распространяются сетевые функции, применяемые к подсети. Для работы с этими параметрами сети не нужно включать в приложения никакие дополнительные компоненты.

Примечание.

В этой статье описывается Среда службы приложений версии 3, которая используется с изолированными планами Служба приложений версии 2.

Создать приложение

Для создания приложения в Среде службы приложений (ASE) можно использовать стандартный процесс, но с некоторыми небольшими отличиями. При создании плана службы приложений:

  • Вместо выбора географического расположения, в котором будет развернуто приложение, в качестве расположения выбирается ASE.
  • Все планы службы приложений, создаваемые в ASE, должны находиться в ценовой категории "Изолированный (версия 2)".

Если у вас еще нет ASE, создайте ее.

Чтобы создать приложение в ASE, выполните следующие действия.

  1. Последовательно выберите Создать ресурс>Интернет+мобильные устройства>Веб-приложение.
  2. Выберите подписку.
  3. Введите имя для новой группы ресурсов или щелкните Использовать существующую и выберите группу ресурсов из раскрывающегося списка.
  4. Введите название приложения. Если вы уже выбрали план службы приложений в ASE, доменное имя приложения будет отражать доменное имя ASE.
  5. Внесите необходимые изменения в параметры публикации, стека среды выполнения и операционной системы.
  6. Для региона выберите уже существующую ASE версии 3. Если вы хотите создать новую ASE, выберите регион. Screenshot that shows how to create an app in an App Service Environment.
  7. Выберите существующий план службы приложений или создайте новый. Если вы создаете новый план, выберите нужный размер для своего плана службы приложений. Единственная ценовая категория, которую можно выбрать для приложения — это "Изолированный v2". Создание плана службы приложений, как правило, занимает менее 20 минут. Screenshot that shows pricing tiers and their features and hardware.
  8. Если вы решили создать новую ASE в рамках создания нового плана службы приложений, укажите имя и тип виртуального IP-адреса.
  9. Нажмите кнопку "Далее": мониторинг. Если нужно включить в приложении Application Insights, это можно выполнить здесь, в процесс создания.
  10. Выберите Далее: теги, чтобы добавить в приложение все нужные теги.
  11. Выберите Review + create (Просмотреть и создать). Убедитесь, что все сведения указаны правильно, а затем нажмите Создать.

Приложения Linux и Windows могут находиться в одной ASE, но не могут быть в одном и том же плане службы приложений.

Как работает масштабирование

Каждая служба приложений выполняется в плане службы приложений. В средах службы приложений содержатся планы службы приложений, которые в свою очередь содержат приложения. При масштабировании приложения также выполняется масштабирование плана службы приложений и всех приложений в этом плане.

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

Операция масштабирования для одного сочетания размера и операционной системы не влияет на масштабирование для других сочетаний размера и операционной системы. Например, если выполняется масштабирование плана службы приложений Windows I2v2, операция масштабирования для плана службы приложений Windows I3v2 запускается немедленно. Масштабирование обычно занимает менее 15 минут.

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

Доступ к приложению

В ASE с внутренним виртуальным IP-адресом для создания приложения используется суффикс домена .<asename>.appserviceenvironment.net. Если имя вашей среды ASE — my-ase, а имя размещаемого в этой среде приложения — contoso, то получить к нему доступ можно по следующим URL-адресам:

  • contoso.my-ase.appserviceenvironment.net
  • contoso.scm.my-ase.appserviceenvironment.net

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

В ASE с внешним виртуальным IP-адресом для создания приложения используется суффикс домена .<asename>.p.azurewebsites.net. Если имя вашей среды ASE — my-ase, а имя размещаемого в этой среде приложения — contoso, то получить к нему доступ можно по следующим URL-адресам:

  • contoso.my-ase.p.azurewebsites.net
  • contoso.scm.my-ase.p.azurewebsites.net

URL-адрес scm используется для доступа к консоли Kudu или для публикации приложения с помощью веб-развертывания. См. о консоли Kudu для Службы приложений Azure. Консоль Kudu предоставляет пользовательский веб-интерфейс для отладки, передачи и редактирования файлов.

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

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

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

Чтобы найти входящий адрес, на портале ASE выберите IP-адреса.

Screenshot that shows how to find the inbound address.

Если нужно использовать собственный DNS-сервер, необходимо добавить следующие записи:

  1. Создайте зону для <App Service Environment-name>.appserviceenvironment.net.
  2. Создайте в этой зоне запись A, которая указывает * на входящий IP-адрес, используемый вашей ASE.
  3. Создайте в этой зоне запись A, которая указывает @ на входящий IP-адрес, используемый вашей ASE.
  4. Создайте в <App Service Environment-name>.appserviceenvironment.net зону с именем scm.
  5. Создайте в зоне scm запись A, которая указывает * на входящий адрес, используемый вашей ASE.

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

  1. Создайте частную зону Azure DNS с именем <App Service Environment-name>.appserviceenvironment.net.
  2. Создайте в этой зоне запись A, которая указывает * на входящий IP-адрес.
  3. Создайте в этой зоне запись A, которая указывает @ на входящий IP-адрес.
  4. Создайте в этой зоне запись A, которая указывает *.scm на входящий IP-адрес.

Параметры DNS для суффикса домена по умолчанию вашей ASE не ограничивают получение доступа к приложениям только по этим именам. Вы можете задать имя личного домена без какой-либо проверки в ваших приложениях в ASE. Если затем понадобится создать зону с именем contoso.net, можно создать ее так, чтобы она указывала на исходящий IP-адрес. Имя личного домена работает для запросов приложений, и если сертификат суффикса личного домена включает в себя дикий карта SAN для scm, имя личного домена также работает для scm сайта, и вы можете создать *.scm запись и указать ее на входящий IP-адрес.

Публикуется

Для публикации можно использовать один из следующих способов.

  • Веб-развертывание
  • Непрерывная интеграция (CI)
  • перетаскивание в консоли Kudu;
  • интегрированная среда разработки (IDE), например Visual Studio, Eclipse или IntelliJ.

При использовании ASE с внутренним виртуальным IP-адресом конечные точки публикации доступны только через входящий адрес. Без сетевого доступа к входящему адресу вы не сможете опубликовать в ASE ни одно приложение. Ваши IDE также должны иметь сетевой доступ к внутреннему адресу в ASE для публикации непосредственно в ASE.

Без дополнительных изменений интернет-системы непрерывной интеграции, такие как GitHub и Azure DevOps, не работают с внутренним виртуальным IP-адресом ASE. Интернет-доступ к конечной точке публикации отсутствует. Чтобы разрешить публикацию в ASE с внутренним виртуальным IP-адресом из Azure DevOps, можно установить в виртуальной сети локальный агент выпуска.

Хранилище

У вас есть 1 ТБ хранилища для всех приложений в вашей ASE. План службы приложений в ценовой категории "Изолированный" имеет ограничение в 250 ГБ. В ASE на каждый план службы приложений добавляется хранилище объемом 250 ГБ вплоть до ограничения в 1 ТБ. Вы можете использовать больше четырех планов службы приложений, но хранилище не будет увеличиваться сверх ограничения в 1 ТБ.

Наблюдение

Инфраструктура платформы в ASE v3 масштабируется по мере необходимости, а мониторинг и управление ею осуществляется Майкрософт. Вы как клиент должны только выполнять мониторинг планов службы приложений и отдельных работающих приложений и предпринимать все необходимые действия. Вы будете видеть некоторые метрики для вашей ASE, но они используются только для более старой версии и не будут исключать никакие значения для этой версии. Если вы используете ASE версии v1 или v2, рекомендации по мониторингу и масштабированию см. в этом разделе.

Ведение журнала

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

Ситуация Message
Свободное пространство в подсети ASE почти закончилось. Указанная ASE находится в подсети, в которой почти не осталось свободного пространства. Осталось адресов: {0}. Когда эти адреса будут исчерпаны, масштабирование ASE будет невозможно.
ASE почти достигла максимального количества экземпляров. Указанная ASE почти достигла предельного количества экземпляров, установленного для ASE. В настоящее время ASE содержит {0} экземпляров плана службы приложений при максимуме в 200 экземпляров.
ASE приостановлена. Работа указанной ASE приостановлена. Приостановка ASE может быть вызвана недостаточностью учетных записей или недопустимой конфигурацией виртуальной сети. Устраните первопричину и возобновите работу ASE, чтобы продолжить обслуживание трафика.
Обновление ASE запущено. Начато обновление платформы указанной ASE. Выполнение операций масштабирования задерживается.
Обновление ASE завершено. Обновление платформы указанной ASE завершилось.
Начато создание плана службы приложений. Начато создание плана службы приложений ({0}). Требуемое состояние: рабочие роли {1} I{2}v2.
Операции масштабирования завершены. Создание плана службы приложений ({0}) завершено. Текущее состояние: рабочие роли {1} I{2}v2.
Сбой операций масштабирования. Сбой создания плана службы приложений ({0}). Это может быть вызвано тем, что ASE работает с пиковым числом экземпляров, или недостаточно адресов подсети.
Операции масштабирования запущены. Начато масштабирование плана службы приложений ({0}). Текущее состояние: рабочие роли {1} I(2)v2. Требуемое состояние: рабочие роли {3} I{4}v2.
Операции масштабирования завершены. Масштабирование плана службы приложений ({0}) завершено. Текущее состояние: рабочие роли {1} I{2}v2.
Операции масштабирования прерваны. План службы приложений ({0}) прерван во время масштабирования. Предыдущее требуемое состояние: рабочие роли {1} I{2}v2. Следующее требуемое состояние: рабочие роли {3} I{4}v2.
Сбой операций масштабирования. Не удалось масштабировать план службы приложений ({0}). Текущее состояние: рабочие роли {1} I{2}v2.

Чтобы включить ведение журнала, выполните следующие действия.

  1. На портале перейдите в раздел Параметры диагностики.
  2. Выберите Добавить параметр диагностики.
  3. Укажите имя для интеграции журналов.
  4. Выберите и настройте нужные назначения журналов.
  5. Выберите AppServiceEnvironmentPlatformLogs. Screenshot that shows how to enable logging.

При интеграции с журналами Azure Monitor вы можете просматривать журналы, выбрав Журналы на портале ASE и создав запрос к AppServiceEnvironmentPlatformLogs. Журналы создаются только в том случае, если в ASE имеется событие, активирующее журналы. Если в вашей ASE нет такого события, никаких журналов не будет. Чтобы быстро просмотреть пример журналов, выполните операцию масштабирования для какого-либо плана службы приложений. Затем можно выполнить запрос к AppServiceEnvironmentPlatformLogs, чтобы просмотреть эти журналы.

Создание оповещения.

Чтобы создать оповещение для журналов, следуйте инструкциям в разделе Создание и просмотр оповещений журнала, а также управление ими с помощью Azure Monitor. Краткое описание

  1. Откройте страницу Оповещения на портале ASE.
  2. Выберите Новое правило генерации оповещений.
  3. В качестве ресурса выберите вашу рабочую область журналов Azure Monitor.
  4. Задайте свое условие с помощью настраиваемого поиска по журналам, чтобы использовать запрос. Например, можно задать следующее условие: AppServiceEnvironmentPlatformLogs | where ResultDescription contains has begun scaling. Установите нужный порог.
  5. При желании добавьте или создайте группу действий. В группе действий вы можете определить ответное действие на оповещение, такое как отправка сообщения электронной почты или SMS.
  6. Назовите оповещение и сохраните его.

Внутреннее шифрование

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

Screenshot that shows how to enable internal encryption.

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

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

Параметры обновления

При наличии нескольких ASE может потребоваться обновить некоторые из них раньше других. Это поведение можно включить на портале ASE. В разделе Конфигурация можно задать предпочтения обновления. Возможны следующие значения:

  • Нет: обновления Azure не в каком-либо определенном пакете. Это значение по умолчанию.
  • Раньше: обновление в первой половине обновлений Службы приложений.
  • Позже: обновление во второй половине обновлений Службы приложений.
  • Вручную. Получите 15 дней, чтобы развернуть обновление вручную.

Выберите нужное значение и нажмите Сохранить.

Screenshot that shows the App Service Environment configuration portal.

Эта функция наиболее полезна при наличии нескольких сред ASE, когда можно использовать преимущества последовательных обновлений. Например, можно настроить обновление ASE разработки и тестирования раньше, а рабочие ASE — позже.

Удаляет среду службы приложений.

Для удаления

  1. В верхней части панели Среда службы приложений нажмите Удалить.
  2. Введите имя вашей ASE, чтобы подтвердить ее удаление. При удалении ASE также удаляется все ее содержимое. Screenshot that shows how to delete.
  3. Нажмите ОК.