Настройка Управляемый экземпляр в службе приложений Azure (предварительный просмотр)

Управляемый экземпляр в службе приложений Azure (предварительная версия) — это вариант размещения в рамках плана для веб-приложений Windows, которым требуется настройка операционной системы (ОС), необязательное частное подключение и безопасная интеграция с ресурсами Azure. В этой статье объясняется, как настроить Управляемый экземпляр по ключевым аспектам:

  • Манажируемая идентичность
  • Скрипты конфигурации (инсталляции)
  • Монтирование хранилища
  • Ключи реестра
  • Доступ к протоколу удаленного рабочего стола (RDP)

Это важно

Управляемый экземпляр доступен в предварительной версии, доступен для веб-приложений Windows в некоторых регионах и ограничен планами ценообразования Pv4 и Pmv4. Скоро будут добавлены дополнительные регионы. Linux и контейнеры не поддерживаются.

Добавление управляемой идентичности (в план службы приложений)

Управляемые удостоверения на уровне плана обеспечивают проверку подлинности для операций инфраструктуры, происходящих на уровне платформы, таких как скрипты конфигурации (установка), которые обращаются к службе хранилища Azure во время запуска, адаптеры реестра извлекают секреты из Key Vault, а монтирование хранилищ аутентифицируется в Файлы Azure. Эти компоненты являются общими ресурсами, которые используют несколько приложений в рамках плана. Например, плановая идентификация позволяет управляемому экземпляру аутентифицироваться один раз для компонентов инфраструктуры, в то время как каждое приложение поддерживает собственную идентификацию для ресурсов, относящихся к приложениям, таких как базы данных и данные конфиденциальности приложений.

Управляемые удостоверения для плана службы приложений необходимы в следующих сценариях:

  • Для безопасного доступа и получения скрипта конфигурации из службы хранилища Azure.
  • Доступ к хранилищам ключей для предоставления учетных данных и значений для подключений к хранилищу и адаптеров ключей реестра.

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

Чтобы добавить управляемое удостоверение к плану управляемой базы данных:

  1. Перейдите к управляемому экземпляру на портале Azure.
  2. Выберите Идентификатор>Назначенный пользователем.
  3. Выберите + Добавить.
  4. Выберите подписку и управляемое удостоверение.
  5. Нажмите кнопку "Добавить ", чтобы добавить удостоверение в план.

Добавление скриптов конфигурации (установка)

Скрипты конфигурации (установка) выполняются при запуске экземпляра, чтобы применить постоянную настройку. Примеры: регистрация объектной модели компонента (COM), установка установщиков Microsoft/Windows (MSI), настройка конфигурации служб IIS (IIS Server), изменения ACL, включение компонентов Windows, настройка переменных среды.

Для использования скриптов конфигурации (установки) вам потребуется следующее:

  • Управляемое удостоверение, назначенное плану службы приложений
  • Учетная запись хранения с контейнером для объектов Blob, содержащим пакет сценариев установки (zip-архив).
  • Один ZIP-файл, корневой каталог которого содержит Install.ps1 (точка входа)
  • Storage Blob Data Reader роль в учетной записи хранения, контейнере или группе ресурсов

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

  1. Перейдите к плану службы приложений для Управляемого экземпляра на портале Azure.

  2. Выберитеобщие параметры конфигурации>.

  3. В разделе скрипта конфигурации начните с настройки скрипта.

    Setting Ценность
    Учетная запись хранения Выбор учетной записи хранения
    Контейнер Введите имя контейнера
    Zip-файл Введите имя ZIP-файла
    Ценность Убедитесь, что это значение правильно
  4. Нажмите кнопку "Применить", чтобы сохранить изменения.

Рекомендации по скрипту конфигурации

  • Сделайте скрипты идемпотентными (проверьте перед установкой).
  • Защита разрушительных операций (избегайте изменения защищенных системных каталогов Windows).
  • Рассредоточьте крупные установки для уменьшения задержки запуска.

Пример минимальной структуры ZIP:

Install.ps1
myInstallerfileNameGoesHere.msi
config.xml

Пример скрипта конфигурации:

# Install Components, for example Crystal Reports, Control Library, Database Driver
$ComponentInstaller = "myInstallerFileNameGoesHere.msi"
try {
    $Component = Join-Path $PSScriptRoot $ComponentInstaller
    Start-Process $Component -ArgumentList "/q" -Wait -ErrorAction Stop
} catch {
    Write-Error "Failed to install ${ComponentInstaller}: $_"
    exit 1
}

Настройка подключений хранилища

Точки монтирования хранилища предоставляют постоянное внешнее хранилище (например, Файлы Azure), доступное вашему приложению. Используется для устаревшего кода, требующего доступа к общей файловой системе, а не для секретов (используйте Key Vault). Хотя локальное (временное) хранилище также доступно, постоянные изменения требуют подключения хранилища.

Для настройки монтажа хранилища вам потребуется следующее:

  • Управляемое удостоверение (для доступа к Key Vault)
  • Секрет Key Vault (источник учетных данных)

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

  1. Перейдите к управляемому экземпляру на портале Azure.
  2. Выберите Конфигурация>Точки монтирования.
  3. Выберите +Создать подключение хранилища.

Укажите следующие сведения, чтобы настроить подключение хранилища:

Setting Ценность
Имя Введите имя точки монтирования
Тип хранилища Файлы Azure, пользовательские или локальные (временное хранилище)
учетная запись хранения Выбор или ввод учетной записи хранения
Общий доступ к файлам Выберите ресурс общего доступа
Ценность Выбор хранилища ключей
Секрет Выбор секрета хранилища ключей
Подключение буквы диска Выбор пути к букве диска

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

Настройка монтажа хранилища с использованием Файлы Azure

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

  1. Создайте учетную запись хранения Azure и общую папку файлов Azure.
  2. Сохраните учетные данные подключения в Key Vault в качестве секрета. Поддерживаемое содержимое секрета: (Например: DefaultEndpointsProtocol=...;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net)
  3. Добавьте подключение в Управляемом экземпляре (портал Azure или ARM/Bicep/Terraform).

Подсказка

Применение разрешений на уровне общего доступа с помощью Azure RBAC и общих списков управления доступом для повышения безопасности.

Настройка точек подключения хранилища с использованием пользовательского UNC

Используйте монтажи для общих папок SMB, размещённых в другом месте (локально, на виртуальной машине или на не-Microsoft системе). Убедитесь, что имеется сетевое подключение (интеграция с виртуальной сетью / частные конечные точки / брандмауэры).

  1. Если необходимы учетные данные, сохраните их в секрете Key Vault в формате: username=<user>,password=<password>
    • Избегайте учетных записей администратора домена; используйте удостоверение службы с наименьшими привилегиями.
  2. Добавьте подключение в Управляемый экземпляр.

Настройка ключей реестра

Некоторые приложения зависят от значений, считыванных из реестра Windows. С помощью адаптера для ключей реестра можно создавать ключи реестра и использовать секреты из Azure Key Vault в качестве их значения.

Для настройки ключей реестра вам потребуется следующее:

  • Управляемое удостоверение (для доступа к Key Vault)
  • Секрет Key Vault (источник учетных данных)

Чтобы настроить ключи реестра.

  1. Перейдите к Configuration>разделам реестра.

  2. Выберите + Добавить.

    Setting Ценность
    Путь Введите путь к реестру
    Хранилище Введите существующее имя хранилища
    Секрет Выбор или ввод секрета хранилища ключей
    Тип Строка или DWORD
  3. Выберите "Добавить", чтобы добавить ключ реестра.

Caution

Будьте осторожны при изменении путей реестра, критически важных для системы. Неправильные изменения могут повлиять на стабильность экземпляра.

Настройка доступа к RDP (Бастион)

Быстрый старт: Автоматическое развертывание Бастион Azure позволяет вам безопасно подключаться к экземплярам виртуальных машин с помощью протокола удалённого рабочего стола (RDP). RDP через Бастион Azure предназначен для временной диагностики (проверка журналов, быстрая проверка). Если вы планируете использовать Бастион через портал, обновите ресурс Бастиона до стандартного уровня цен и выберите поддержку собственных клиентов и подключение на основе IP.

Вам потребуются следующие ресурсы для доступа к Бастиону или RDP:

  • Управляемый экземпляр должен быть интегрирован в виртуальную сеть
  • Узел Бастион Azure в целевой виртуальной сети
  • Порт 3389 должен быть разрешен из подсети Бастиона NSG в подсеть плана службы приложений NSG

Чтобы настроить Бастион, выполните приведенные действия.

  1. Перейдите к Конфигурации>Bastion/RDP.
  2. Убедитесь, что виртуальная сеть подключена.
  3. Выберите «Разрешить удаленный рабочий стол (через Bastion)».

Caution

Не применяйте вручную установщики или изменения конфигурации исключительно через RDP. Изменения теряются при повторном перемещении или создании смещения конфигурации.

Вопросы и ответы

Какая операционная система работает в Управляемом экземпляре в службе приложений Azure?

Windows Server 2022 г.

Можно ли включить дополнительные роли и функции Windows?

Да, с помощью скрипта конфигурации. Однако функции, удаленные из будущего выпуска Windows Server, не будут недоступны в Управляемом экземпляре.

Получает ли управляемый экземпляр в Службе приложений Azure регулярные обновления платформы и стека приложений?

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

Какие языки программирования устанавливаются в Управляемом экземпляре в службе приложений Azure?

Microsoft .NET Framework 3.5, 4.8 и Microsoft .NET 8.0. Если требуется другая среда выполнения, их можно установить с помощью скрипта конфигурации. Служба приложений Azure не будет поддерживать дополнительные среды выполнения в рамках обслуживания платформы, и их необходимо обновить вручную.

Каковы ограничения для скриптов конфигурации (установки)?

Скрипты конфигурации (установки) могут устанавливать зависимости, включать роли и компоненты и настраивать операционную систему. Однако разрушительные операции (например, удаление Windows\System32) не поддерживаются и могут привести к нестабильности экземпляра.

На каком уровне разрешений выполняется скрипт конфигурации (установка)?

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

Какие права роли имеет оператор при подключении к экземпляру с помощью Бастиона?

Операторы, подключающиеся через Бастион, имеют права администратора во время сеанса.

Как устранять сбои с помощью скрипта конфигурации или адаптеров реестра или хранилища?

Чтобы устранить неполадки, просмотрите журналы сценариев конфигурации (установки). Их можно найти в C:\InstallScripts\Script\Install.log в экземпляре системы (а не в веб-приложении). Кроме того, журналы консоли службы приложений можно отправлять в Azure Monitor и Log Analytics.

Журналы адаптеров можно найти в корневом каталоге компьютера, или они заносятся в журналы платформы App Service.

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

Адресуемая память управляемого экземпляра в рабочем экземпляре службы приложений Azure варьируется в зависимости от выбранного тарифного плана. В следующей таблице перечислена адресуемая память для управляемого экземпляра на рабочем экземпляре Службы приложений Azure. Важно учитывать наличие скрипта конфигурации, который устанавливает дополнительные компоненты, службы и т. д. Эти ресурсы влияют на объем памяти, доступной для использования веб-приложениями.

Тарифный план Cores Память (МБ)
P0v4 1 2048
P1v4 2 5952
P2v4 4 13440
P3v4 8 28672
P1Mv4 2 13440
P2Mv4 4 28672
P3Mv4 8 60160
P4Mv4 16 121088
P5Mv4 32 246016

Какую службу хранилища Azure следует использовать для отправки скрипта конфигурации (установки)?

Используйте службу блобов хранилища Azure для загрузки скрипта и необходимых зависимостей.

Существует ли ограничение на именование и формат скрипта конфигурации (установка)?

Да, скрипт должен быть назван Install.ps1. Поддерживается только PowerShell. Убедитесь, что скрипт конфигурации (установки) и зависимости представлены в формате одного .zip файла.

Существует ли ограничение размера зависимостей, которые можно отправить как часть ZIP-файла?

Ограничение размера не применяется. Помните, что общий размер зависимостей влияет на время подготовки экземпляра.

При добавлении или редактировании управляемого экземпляра в адаптерах плана службы приложений перезапускаются ли экземпляры плана?

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

План управляемых экземпляров включает несколько экземпляров. Можно ли перезапустить один из них отдельно?

Да, перейдите к Управляемый экземпляр и выберите Instances в меню слева. Затем нажмите кнопку "Перезапустить" рядом с именем экземпляра.

Мой управляемый экземпляр в плане службы приложений содержит несколько веб-приложений. Могу ли я перезапустить одно из них отдельно?

Да, перейдите на страницу обзора приложения и выберите "Перезапустить".

Можно ли назначить управляемое удостоверение веб-приложению в управляемом экземпляре в плане службы приложений?

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

Существует ли ограничение на количество адаптеров, которые можно создать для управляемого экземпляра в плане App Service?

Нет, нет ограничения на количество адаптеров хранилища или реестра. Вы можете создать только один адаптер скрипта конфигурации (установить) для управляемого экземпляра в плане службы приложений. Увеличение числа адаптеров может повлиять на время развертывания управляемого экземпляра.

В каких регионах доступна поддержка Управляемый экземпляр в App Service?

В настоящее время поддержка Управляемый экземпляр в службе приложений ограничена восточной частью США, западной частью США, Восточной Азии, Северной Европой, Восточной Австралией, Центральной Индией и Южной Индией. Дополнительные регионы будут добавлены в предварительную версию с течением времени. Чтобы получить обновленный список регионов, можно использовать следующую команду CLI (необходимо использовать Azure CLI версии 2.82.0 или более поздней).

az appservice list-locations --managed-instance-enabled --sku <Pv4 or PmV4 sku your require, for example P1v4>