Exercício – Criar e implantar um modelo do Azure Resource Manager

Concluído

Observação

Na primeira vez que você ativar uma área restrita e aceitar os termos, sua conta Microsoft será associada a um novo diretório do Azure chamado Área Restrita do Microsoft Learn. Você também será adicionado a uma assinatura especial chamada Assinatura do Concierge.

Neste exercício, você cria um modelo do Azure Resource Manager (ARM), implanta-o no Azure e atualiza esse modelo do ARM para adicionar parâmetros e saídas.

Este exercício usará Ferramentas do Azure Resource Manager para Visual Studio Code. Instale essa extensão no Visual Studio Code antes de iniciar o exercício.

Criar um modelo do ARM

  1. Abra o Visual Studio Code e crie um arquivo chamado azuredeploy.json.

  2. A extensão do modelo do ARM do Visual Studio Code é configurada com snippets que ajudam você a desenvolver modelos. Vamos começar adicionando um modelo em branco. Na linha 1 do arquivo, insira arm.

  3. O Visual Studio Code exibe automaticamente várias opções potenciais que começam com arm!. Selecione o modelo do ARM (Azure Resource Manager). O Visual Studio Code processa automaticamente os esquemas e as linguagens do seu modelo.

    Arquivo azuredeploy.json do Visual Studio Code mostrando as opções de snippet para modelos do Azure Resource Manager.

    Agora, o arquivo tem esta aparência:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [],
      "outputs": {}
    }
    

    Observe que esse arquivo tem todas as seções de um modelo do ARM que descrevemos na unidade anterior.

  4. Salve as alterações no arquivo pressionando Ctrl+S.

Implantar o modelo ARM no Azure

Para implantar esse modelo no Azure, será necessário entrar em sua conta do Azure do terminal do Visual Studio Code. Verifique se você tem as ferramentas da CLI do Azure instaladas e entre com a mesma conta usada para ativar a área restrita.

  1. Selecione Terminal > Novo Terminal para abrir uma janela do terminal.

  2. Caso a barra de comandos da janela do terminal indique bash, você tem o shell correto para trabalhar e pode ir para a próxima seção.

  3. Caso contrário, remova a lista suspensa e selecione Selecionar perfil padrão.

    Captura de tela da janela do terminal do Visual Studio Code com bash no menu suspenso.

  4. Selecione Git Bash.

    Captura de tela mostrando a janela do terminal do Visual Studio Code que mostra o menu suspenso do shell selecionado.

  5. Selecione Terminal > Novo Terminal para abrir uma janela do terminal do shell do Bash.

Entrar no Azure

  1. Na janela do terminal, execute este comando para entrar no Azure.

    az login
    
  2. Na janela do navegador que é aberta, entre em sua conta. Depois de entrar, uma lista das assinaturas associadas a essa conta será exibida no terminal. Se você tiver ativado a área restrita, verá uma assinatura chamada Assinatura de Concierge. Use-a durante o restante do exercício.

  3. No shell bash, execute o comando a seguir para definir a assinatura padrão para todos os comandos da CLI do Azure executados nesta sessão.

    az account set --subscription "Concierge Subscription"
    

    Caso você tenha usado mais de uma área restrita recentemente, mais de uma Assinatura do Concierge pode estar listada. Se sim, use as duas próximas etapas para identificar e definir a assinatura padrão.

    1. Execute o comando a seguir para obter as IDs de assinatura do Concierge.
     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
    1. Defina a assinatura padrão executando o comando a seguir, substituindo {sua ID de assinatura} pela ID de assinatura mais recente do Concierge.
    az account set --subscription {your subscription ID}
    

Definir o grupo de recursos padrão

Ao configurar o grupo de recursos padrão para aquele criado quando você ativou a área restrita, omita esse parâmetro dos comandos da CLI do Azure neste exercício. Para definir o grupo de recursos, execute o comando a seguir.

az configure --defaults group=<rgn>[sandbox resource group name]</rgn>

Implantar o modelo no Azure

Execute os comandos a seguir para implantar o modelo do ARM no Azure. O modelo do ARM ainda não tem recursos, portanto, não há recursos criados. Você deve obter uma implantação bem-sucedida.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today

az deployment group create \
 --name $DeploymentName \
 --template-file $templateFile

A seção superior do código prévio define as variáveis da CLI do Azure, que incluem o caminho para o arquivo de modelo a ser implantado e o nome da implantação. A seção inferior, az deployment group create, implanta o modelo no Azure. Observe que o nome da implantação será blanktemplate com a data como um sufixo.

Você deverá ver Running... no terminal.

Para implantar esse modelo no Azure, será necessário entrar em sua conta do Azure do terminal do Visual Studio Code. Garanta que as Ferramentas do Azure PowerShell estejam instaladas nas Extensões do Visual Studio Code e entre na mesma conta que ativou a área restrita.

  1. Na barra de comandos, selecione Terminal > Novo Terminal para abrir uma janela do PowerShell.

  2. Se a barra de comandos da janela do terminal mostra PowerShell, você tem o shell correto do qual trabalhar e pode ir para a próxima seção.

    Captura de tela da janela do terminal do Visual Studio Code com o terminal

    1. Caso contrário, selecione a seta para baixo e, na lista suspensa, selecione PowerShell. Se essa opção estiver ausente, selecione Selecionar Perfil Padrão.

    2. No campo de entrada, role para baixo e selecione PowerShell.

      Captura de tela mostrando a janela do terminal do Visual Studio Code que mostra o menu suspenso do shell selecionado.

    3. Selecione Terminal > Novo Terminal para abrir uma janela do terminal do PowerShell.

Entrar no Azure usando o Azure PowerShell

  1. Do terminal no Visual Studio Code, execute o comando a seguir para entrar no Azure. Um navegador será aberto para que seja possível entrar em sua conta.

    Connect-AzAccount
    

    Dica

    O módulo do AZ PowerShell é o substituto do AzureRM e é a versão recomendada a ser usada para interagir com o Azure.

  2. Entre usando a conta usada para ativar a área restrita. Depois de entrar, o Visual Studio Code lista as assinaturas associadas à sua conta na janela do terminal. Se você tiver ativado a área restrita, verá um bloco de código que contém "name": "Concierge Subscription". Use esta assinatura para o restante do exercício.

Defina a assinatura padrão para todos os comandos do PowerShell nesta sessão

  1. Execute o comando a seguir para obter suas assinaturas e IDs. A ID da assinatura será a segunda coluna. Procure a Assinatura de Concierge e copie o valor na segunda coluna. É semelhante a aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:

    Get-AzSubscription
    
  2. Execute o comando a seguir, substituindo {Your subscription ID} pela ID da assinatura que você copiou na etapa anterior. Este comando altera a sua assinatura ativa para a Assinatura do Concierge.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    
  3. Execute o comando a seguir para permitir que o grupo de recursos padrão seja o grupo de recursos criado para você no ambiente de área restrita. Essa ação permitirá omitir o parâmetro do restante dos comandos do Azure PowerShell neste exercício.

    Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    

Implantar o modelo no Azure

Implante o modelo no Azure executando os comandos a seguir. O modelo do ARM ainda não tem recursos, portanto, não há recursos criados.

$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile

A seção superior do código prévio define as variáveis do Azure PowerShell, que incluem o caminho para o arquivo de implantação e o nome da implantação. Em seguida, o comando New-AzResourceGroupDeployment implantará o modelo no Azure. Observe que o nome da implantação será blanktemplate com a data como um sufixo.

Ao implantar o seu modelo do ARM no Azure, acesse o portal do Azure e certifique-se de estar na assinatura da área restrita. Para fazer isso, selecione seu avatar no canto superior direito da página. Selecione Mudar diretório. Na lista, escolha o diretório Área restrita do Microsoft Learn.

  1. No menu Recursos, selecione Grupos de recursos.

  2. Selecione o grupo de recursos [nome do grupo de recursos da área restrita].

  3. No painel Visão geral, você verá que a implantação foi bem-sucedida.

    Interface do portal do Azure para a visão geral do grupo de recursos com a seção de implantações mostrando uma implantação bem-sucedida.

  4. Selecione 1 Êxito para ver os detalhes da implantação.

    Interface do portal do Azure para as implantações com a implantação em questão listada e um status de êxito.

  5. Selecione blanktemplate para ver quais recursos foram implantados. Nesse caso, ele está vazio porque você ainda não especificou nenhum recurso no modelo.

    Interface do portal do Azure para a implantação específica sem recursos listados.

  6. Deixe a página aberta no navegador para que você possa verificar as implantações novamente.

Adicionar um recurso ao modelo do ARM

Na tarefa anterior, você aprendeu a criar um modelo em branco e implantá-lo. Agora, você está pronto para implantar um recurso real. Nesta tarefa, você adiciona um recurso de conta de Armazenamento do Microsoft Azure ao modelo do ARM usando um snippet da extensão Ferramentas do Azure Resource Manager para Visual Studio Code.

  1. No arquivo azuredeploy.json no Visual Studio Code, coloque o cursor entre os colchetes no bloco de recursos "resources":[],.

  2. Insira armazenamento dentro dos colchetes. Uma lista de snippets relacionados será exibida. Selecione arm-storage.

    Snippet de armazenamento do Azure Resource Manager do Visual Studio Code mostrado no armazenamento de palavras digitado.

    O seu arquivo tem a seguinte aparência:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [
        {
          "type": "Microsoft.Storage/storageAccounts",
          "apiVersion": "2023-05-01",
          "name": "storageaccount1",
          "tags": {
            "displayName": "storageaccount1"
          },
          "location": "[resourceGroup().location]",
          "kind": "StorageV2",
          "sku": {
            "name": "Premium_LRS"
          }
        }
      ],
      "outputs": {}
    }
    

    Os valores que devem ser editados são destacados na nova seção do arquivo, e é possível navegar por eles pressionando a tecla Tab.

    Observe que os atributos tags e location estão preenchidos. O atributo location usa uma função para definir a localização do recurso e do grupo de recursos. Você vai aprender sobre as marcas e funções no próximo módulo.

  3. Altere os valores name e displayName do recurso para algo exclusivo, como learnexercise12321. Esse nome deve ser exclusivo em todo o Azure, portanto, escolha algo exclusivo para você.

  4. Altere o valor de name da SKU de Premium_LRS para Standard_LRS. Altere o valor de tier para Standard. Observe que o Visual Studio Code fornece as opções apropriadas para os valores de atributo no IntelliSense. Exclua o valor padrão, incluindo as aspas, e insira aspas para ver esse trabalho.

    Captura de tela do Visual Studio Code mostrando as opções do IntelliSense para o atributo nome da SKU de armazenamento.

  5. O local do recurso é definido como o mesmo local do grupo de recursos em que o recurso é implantado. Mantenha o valor padrão aqui.

  6. Salve o arquivo.

Implantar o modelo ARM atualizado

Aqui, você altera o nome da implantação para refletir melhor o que essa implantação faz.

Execute os comandos da CLI do Azure a seguir no terminal. Esse snippet é o mesmo código usado anteriormente, porém o nome da implantação será alterado.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today

az deployment group create \
  --name $DeploymentName \
  --template-file $templateFile

Execute os comandos do Azure PowerShell a seguir no terminal. Esse snippet é o mesmo código usado anteriormente, porém o nome da implantação será alterado.

$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile

Verifique sua implantação

  1. Quando a implantação for concluída, volte para o portal do Azure no navegador. Vá para o grupo de recursos e você verá que agora há 2 implantações bem-sucedidas. Selecione esse link.

    Observe que ambas as implantações estão na lista.

    Captura de tela da interface do portal do Microsoft Azure para as implantações com as duas implantações listadas e os status Bem-sucedido.

  2. Selecione addstorage.

    Captura de tela da interface do portal do Microsoft Azure para a implantação específica com um recurso listado.

Observe que a conta de armazenamento foi implantada.