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ê deve criar um modelo do Azure Resource Manager (modelo do ARM), implantá-lo no Azure e, em seguida, atualizar 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 primeira linha 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.

    Visual Studio Code azuredeploy.json file showing the snippet choices for Azure Resource Manager templates.

    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.

    Screenshot of the Visual Studio Code terminal window with bash in the drop-down.

  4. Selecione Git Bash.

    Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

  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. Um navegador é aberto para que você possa entrar 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 tenha usado mais de uma área restrita recentemente, poderá haver mais de uma Assinatura de Concierge 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 nenhum recurso, portanto, você não verá nenhum recurso criado. 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. Certifique-se de ter instalado as Ferramentas do Azure PowerShell a partir das 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.

    Screenshot of the Visual Studio Code terminal window with pwsh terminal selected.

    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.

      Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

    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 ter se conectado, o Visual Studio Code listará 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". Essa é a assinatura a ser usada 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. Ela será algo parecido com cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0:

    Get-AzSubscription
    
  2. Execute o comando a seguir, substituindo {sua ID de assinatura} pelo que você copiou na etapa anterior para alterar 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 nenhum recurso, portanto, não será possível conferir os 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.

Após implantar o modelo do ARM no Azure, acesse o portal do Azure e verifique se você está 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.

    Azure portal interface for the resource group overview with the deployments section showing that one succeeded.

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

    Azure portal interface for the deployments with the one deployment listed and a succeeded status.

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

    Azure portal interface for the specific deployment with no resources listed.

  6. Deixe a página aberta no navegador. Você 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ê deve adicionar um recurso de conta do armazenamento do Azure ao modelo do ARM usando um snippet da extensão Azure Resource Manager Tools 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.

    Visual Studio Code arm-storage snippet shown under the typed word storage.

    O arquivo terá 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.

    Screenshot of Visual Studio Code showing the IntelliSense choices for the name attribute of the storage SKU.

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

  6. Salve o arquivo.

Implantar o modelo ARM atualizado

Aqui, você alterará 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. Acesse o grupo de recursos e verá que agora há Duas Implantações bem-sucedidas. Selecione esse link.

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

    Screenshot of the Azure portal interface for the deployments with the two deployments listed and succeeded statuses.

  2. Selecione addstorage.

    Screenshot of the Azure portal interface for the specific deployment with one resource listed.

Observe que a conta de armazenamento foi implantada.