Partilhar via


Tutorial: Criar modelos ARM com recursos dependentes

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

Neste tutorial, vai criar uma conta de armazenamento, uma máquina virtual, uma rede virtual e mais alguns recursos dependentes. Alguns dos recursos não podem ser implantados até que outro recurso exista. Por exemplo, não é possível criar a máquina virtual enquanto as respetivas conta de armazenamento e interface de rede existirem. Você define essa relação tornando um recurso dependente dos outros recursos. O Resource Manager avalia as dependências entre recursos e as implanta em sua ordem dependente. Quando os recursos não são dependentes entre si, o Resource Manager implementa-os em paralelo. Para obter mais informações, veja Definir a ordem para implementar recursos nos modelos do ARM.

Diagrama que mostra a ordem de implantação dos recursos dependentes em um modelo do Gerenciador de Recursos.

Este tutorial abrange as seguintes tarefas:

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

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

Para obter um módulo do Learn que cobre dependências de recursos, consulte Gerenciar implantações complexas na nuvem usando recursos avançados de modelo ARM.

Pré-requisitos

Para concluir este artigo, precisa de:

  • Visual Studio Code com extensão Ferramentas do Resource Manager. Para obter mais informações, consulte Guia de início rápido: criar modelos ARM com o Visual Studio Code.

  • Para aumentar a segurança, utilize uma palavra-passe gerada para a conta de administrador da máquina virtual. Você pode usar o Azure Cloud Shell para executar o seguinte comando no PowerShell ou no Bash:

    openssl rand -base64 32
    

    Para saber mais, execute man openssl rand para abrir a página de manual.

    O Azure Key Vault foi criado para salvaguardar chaves criptográficos e outros segredos. Para obter mais informações, consulte Tutorial: Integrar o Azure Key Vault na implantação do modelo ARM. Também recomendamos que atualize a sua palavra-passe de três em três meses.

Abrir um modelo de Início Rápido

Os Modelos de Início Rápido do Azure são um repositório para modelos ARM. Em vez de criar um modelo do zero, pode encontrar um modelo de exemplo e personalizá-lo. O modelo utilizado neste tutorial é denominado Implementar uma VM do Windows simples.

  1. No Visual Studio Code, selecione Ficheiro>Abrir Ficheiro.

  2. em Nome de ficheiro, cole o seguinte URL:

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

  4. Selecione Ficheiro>Guardar Como para guardar uma cópia do ficheiro no computador local, com o nome azuredeploy.json.

Explorar o modelo

Ao explorar o modelo nesta secção, tente responder a estas perguntas:

  • Quantos recursos do Azure estão definidos neste modelo?
  • Um dos recursos é uma conta de armazenamento do Azure. A definição aparenta ser como a utilizada no último tutorial?
  • Pode encontrar as referências de modelo para os recursos definidos neste modelo?
  • Pode 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 resources:

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

    Há seis recursos definidos pelo modelo:

  2. Expanda o primeiro recurso. É uma conta de armazenamento. Compare a definição do recurso à referência do modelo.

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

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

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

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

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

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

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

    O dependsOn elemento permite definir um recurso como dependente de um ou mais recursos. Este 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. Este recurso é uma máquina virtual. Depende de dois outros recursos:

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

O diagrama seguinte ilustra os recursos e as informações de dependência para este modelo:

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

Ao especificar as dependências, o Resource Manager implementa a solução de forma eficiente. Implementa a conta de armazenamento, o endereço IP público e a rede virtual em paralelo porque não têm dependências. Depois de o endereço IP público e a rede virtual serem implementados, a interface de rede é criada. Quando todos os outros recursos estiverem implementados, o Resource Manager implementa a máquina virtual.

Implementar o modelo

  1. Faça login no Cloud Shell.

  2. Escolha seu ambiente preferido selecionando PowerShell ou Bash (para CLI) no canto superior esquerdo. Reinicie o shell quando você alternar.

    Captura de ecrã do Cloud Shell do portal do Azure com a opção de carregar ficheiro realçada.

  3. Selecione Carregar/transferir ficheiros e, em seguida, selecione Carregar. Veja a captura de tela anterior. Selecione o arquivo salvo anteriormente. Depois de carregar o arquivo, use o ls comando e o cat comando para verificar se o arquivo foi carregado com êxito.

  4. Para implantar o modelo, execute o seguinte script do PowerShell.

    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.

Clean up resources (Limpar recursos)

Quando você não precisar mais dos recursos do Azure, limpe os recursos implantados excluindo o grupo de recursos.

  1. No portal do Azure, selecione Grupo de recursos no menu à esquerda.
  2. Introduza o nome do grupo de recursos no campo Filtrar por nome.
  3. Selecione o nome do grupo de recursos. Você vê um total de seis recursos no grupo de recursos.
  4. Selecione Eliminar grupo de recursos no menu superior.

Próximos passos

Neste tutorial, desenvolveu e implementou 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, consulte: