Упражнение. Создание и развертывание шаблона Azure Resource Manager
Примечание.
Когда вы в первый раз активируете песочницу и принимаете условия, ваша учетная запись Майкрософт связывается с новым каталогом Azure с именем Microsoft Learn Sandbox. Вы также добавлены к специальной подписке под названием Concierge Subscription.
В этом упражнении вы создадите шаблон Azure Resource Manager (шаблон ARM), разверните его в Azure, а затем обновите этот шаблон ARM, чтобы добавить параметры и выходные данные.
В этом упражнении используются средства Azure Resource Manager для Visual Studio Code. Не забудьте установить это расширение в Visual Studio Code перед выполнением упражнения.
Создание шаблона ARM
Откройте Visual Studio Code и создайте новый файл с именем azuredeploy.json.
Расширение шаблонов ARM Visual Studio Code уже включает множество фрагментов кода, которые можно использовать для создания шаблонов. Начнем с добавления пустого шаблона. В первой строке файла введите arm.
Visual Studio Code автоматически отображает несколько возможных вариантов, которые начинаются с arm!. Выберите Шаблон Azure Resource Manager (ARM). Visual Studio Code автоматически обрабатывает схемы и языки шаблона.
Теперь файл выглядит следующим образом:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [], "outputs": {} }
Обратите внимание на то, что в этом файле есть все разделы шаблона ARM, которые описывались в предыдущем уроке.
Сохраните изменения в файле, нажав комбинацию клавиш CTRL + S.
Развертывание шаблона ARM в Azure
Чтобы развернуть этот шаблон в Azure, необходимо войти в свою учетную запись Azure из терминала Visual Studio Code. Убедитесь, что на компьютере установлены инструменты Azure CLI, и выполните вход под той же учетной записью, которую вы использовали для активации песочницы.
Выберите Терминал > Новый терминал, чтобы открыть окно терминала.
Если на панели команд окна терминала отображается bash, у вас есть подходящая оболочка для работы, и вы можете перейти к следующему разделу.
В противном случае выберите раскрывающийся список и выберите " Выбрать профиль по умолчанию".
Выберите Git Bash.
Выберите Терминал > Новый терминал, чтобы открыть окно терминала с оболочкой bash.
Вход в Azure
В окне терминала выполните следующую команду, чтобы войти в Azure.
az login
Откроется браузер, в котором можно выполнить вход в учетную запись. После входа в терминал отображается список подписок, связанных с этой учетной записью. Если вы активировали песочницу, должна появиться подписка с именем Подписка Concierge. Именно ее вы будете использовать в оставшейся части упражнения.
В оболочке bash выполните следующую команду, чтобы задать подписку по умолчанию для всех команд Azure CLI, выполняемых в этом сеансе.
az account set --subscription "Concierge Subscription"
Если в последнее время вы использовали несколько песочниц, то в списке может отображаться несколько подписок Concierge. Если это так, выполните следующие два шага, чтобы определить и задать подписку по умолчанию.
- Выполните следующую команду, чтобы получить идентификаторы подписок Concierge.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
- Задайте подписку по умолчанию, выполнив следующую команду, заменив {your subscription ID} на идентификатор последней подписки Concierge.
az account set --subscription {your subscription ID}
Установка группы ресурсов по умолчанию
После задания в качестве группы ресурсов по умолчанию ту, которая была создана при активации песочницы, можно опускать соответствующий параметр в командах Azure CLI в этом упражнении. Чтобы задать группу ресурсов, выполните следующую команду.
az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
Развертывание шаблона в Azure
Для развертывания шаблона ARM в Azure выполните следующие команды. Пока в этом шаблоне ARM нет ресурсов, поэтому вы не увидите созданных ресурсов. Вы должны получить успешное развертывание.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
Верхний раздел этого кода определяет переменные Azure CLI, которые включают путь к развертываемому файлу шаблона и имя развертывания. В нижнем разделе az deployment group create
развертывается шаблон в Azure. Обратите внимание, что имя развертывания имеет blanktemplate
дату суффикса.
Вы должны увидеть Running...
в терминале.
Чтобы развернуть этот шаблон в Azure, необходимо войти в свою учетную запись Azure из терминала Visual Studio Code. Убедитесь, что вы установили средства Azure PowerShell из расширений Visual Studio Code и войдите в ту же учетную запись, которая активировала песочницу.
На панели команд выберите Терминал > Новый терминал, чтобы открыть окно PowerShell.
Если в командной строке окна терминала отображается PowerShell, у вас есть правильная оболочка для работы, и вы можете перейти к следующему разделу.
В противном случае щелкните стрелку вниз и в раскрывающемся списке и выберите PowerShell. Если этот параметр отсутствует, выберите пункт Выбрать профиль по умолчанию.
В поле ввода прокрутите вниз и выберите PowerShell.
Выберите Терминал > Новый терминал, чтобы открыть окно терминала с оболочкой PowerShell.
Вход в Azure с помощью Azure PowerShell
В окне терминала Visual Studio Code выполните следующую команду, чтобы войти в Azure. Откроется браузер, в котором можно выполнить вход в учетную запись.
Connect-AzAccount
Совет
Модуль Az PowerShell является заменой AzureRM и является рекомендуемой версией, используемой для взаимодействия с Azure.
Войдите, используя учетную запись, которая использовалась для активации песочницы. После входа Visual Studio Code выводит список подписок, связанных с учетной записью в окне терминала. Если вы активировали песочницу, вы увидите блок кода, содержащий
"name": "Concierge Subscription"
. Это подписка, которая будет использоваться в оставшейся части упражнения.
Задание подписки по умолчанию для всех команд PowerShell в этом сеансе
Выполните следующую команду, чтобы получить подписки и их идентификаторы. Идентификатор подписки находится во втором столбце. Найдите подписку Concierge и скопируйте значение во втором столбце. Выглядит примерно так, как cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0:
Get-AzSubscription
Выполните следующую команду, заменив {Your subscription ID} на идентификатор, скопированный на предыдущем шаге, чтобы изменить активную подписку на подписку Concierge.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Выполните следующую команду, чтобы сделать группу ресурсов, созданную для вас в среде песочницы, группой ресурсов по умолчанию. В таком случае вы сможете не указывать этот параметр в остальных командах Azure PowerShell в этом упражнении.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Развертывание шаблона в Azure
Разверните шаблон в Azure, выполнив следующие команды. Пока в этом шаблоне ARM нет ресурсов, поэтому вы не увидите созданные ресурсы.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
В верхнем разделе предыдущего кода задаются переменные Azure PowerShell, в том числе путь к файлу развертывания и имени развертывания. Команда New-AzResourceGroupDeployment
развертывает шаблон в Azure. Обратите внимание, что имя развертывания имеет blanktemplate
дату суффикса.
После развертывания шаблона ARM в Azure перейдите на портал Azure и убедитесь, что вы находитесь в подписке песочницы. Для этого щелкните свой аватар в правом верхнем углу страницы. Выберите Переключить каталог. В списке выберите каталог Песочница Microsoft Learn.
В меню ресурсов выберите Группы ресурсов.
Выберите группу ресурсов
[имя группы ресурсов песочницы] .В области Обзор вы увидите, что одно развертывание выполнено успешно.
Щелкните ссылку 1 Succeeded (1 успешное), чтобы просмотреть сведения об этом развертывании.
Выберите
blanktemplate
, чтобы увидеть, какие ресурсы были развернуты. В данном случае список будет пустым, поскольку вы еще не задали в шаблоне никакие ресурсы.Оставьте эту страницу открытой в браузере. Развертывания потребуется проверить снова.
Добавление ресурса в шаблон ARM
В предыдущей задаче вы научились создавать пустой шаблон и развертывать его. Теперь вы готовы развернуть настоящий ресурс. В этой задаче вы добавите ресурс учетной записи хранения Azure в шаблон ARM с помощью фрагмента из расширения средств Azure Resource Manager для Visual Studio Code.
В файле azuredeploy.json в Visual Studio Code поместите указатель между квадратными скобками в блоке ресурсов
"resources":[],
.Введите в квадратных скобках storage. Появится список связанных фрагментов кода. Выберите arm-storage.
Ваш файл теперь должен выглядеть следующим образом.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "functions": [], "variables": {}, "resources": [ { "name": "storageaccount1", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "storageaccount1" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "Premium_LRS", "tier": "Premium" } } ], "outputs": {} }
Значения, которые следует изменить, выделены в новом разделе файла, и их можно перемещать, нажав клавишу TAB .
Обратите внимание, что атрибуты
tags
иlocation
заполнены. В атрибутеlocation
используется функция, устанавливающая расположение группы ресурсов в качестве расположения ресурса. Теги и функции рассматриваются в следующем модуле.Измените значения имени ресурса и displayName на что-то уникальное (например, learnexercise12321). Это имя должно быть уникальным во всей области Azure, поэтому выбирайте что-нибудь уникальное для вас.
Измените значение name для SKU с Premium_LRS на Standard_LRS. Измените значение tier на Standard. Обратите внимание на то, что Visual Studio Code предлагает соответствующие варианты для значений атрибутов по мере ввода. Удалите значение по умолчанию вместе с кавычками и введите кавычки, чтобы посмотреть, как это работает.
Расположение ресурса устанавливается в расположение группы ресурсов, где будет развернуто. Оставьте значение по умолчанию.
Сохраните файл.
Развертывание обновленного шаблона ARM
Здесь вы измените имя развертывания, чтобы лучше отразить то, что такое развертывание делает.
В терминале выполните следующие команды Azure CLI. Вы уже использовали этот фрагмент кода ранее, но имя развертывания изменилось.
templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today
az deployment group create \
--name $DeploymentName \
--template-file $templateFile
В терминале выполните следующие команды Azure PowerShell. Вы уже использовали этот фрагмент кода ранее, но имя развертывания изменилось.
$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile
Проверка развертывания
По завершении развертывания вернитесь к портал Azure в браузере. Перейдите в свою группу ресурсов. Вы видите, что теперь в ней указаны 2 успешных развертывания. Нажмите эту ссылку.
Обратите внимание, что в списке присутствуют оба развертывания.
Выберите развертывание addstorage.
Обратите внимание на то, что учетная запись хранения развернута.