Руководство по Создание нескольких экземпляров ресурса с помощью шаблонов ARM

Узнайте, как выполнить итерацию в шаблоне Azure Resource Manager для создания нескольких экземпляров ресурса Azure. В этом руководстве описано, как изменить шаблон для создания трех экземпляров учетной записи хранения.

Схема, показывающая создание нескольких экземпляров в Azure Resource Manager.

В рамках этого руководства рассматриваются следующие задачи:

  • Открытие шаблона быстрого запуска
  • Изменение шаблона
  • Развертывание шаблона

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Модуль обучения, охватывающий копирование ресурсов, см. в разделе Управление сложными облачными развертываниями с помощью расширенных функций шаблона ARM.

Предварительные требования

Для работы с этой статьей необходимо иметь следующее.

Открытие шаблона быстрого запуска

Шаблоны быстрого запуска Azure — это репозиторий для шаблонов Resource Manager. Вместо создания шаблона с нуля можно найти пример шаблона и настроить его. Шаблон, используемый в этом кратком руководстве, называется Create a standard storage account (Создание стандартной учетной записи хранения). Шаблон определяет ресурс учетной записи службы хранилища Azure.

  1. В Visual Studio Code выберите Файл>Открыть файл.

  2. Скопируйте приведенный ниже URL-адрес и вставьте его в поле Имя файла.

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. Чтобы открыть файл, выберите Открыть.

  4. В шаблоне Microsoft.Storage/storageAccounts определен ресурс. Сравните шаблон с примером в справочнике по шаблону. Прежде чем настраивать шаблон, рекомендуется получить основные сведения о нем.

  5. Выберите Файл>Сохранить как, чтобы сохранить файл в качестве azuredeploy.json на локальном компьютере.

Изменение шаблона

С помощью существующего шаблона можно создать одну учетную запись хранения. Можно настроить шаблон, чтобы создать три учетные записи хранения.

Внесите следующие четыре изменения в Visual Studio Code.

Снимок экрана: Visual Studio Code с azure Resource Manager создания нескольких экземпляров.

  1. Добавьте элемент copy к определению ресурса учетной записи хранения. В элементе copy укажите число итераций и переменную для этого цикла. Значение count должно быть положительным целым числом не больше 800.

    "copy": {
      "name": "storageCopy",
      "count": 3
    },
    
  2. Функция copyIndex() возвращает текущую итерацию в цикле. Индекс используется в качестве префикса имени. copyIndex() отсчитывается, начиная с нуля. Чтобы сместить значение индекса, можно передать нужное значение в функцию copyIndex(). Например, copyIndex(1).

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
    
    
  3. storageAccountName Удалите определение параметра, так как оно больше не используется.

  4. Удалите элемент outputs. Он больше не требуется.

  5. Удалите элемент 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.

Развертывание шаблона

  1. Войдите в Azure Cloud Shell.

  2. В левом верхнем углу выберите используемую среду — PowerShell или Bash (для CLI). После переключения желательно перезагрузить оболочку.

    Файл отправки Cloud Shell на портале Azure

  3. Выберите Отправка и скачивание файлов, а затем Отправить. См. предыдущий снимок экрана. Выберите файл, сохраненный ранее. После отправки вы можете использовать команды ls и cat, чтобы проверить отправку файла.

  4. Выполните следующие команды в 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 больше не нужны, их можно удалить. Для этого необходимо удалить группу ресурсов.

  1. На портале Azure в меню слева выберите Группа ресурсов.
  2. В поле Фильтровать по имени введите имя группы ресурсов.
  3. Выберите имя группы ресурсов. В группе ресурсов должно появиться три ресурса.
  4. В главном меню выберите Удалить группу ресурсов.

Дальнейшие действия

Из этого руководства вы узнали, как создать несколько экземпляров учетной записи хранения. С помощью следующего руководства вы разработаете шаблон с несколькими ресурсами и несколькими типами ресурсов. Некоторые ресурсы обладают зависимыми ресурсами.