Интеграция стеков развертывания Azure с CLI разработчика Azure

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

В этой статье вы узнаете, как:

  • Включите поддержку стека развертывания Azure в azd.
  • Развертывание шаблонов azd с помощью стеков развертывания Azure.
  • Настройте поведение стека развертывания с помощью конфигураций azd.

Включение поддержки стека развертывания Azure

поддержка стека развертывания Azure должна быть включена с помощью команды azd config:

azd config set alpha.deployment.stacks on

Примечание.

поддержка стека развертывания Azure в настоящее время является альфа-функцией, поэтому она должна быть включена вручную. Тем не менее, в будущем выпуске поведение развертывания azd по умолчанию будет реализовано через стеки развертывания. Узнайте больше о нашей стратегии управления версиями.

Проверьте, что функция успешно включена с помощью команды azd config show.

azd config show

Развертывание шаблона с помощью стеков развертывания

После включения функции стека развертывания дальнейшие изменения azd в шаблонах не требуются для использования поведения этой функции по умолчанию. azd автоматически упаковывает подготовленные ресурсы шаблона в стек развертывания Azure при запуске azd up:

azd up

azd использует область, определенную в файле main.bicep шаблона для стека развертывания Azure. Например, если шаблон ограничен уровнем подписки или группы ресурсов, можно просмотреть связанный стек развертывания на портале Azure на странице стеков Deployment соответствующей подписки или группы ресурсов.

Снимок экрана, показывающий стек развертывания для уровня подписки на портале Azure.

Выберите стек развертывания, чтобы просмотреть страницы управления для него:

Снимок экрана, отображающий сведения о стеке развертывания.

Удалите стек развертывания

По умолчанию можно удалить стек развертывания и связанные с ним ресурсы с помощью стандартной azd down команды:

azd down

Точное поведение azd down и стеков развертывания настраивается с помощью файла azure.yaml.

Настройка стека развертывания

azd предоставляет различные параметры конфигурации в разделе infra файла azure.yaml, чтобы повлиять на поведение стека развертывания Azure. Эти параметры соответствуют стандартным опциям, описанным в документации по стекам развертывания. Рассмотрим следующий azure.yaml пример:

name: todo-nodejs-mongo-aca
metadata:
  template: todo-nodejs-mongo-aca@0.0.1-beta
infra:
  provider: bicep
  deploymentStacks:
    actionOnUnmanage:
      resources: delete
      resourceGroups: delete
    denySettings:
      mode: denyDelete
      excludedActions:
        - Microsoft.Resources/subscriptions/resourceGroups/delete
      excludedResources:
        - <your-resource-id-1>
        - <your-resource-id-2>
      excludedPrincipals:
        - <your-targeted-principal-id-1>
        - <your-targeted-principal-id-2>
      applyToChildScopes: true
# ...
# Remaining file contents omitted
# ...

В предыдущем примере в разделе deploymentStacks определены следующие параметры:

  • actionOnUnmanage. При удалении стека развертывания связанные Azure ресурсы считаются неуправляемыми. Этот параметр определяет, как Azure будет обрабатывать неуправляемые ресурсы. Возможные значения:
    • delete — значение по умолчанию и уничтожает все ресурсы, управляемые удаленным стеком развертывания.
    • detach оставляет ресурсы в текущем состоянии, но удаляет их связь с удаленным стеком развертывания.
  • denySettings: подраздел, предоставляющий подробный контроль над ресурсами стека развертывания.
    • режим. Определяет ограничения высокого уровня ресурсов стека развертывания. Возможные значения:
      • none — значение по умолчанию и позволяет удалять ресурсы стека развертывания или добавлять новые ресурсы.
      • denyDelete Предотвращает удаление ресурсов стека развертывания.
      • denyWriteAndDelete Предотвращает удаление ресурсов стека развертывания, а также предотвращает добавление новых ресурсов в стек развертывания.
    • excludedActions: Перечисляет действия управления доступом на основе ролей Azure (RBAC), которые не разрешены для ресурсов стека развертывания.
    • исключенныеРесурсы: перечисляет идентификаторы ресурсов, которые исключены из denySettings.
    • excludedPrincipals: перечисляет идентификаторы служебных субъектов, исключенные из denySettings.
    • applyToChildScopes: логическое значение, которое задает, применяются ли параметры запрета к дочерним ресурсам ресурсов в стеке развертывания. Например, ресурс SQL Server имеет дочерние ресурсы базы данных.