Руководство по Создание нескольких экземпляров ресурса с помощью шаблонов ARM
Узнайте, как выполнить итерацию в шаблоне Azure Resource Manager для создания нескольких экземпляров ресурса Azure. В этом руководстве описано, как изменить шаблон для создания трех экземпляров учетной записи хранения.
В рамках этого руководства рассматриваются следующие задачи:
- Открытие шаблона быстрого запуска
- Изменение шаблона
- Развертывание шаблона
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Модуль обучения, охватывающий копирование ресурсов, см. в разделе Управление сложными облачными развертываниями с помощью расширенных функций шаблона ARM.
Предварительные требования
Для работы с этой статьей необходимо иметь следующее.
- Visual Studio Code с расширением средств Resource Manager. См. Краткое руководство. Создание шаблонов ARM с помощью Visual Studio Code.
Открытие шаблона быстрого запуска
Шаблоны быстрого запуска Azure — это репозиторий для шаблонов Resource Manager. Вместо создания шаблона с нуля можно найти пример шаблона и настроить его. Шаблон, используемый в этом кратком руководстве, называется Create a standard storage account (Создание стандартной учетной записи хранения). Шаблон определяет ресурс учетной записи службы хранилища Azure.
В Visual Studio Code выберите Файл>Открыть файл.
Скопируйте приведенный ниже URL-адрес и вставьте его в поле Имя файла.
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Чтобы открыть файл, выберите Открыть.
В шаблоне
Microsoft.Storage/storageAccounts
определен ресурс. Сравните шаблон с примером в справочнике по шаблону. Прежде чем настраивать шаблон, рекомендуется получить основные сведения о нем.Выберите Файл>Сохранить как, чтобы сохранить файл в качестве azuredeploy.json на локальном компьютере.
Изменение шаблона
С помощью существующего шаблона можно создать одну учетную запись хранения. Можно настроить шаблон, чтобы создать три учетные записи хранения.
Внесите следующие четыре изменения в Visual Studio Code.
Добавьте элемент
copy
к определению ресурса учетной записи хранения. В элементеcopy
укажите число итераций и переменную для этого цикла. Значение count должно быть положительным целым числом не больше 800."copy": { "name": "storageCopy", "count": 3 },
Функция
copyIndex()
возвращает текущую итерацию в цикле. Индекс используется в качестве префикса имени.copyIndex()
отсчитывается, начиная с нуля. Чтобы сместить значение индекса, можно передать нужное значение в функциюcopyIndex()
. Например,copyIndex(1)
."name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
storageAccountName
Удалите определение параметра, так как оно больше не используется.Удалите элемент
outputs
. Он больше не требуется.Удалите элемент
metadata
.
Завершенный шаблон выглядит следующим образом.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountType": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Premium_LRS",
"Premium_ZRS",
"Standard_GRS",
"Standard_GZRS",
"Standard_LRS",
"Standard_RAGRS",
"Standard_RAGZRS",
"Standard_ZRS"
],
"metadata": {
"description": "Storage Account type"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for the storage account."
}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-06-01",
"name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageAccountType')]"
},
"kind": "StorageV2",
"copy": {
"name": "storageCopy",
"count": 3
},
"properties": {}
}
]
}
Сохраните изменения.
Дополнительные сведения о создании нескольких экземпляров см. в статье Итерация ресурсов в шаблонах Resource Manager.
Развертывание шаблона
Войдите в Azure Cloud Shell.
В левом верхнем углу выберите используемую среду — PowerShell или Bash (для CLI). После переключения желательно перезагрузить оболочку.
Выберите Отправка и скачивание файлов, а затем Отправить. См. предыдущий снимок экрана. Выберите файл, сохраненный ранее. После отправки вы можете использовать команды
ls
иcat
, чтобы проверить отправку файла.Выполните следующие команды в Cloud Shell. Выберите вкладку, чтобы отобразить код PowerShell или код CLI.
echo "Enter a project name that is used to generate resource group name:" && read projectName && echo "Enter the location (i.e. centralus):" && read location && resourceGroupName="${projectName}rg" && az group create --name $resourceGroupName --location "$location" && az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json"
После успешного развертывания шаблона можно отобразить три учетные записи хранения, созданные в указанной группе ресурсов. Сравните имена учетных записей хранения с определением имени в шаблоне.
echo "Enter a project name that is used to generate resource group name:" &&
read projectName &&
resourceGroupName="${projectName}rg" &&
az storage account list --resource-group $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Очистка ресурсов
Если ресурсы Azure больше не нужны, их можно удалить. Для этого необходимо удалить группу ресурсов.
- На портале Azure в меню слева выберите Группа ресурсов.
- В поле Фильтровать по имени введите имя группы ресурсов.
- Выберите имя группы ресурсов. В группе ресурсов должно появиться три ресурса.
- В главном меню выберите Удалить группу ресурсов.
Дальнейшие действия
Из этого руководства вы узнали, как создать несколько экземпляров учетной записи хранения. С помощью следующего руководства вы разработаете шаблон с несколькими ресурсами и несколькими типами ресурсов. Некоторые ресурсы обладают зависимыми ресурсами.