Упражнение. Создание и развертывание шаблона 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 уже включает множество фрагментов кода, которые можно использовать для создания шаблонов. Начнем с добавления пустого шаблона. В строке 1 файла введите руку.
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 и скопируйте значение во втором столбце. Он выглядит примерно так, как aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e4e4e4e4e:
Get-AzSubscription
Выполните следующую команду, заменив {Ваш идентификатор подписки} на скопированную на предыдущем шаге. Эта команда изменяет активную подписку на подписку 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": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2023-05-01", "name": "storageaccount1", "tags": { "displayName": "storageaccount1" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "Premium_LRS" } } ], "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.
Обратите внимание, что учетная запись хранения развернута.