Azure Blueprints: создание и автоматизация более эффективных и быстрых развертываний

Опубликовано: 2 Марта, 2023
Azure Blueprints: создание и автоматизация более эффективных и быстрых развертываний

Функция Azure Blueprints все еще находится в предварительной версии, но это просто фантастика, если вы хотите создать профессиональный пакет и развернуть все приложение в своей среде Azure. Используя Azure Blueprints, мы можем автоматизировать создание шаблонов ARM, политик Azure и разрешений RBAC в одном пакете всего несколькими щелчками мыши. Вам может быть интересно: можно ли использовать PowerShell или шаблоны ARM для автоматизации всего процесса? Да, вы можете, но хранение огромных декларативных файлов (шаблонов ARM) или длинных сценариев для создания вашей среды занимает много времени и является сложной задачей. Используя Azure Blueprints, мы можем добавить эти небольшие фрагменты шаблонов ARM и объединить их с другими ресурсами для создания полной среды. Эта функция также поддерживает управление версиями, что упрощает переход туда и обратно без проверки версий ваших сценариев.

Хотя эта функция находится в предварительной версии, команда объявила о некоторых функциях, которые они хотят представить в рамках своей дорожной карты. Я перечислю некоторые из них здесь, и вы можете следить за объявлениями Azure, чтобы узнать, когда они будут доступны.

  • Сценарий до/после развертывания
  • Передача значений между артефактами
  • Блокируйте артефакты, а не все развертывание
  • Возможность удалять ресурсы
  • Возможность назначить план группе управления

Мы собираемся показать функции Azure Blueprints с помощью портала Azure. Однако эта функция может использовать преимущества PowerShell для импорта и экспорта Azure Blueprints и использования их в разных клиентах.

Мы также можем воспользоваться преимуществами DevOps и создать CI/CD с использованием системы управления версиями для поддержки Azure Blueprints.

Создание вашего первого чертежа

Войдите на портал Azure, выполните поиск чертежей, и первая страница будет похожа на изображение, изображенное ниже. Функция Azure Blueprints проста и состоит из трех элементов: обзорной страницы, определений схем и назначенных схем.

Чтобы создать наше первое определение схемы, нажмите кнопку «Создать», расположенную в столбце .

Мы начнем с чистого листа. Тем не менее, у нас есть несколько вариантов начать с шаблона, содержащего некоторые правила, которые помогут обеспечить соответствие требованиям в вашей организации. Существуют встроенные схемы, содержащие стандарты соответствия, такие как PCI DSS, NIST SP 800 и ISO 27001.

Процесс создания состоит из двух областей: и На странице мы определим имя, описание и место, где будут сохранены наши Azure Blueprints. Мы можем сохранить на уровне группы управления или подписки.

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

  • Назначение политики
  • Назначение ролей
  • Группа ресурсов
  • Шаблон Azure Resource Manager (подписка)

У нас есть пустой холст для добавления всех артефактов, которые мы хотим создать для нашего приложения/среды. Начнем с артефакта группы ресурсов. Нажмите «Добавить артефакт» и выберите «Группа ресурсов» в новой колонке, отображаемой справа.

Мы можем присвоить артефакту метку и определить имя, местоположение и теги. На этом этапе нам необходимо понять важную концепцию — .

Параметр может быть или . Статический параметр определяется во время создания чертежа и не меняется. Динамический параметр задается на этапе назначения.

Мой любимый артефакт — это шаблон Azure Resource Manager, и мы можем добавить нашу часть шаблона ARM. Если есть параметры, которые нужно использовать, мы можем щелкнуть вкладку «Параметры» и заполнить ее соответствующим образом. Используя Azure Blueprints, мы можем добавлять небольшие фрагменты шаблонов ARM и продолжать добавлять их, чтобы завершить общее решение.

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

{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "pVNETName ": { "defaultValue": "Сеть", "type": "String" }, "pSubnetName": { "defaultValue": "servers", "type": "string" } }, "variables": { "vVNETName ": "[concat('AP-VNET-',parameters('pVNETName'))]" }, "resources": [ { "type": "Microsoft.Network/virtualNetworks", "apiVersion": "[providers( 'Microsoft.Network','virtualNetworks').apiVersions[0]]", "name": "[variables('vVNETName')]", "location": "[resourceGroup().location]", "properties": { "addressSpace": { "addressPrefixes": [ "192.168.12.0/22" ] }, "subnets": [ { "name": "[parameters('pSubnetName')]", "properties": { "addressPrefix ": "192.168.12.0/24", "делегации": [] } } ], "enableDdosProtection": false, "enableVmProtection": false } }, { "type": "Microsoft.Network/virtualNetworks/subnets", " apiVersion": "[providers('Microsoft.Network','virtualNetworks').apiVersions[0]]", "name": "[concat(va riables('vVNETName'), '/',parameters('pSubnetName'))]", "dependsOn": [ "[resourceId('Microsoft.Network/virtualNetworks', variable('vVNETName'))]" ], " properties": { "addressPrefix": "192.168.12.0/24", "делегации": [] } } ] }

Точно так же, как мы добавляли и , мы можем добавлять . Конечным результатом вашего рабочего чертежа будет что-то похожее на изображение, изображенное ниже. Когда у вас есть рабочий план, нажмите «Сохранить черновик».

Чтобы проверить существующие и недавно созданные Azure Blueprints, щелкните определения Blueprint. Будет показан список всех чертежей с их последними версиями, опубликованным статусом и местоположением. Нажмите на тот, который мы только что создали.

Мы можем вернуться и внести дополнительные изменения, нажав «Редактировать план». Когда план находится в рабочем состоянии, нажмите «Опубликовать план». В результате появится новый блейд с правой стороны, и нам нужно определить новую версию, которую мы собираемся назначить, некоторые примечания, а затем нажать «Опубликовать».

Когда план достигает опубликованного состояния, мы можем его назначить. Нажмите «Назначить план», который теперь доступен. На странице Assign Blueprint будет два раздела: и . В это время нам нужно заполнить параметры.

В разделе « нам нужно выбрать подписку, к которой мы будем применять этот текущий , местоположение, и это местоположение необходимо для определения места создания . Эта управляемая учетная запись будет отвечать за развертывание. (Мы можем назначить управляемую учетную запись вместо автоматической.)

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

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

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

Azure Blueprints: строительный блок для облачных архитекторов

Результатом является новая группа ресурсов, новые политики Azure, новые разрешения RBAC и ресурсы, добавляемые в подписку, которую мы выбрали при назначении Azure Blueprints. Эта функция помогает облачным архитекторам выражать свои проекты в пакете и распространять его среди операционной группы для развертывания решения.