Руководство по Создание шаблонов Azure Resource Manager с зависимыми ресурсамиTutorial: Create Azure Resource Manager templates with dependent resources

Узнайте, как создать шаблон Azure Resource Manager для развертывания нескольких ресурсов и настроить порядок развертывания.Learn how to create an Azure Resource Manager template to deploy multiple resources and configure the deployment order. После создания шаблона можно развернуть шаблон с помощью Cloud Shell с портала Azure.After you create the template, you deploy the template using the Cloud shell from the Azure portal.

В рамках этого руководства вы создадите учетную запись хранения, виртуальную машину, виртуальную сеть и другие зависимые ресурсы.In this tutorial, you create a storage account, a virtual machine, a virtual network, and some other dependent resources. Некоторые ресурсы невозможно развернуть до тех пор, пока не будет существовать другой ресурс.Some of the resources cannot be deployed until another resource exists. Например, невозможно создать виртуальную машину, пока не существуют ее учетная запись хранения и сетевой интерфейс.For example, you can't create the virtual machine until its storage account and network interface exist. Эта связь определяется путем пометки зависимости одного ресурса от других.You define this relationship by making one resource as dependent on the other resources. Диспетчер ресурсов оценивает зависимости между ресурсами и развертывает эти ресурсы согласно установленным зависимостям.Resource Manager evaluates the dependencies between resources, and deploys them in their dependent order. Если ресурсы не зависят друг от друга, диспетчер ресурсов развертывает их параллельно.When resources aren't dependent on each other, Resource Manager deploys them in parallel. Дополнительные сведения см. в статье Define the order for deploying resources in Azure Resource Manager Templates (Определение порядка развертывания ресурсов в шаблонах Azure Resource Manager).For more information, see Define the order for deploying resources in Azure Resource Manager Templates.

Схема порядка развертывания зависимых ресурсов шаблона Resource Manager

В рамках этого руководства рассматриваются следующие задачи:This tutorial covers the following tasks:

  • открытие шаблона быстрого запуска;Open a QuickStart template
  • Обзор шаблонаExplore the template
  • Развертывание шаблонаDeploy the template

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.If you don't have an Azure subscription, create a free account before you begin.

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

Для работы с этой статьей необходимо иметь следующее.To complete this article, you need:

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

Шаблоны быстрого запуска Azure являются репозиторием для шаблонов Resource Manager.Azure QuickStart Templates is a repository for Resource Manager templates. Вместо создания шаблона с нуля можно найти пример шаблона и настроить его.Instead of creating a template from scratch, you can find a sample template and customize it. Шаблон, используемый в этом руководстве, называется Deploy a simple Windows VM (Развертывание простой виртуальной машины Windows).The template used in this tutorial is called Deploy a simple Windows VM.

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

  2. Скопируйте приведенный ниже URL-адрес и вставьте его в поле Имя файла.In File name, paste the following URL:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json
    
  3. Чтобы открыть файл, выберите Открыть.Select Open to open the file.

  4. Выберите Файл>Сохранить как, чтобы сохранить файл на локальный компьютер с именем azuredeploy.json.Select File>Save As to save a copy of the file to your local computer with the name azuredeploy.json.

Обзор шаблонаExplore the template

Рассматривая шаблон в этом разделе, постарайтесь ответить на следующие вопросы:When you explore the template in this section, try to answer these questions:

  • Сколько ресурсов Azure определено в этом шаблоне?How many Azure resources defined in this template?
  • Одним из ресурсов является учетная запись хранения Azure.One of the resources is an Azure storage account. Похоже ли это определение на использованное в предыдущем руководстве?Does the definition look like the one used in the last tutorial?
  • Можете ли вы найти справочники по шаблонам для ресурсов, определенных в этом шаблоне?Can you find the template references for the resources defined in this template?
  • Можете ли вы найти зависимости ресурсов?Can you find the dependencies of the resources?
  1. В Visual Studio Code сверните элементы, пока не появятся элементы только первого уровня и элементы второго уровня внутри ресурсов.From Visual Studio Code, collapse the elements until you only see the first-level elements and the second-level elements inside resources:

    Шаблоны Azure Resource Manager в Visual Studio Code

    Шаблоном определено пять ресурсов:There are five resources defined by the template:

  2. Разверните первый ресурс.Expand the first resource. Это учетная запись хранения.It is a storage account. Сравните определение ресурса с определением в справочнике по шаблону.Compare the resource definition to the template reference.

    Определение учетной записи хранения для шаблонов Azure Resource Manager в Visual Studio Code

  3. Разверните второй ресурс.Expand the second resource. В качестве типа ресурса используйте Microsoft.Network/publicIPAddresses.The resource type is Microsoft.Network/publicIPAddresses. Сравните определение ресурса с определением в справочнике по шаблону.Compare the resource definition to the template reference.

    Определение общедоступного IP-адреса для шаблонов Azure Resource Manager в Visual Studio Code

  4. Разверните четвертый ресурс:Expand the fourth resource. В качестве типа ресурса используйте Microsoft.Network/networkInterfaces.The resource type is Microsoft.Network/networkInterfaces:

    Шаблоны Azure Resource Manager в Visual Studio Code для элемента dependsOn

    Элемент dependsOn позволяет определить один ресурс как зависимый от одного или нескольких ресурсов.The dependsOn element enables you to define one resource as a dependent on one or more resources. Этот ресурс зависит от двух других ресурсов:The resource depends on two other resources:

    • Microsoft.Network/publicIPAddresses
    • Microsoft.Network/virtualNetworks
  5. Разверните пятый ресурс.Expand the fifth resource. Этот ресурс — это виртуальная машина.This resource is a virtual machine. Он зависит от двух других ресурсов:It depends on two other resources:

    • Microsoft.Storage/storageAccounts
    • Microsoft.Network/networkInterfaces

На следующей схеме приведены ресурсы и информация о зависимости для этого шаблона.The following diagram illustrates the resources and the dependency information for this template:

Схема зависимости шаблонов Azure Resource Manager в Visual Studio Code

Путем указания зависимостей диспетчер ресурсов позволяет эффективно развертывать решение.By specifying the dependencies, Resource Manager efficiently deploys the solution. Развертывание учетной записи хранения, общедоступного IP-адреса и виртуальной сети происходит в параллельном режиме, так как они не имеют зависимостей.It deploys the storage account, public IP address, and virtual network in parallel because they have no dependencies. После развертывания общедоступного IP-адреса и виртуальной сети создается сетевой интерфейс.After the public IP address and virtual network are deployed, the network interface is created. Когда все ресурсы развернуты, диспетчер ресурсов развертывает виртуальную машину.When all other resources are deployed, Resource Manager deploys the virtual machine.

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

Примечание

Эта статья была изменена и теперь содержит сведения о новом модуле Az для Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Вы по-прежнему можете использовать модуль AzureRM, исправления ошибок для которого будут продолжать выпускаться как минимум до декабря 2020 г.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Дополнительные сведения о совместимости модуля Az с AzureRM см. в статье Introducing the new Azure PowerShell Az module (Знакомство с новым модулем Az для Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Инструкции по установке модуля Az см. в статье об установке Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Существует множество методов по развертыванию шаблонов.There are many methods for deploying templates. В этом руководстве используется Cloud Shell на портале Azure.In this tutorial, you use Cloud Shell from the Azure portal.

  1. Войдите в Cloud Shell.Sign in to the Cloud Shell.

  2. Выберите PowerShell в верхнем левом углу Cloud Shell и нажмите Confirm (Подтвердить).Select PowerShell from the upper left corner of the Cloud shell, and then select Confirm. В этом руководстве используется PowerShell.You use PowerShell in this tutorial.

  3. Выберите Отправить файл из Cloud Shell.Select Upload file from the Cloud shell:

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

  4. Выберите шаблон, сохраненный ранее при выполнении этого руководства.Select the template you saved earlier in the tutorial. azuredeploy.json — имя по умолчанию.The default name is azuredeploy.json. Если файл с тем же именем уже существует, он будет перезаписан без уведомления.If you have a file with the same file name, the old file is overwritten without any notification.

    При необходимости можно использовать команды ls $HOME и cat $HOME/azuredeploy.json, чтобы проверить отправку файлов.You can optionally use the ls $HOME command and the cat $HOME/azuredeploy.json command to verify the files areis uploaded successfully.

  5. Выполните следующие команды PowerShell в командной строке Cloud Shell.From the Cloud shell, run the following PowerShell commands. Для повышения уровня безопасности используйте пароль, созданный для учетной записи администратора виртуальной машины.To increase security, use a generated password for the virtual machine administrator account. См. раздел Предварительные требования.See Prerequisites.

    $resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
    $location = Read-Host -Prompt "Enter the location (i.e. centralus)"
    $adminUsername = Read-Host -Prompt "Enter the virtual machine admin username"
    $adminPassword = Read-Host -Prompt "Enter the admin password" -AsSecureString
    $dnsLabelPrefix = Read-Host -Prompt "Enter the DNS label prefix"
    
    New-AzResourceGroup -Name $resourceGroupName -Location "$location"
    New-AzResourceGroupDeployment `
        -ResourceGroupName $resourceGroupName `
        -adminUsername $adminUsername `
        -adminPassword $adminPassword `
        -dnsLabelPrefix $dnsLabelPrefix `
        -TemplateFile "$HOME/azuredeploy.json"
    
  6. Для отображения вновь созданной виртуальной машины выполните следующую команду PowerShell.Run the following PowerShell command to list the newly created virtual machine:

    $resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
    Get-AzVM -Name SimpleWinVM -ResourceGroupName $resourceGroupName
    

    Имя виртуальной машины внутри шаблона жестко закодировано как SimpleWinVM.The virtual machine name is hard-coded as SimpleWinVM inside the template.

  7. RDP-подключение к виртуальной машине для ее проверки успешно установлено.RDP to the virtual machine to verify the virtual machine has been created successfully.

Очистка ресурсовClean up resources

Если ресурсы Azure больше не нужны, их можно удалить. Для этого необходимо удалить группу ресурсов.When the Azure resources are no longer needed, clean up the resources you deployed by deleting the resource group.

  1. На портале Azure в меню слева выберите Группа ресурсов.From the Azure portal, select Resource group from the left menu.
  2. В поле Filter by name (Фильтровать по имени) введите имя группы ресурсов.Enter the resource group name in the Filter by name field.
  3. Выберите имя группы ресурсов.Select the resource group name. В группе ресурсов должно появится шесть ресурсов.You shall see a total of six resources in the resource group.
  4. В главном меню выберите Удалить группу ресурсов.Select Delete resource group from the top menu.

Дополнительная информацияNext steps

В этом руководстве описано, как разработать и развернуть шаблон для создания виртуальной машины, виртуальной сети и зависимых ресурсов.In this tutorial, you developed and deployed a template to create a virtual machine, a virtual network, and the dependent resources. Сведения о том, как развернуть ресурсы Azure на основе условий, см. по ссылке ниже.To learn how to deploy Azure resources based on conditions, see: