Compartilhar via


Tutorial: Criar modelos do ARM com recursos dependentes

Saiba como criar um modelo do ARM (modelo do Azure Resource Manager) para implantar vários recursos e configurar a ordem de implantação. Depois de criar o modelo, você poderá implantá-lo usando o Azure Cloud Shell no portal do Azure.

Neste tutorial, você criará uma conta de armazenamento, uma máquina virtual, uma rede virtual e alguns outros recursos dependentes. Alguns recursos não podem ser implantados até que outro recurso exista. Por exemplo, não é possível criar a máquina virtual enquanto a conta de armazenamento e o adaptador de rede não existirem. Defina essa relação marcando um recurso como dependente dos outros. O Gerenciador de Recursos avalia as dependências entre os recursos e os implanta na ordem de dependência. Quando os recursos não dependem uns dos outros, o Gerenciador de Recursos os implanta paralelamente. Para obter mais informações, consulte Definir a ordem de implantação dos recursos em modelos do ARM.

Diagrama que mostra a ordem de implantação de recursos dependentes em um modelo do Resource Manager.

Este tutorial cobre as seguintes tarefas:

  • Abrir um modelo de Início Rápido
  • Explorar o modelo
  • Implantar o modelo

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Para acessar um módulo do Learn que aborda as dependências de recursos, confira Gerenciar implantações de nuvem complexas usando recursos avançados do modelo do ARM.

Pré-requisitos

Para concluir este artigo, você precisa do seguinte:

Abrir um modelo de Início Rápido

Modelos de Início Rápido do Azure é um repositório de modelos do ARM. Em vez de criar um modelo do zero, você pode encontrar um exemplo de modelo e personalizá-lo. O modelo usado neste tutorial é chamado Implantar uma VM Windows simples.

  1. No Visual Studio Code, escolha Arquivo>Abrir Arquivo.

  2. Em Nome do arquivo, cole a seguinte URL:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.json
    
  3. Escolha Abrir para abrir o arquivo.

  4. Selecione Arquivo>Salvar como para salvar uma cópia do arquivo no computador local com o nome azuredeploy.json.

Explorar o modelo

Ao explorar o modelo nesta seção, tente responder a essas perguntas:

  • Quantos recursos do Azure estão definidos nesse modelo?
  • Um dos recursos é uma conta de armazenamento do Azure. A definição se parece com a usada no último tutorial?
  • Você consegue encontrar as referências de modelo para os recursos definidos neste modelo?
  • Você consegue encontrar as dependências dos recursos?
  1. No Visual Studio Code, recolha os elementos até ver apenas os elementos de primeiro nível e os elementos de segundo nível dentro dos resources:

    Captura de tela do Visual Studio Code exibindo um modelo do ARM com elementos recolhidos.

    Há seis recursos definidos pelo modelo:

  2. Expanda o primeiro recurso. Trata-se de uma conta de armazenamento. Compare a definição de recurso com a referência de modelo.

    Captura de tela do Visual Studio Code mostrando a definição da conta de armazenamento em um modelo do ARM.

  3. Expanda o segundo recurso. O tipo de recurso é Microsoft.Network/publicIPAddresses. Compare a definição de recurso com a referência de modelo.

    Captura de tela do Visual Studio Code mostrando a definição do endereço IP público em um modelo do ARM.

  4. Expanda o terceiro recurso. O tipo de recurso é Microsoft.Network/networkSecurityGroups. Compare a definição de recurso com a referência de modelo.

    Captura de tela do Visual Studio Code mostrando a definição do grupo de segurança de rede em um modelo do ARM.

  5. Expanda o quarto recurso. O tipo de recurso é Microsoft.Network/virtualNetworks:

    Captura de tela do Visual Studio Code mostrando a definição da rede virtual com o elemento dependsOn em um modelo do ARM.

    O elemento dependsOn permite definir um recurso como dependente de um ou mais recursos. O recurso depende de um outro recurso:

    • Microsoft.Network/networkSecurityGroups
  6. Expanda o quinto recurso. O tipo de recurso é Microsoft.Network/networkInterfaces. O recurso depende de dois outros recursos:

    • Microsoft.Network/publicIPAddresses
    • Microsoft.Network/virtualNetworks
  7. Expanda o sexto recurso. Esse recurso é uma máquina virtual. Depende de dois outros recursos:

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

O diagrama a seguir ilustra os recursos e as informações de dependência para o modelo:

Diagrama que mostra as relações de dependência entre recursos em um modelo do ARM exibido no Visual Studio Code.

Ao especificar as dependências, o Gerenciador de Recursos implanta a solução eficientemente. Ele implanta a conta de armazenamento, o endereço IP público e a rede virtual em paralelo porque eles não têm dependências. Depois que o endereço IP público e a rede virtual são implantados, o adaptador de rede é criado. Quando todos os outros recursos são implantados, o Gerenciador de Recursos implanta a máquina virtual.

Implantar o modelo

  1. Entrar no Cloud Shell.

  2. Escolha seu ambiente preferencial selecionando PowerShell ou Bash (para a CLI) no canto superior esquerdo. Ao alternar, é necessário reiniciar o shell.

    Captura de tela do Cloud Shell no portal do Azure com a opção Carregar arquivo realçada.

  3. Escolha Carregar/fazer o download dos arquivos e, em seguida, escolha Carregar. Consulte a captura de tela anterior. Selecione o arquivo que você salvou anteriormente. Depois de carregar o arquivo, use os comandos ls e cat para verificar se o arquivo foi carregado com êxito.

  4. Execute o script do PowerShell a seguir para implantar o modelo.

    echo "Enter a project name that is used to generate resource group name:" &&
    read projectName &&
    echo "Enter the location (i.e. centralus):" &&
    read location &&
    echo "Enter the virtual machine admin username:" &&
    read adminUsername &&
    echo "Enter the DNS label prefix:" &&
    read dnsLabelPrefix &&
    resourceGroupName="${projectName}rg" &&
    az group create --name $resourceGroupName --location $location &&
    az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json" --parameters adminUsername=$adminUsername dnsLabelPrefix=$dnsLabelPrefix
    
  5. RDP para a máquina virtual para verificar se a máquina virtual foi criada com êxito.

Limpar os recursos

Quando os recursos do Azure já não forem necessários, limpe os recursos implantados excluindo o grupo de recursos.

  1. No portal do Azure, escolha Grupos de recursos do menu à esquerda.
  2. No campo Filtrar por nome, insira o nome do grupo de recursos.
  3. Selecione o nome do grupo de recursos. Você verá um total de seis recursos no grupo de recursos.
  4. Escolha Excluir grupo de recursos no menu superior.

Próximas etapas

Neste tutorial, você desenvolveu e implantou um modelo para criar uma máquina virtual, uma rede virtual e os recursos dependentes. Para saber como usar scripts de implantação para executar operações pré/pós-implantação, confira: