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

Concluído

Nota

A primeira vez que ativar um sandbox e aceitar os termos, a sua conta Microsoft será associada a um novo diretório do Azure chamado Microsoft Learn Sandbox. Também é adicionado a uma subscrição especial chamada Subscrição de Assistente.

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

Este exercício utiliza a extensão Azure Resource Manager Tools para Visual Studio Code. Certifique-se de instalar essa extensão no Visual Studio Code antes de iniciar o exercício.

Criar um modelo ARM

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

  2. A extensão do modelo ARM para o Visual Studio Code vem configurada com vários fragmentos que o ajudam a desenvolver os modelos. Vamos começar por adicionar um modelo em branco. Na linha 1 do ficheiro, introduza o braço.

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

    Ficheiro azuredeploy.json do Visual Studio Code a mostrar opções de fragmentos para modelos do Azure Resource Manager.

    O seu ficheiro tem agora o seguinte aspeto:

    {
      "$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 ARM que descrevemos na unidade anterior.

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

Implementar o modelo do Resource Manager no Azure

Para implementar este modelo no Azure, tem de iniciar sessão na sua conta do Azure a partir do terminal do Visual Studio Code. Confirme que tem as ferramentas da CLI do Azure instaladas e que está a iniciar sessão na mesma conta que utilizou para ativar o sandbox.

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

  2. Se a barra de comandos da janela do terminal diz bash, você tem o shell certo para trabalhar e você pode pular para a próxima seção.

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

    Captura de tela da janela do terminal do Visual Studio Code com bash na lista suspensa.

  4. Selecione Git Bash.

    Captura de tela da janela do terminal do Visual Studio Code mostrando a lista suspensa de shell de seleção.

  5. Selecione Terminal > New Terminal para abrir uma janela de terminal bash shell.

Iniciar sessão no Azure

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

    az login
    
  2. Na janela do navegador que se abre, inicie sessão na sua conta. Depois de iniciar sessão, é apresentada uma lista das subscrições associadas a esta conta no terminal. Se você ativou a área restrita, deverá ver uma chamada Concierge Subscription. Utilize-a para o resto do exercício.

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

    az account set --subscription "Concierge Subscription"
    

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

    1. Execute o seguinte comando 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 seguinte comando, substituindo {sua ID de assinatura} pela ID de Assinatura do Concierge mais recente.
    az account set --subscription {your subscription ID}
    

Definir o grupo de recursos predefinido

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

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

Implementar o modelo no Azure

Execute os comandos a seguir para implantar o modelo ARM no Azure. O modelo 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 secção superior do código anterior define as variáveis da CLI do Azure, que incluem o caminho para o ficheiro de modelo a implementar e o nome da implementação. A seção inferior, az deployment group create, implanta o modelo no Azure. Observe que o nome da implantação está blanktemplate com a data como sufixo.

Você deve ver Running... no terminal.

Para implementar este modelo no Azure, tem de iniciar sessão na sua conta do Azure a partir do terminal do Visual Studio Code. Certifique-se de que as Ferramentas do Azure PowerShell estão instaladas a partir das Extensões de Código do Visual Studio e inicie sessão na mesma conta que ativou a sandbox.

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

  2. Se a barra de comandos da janela do terminal mostrar o PowerShell, você terá o shell certo para trabalhar e poderá pular para a próxima seção.

    Captura de tela da janela do terminal do Visual Studio Code com o terminal 'pwsh' selecionado.

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

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

      Captura de tela da janela do terminal do Visual Studio Code mostrando a lista suspensa de shell de seleção.

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

Iniciar sessão no Azure com o Azure PowerShell

  1. A partir do terminal do Visual Studio Code, execute o seguinte comando para iniciar sessão no Azure. É apresentado um browser para poder iniciar sessão na sua conta.

    Connect-AzAccount
    

    Gorjeta

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

  2. Inicie sessão com a conta que utilizou para ativar a sandbox. Depois de entrar, o Visual Studio Code lista as assinaturas associadas à sua conta na janela do terminal. Se você ativou a área restrita, verá um bloco de código que contém "name": "Concierge Subscription". Você usa esta assinatura para o resto do exercício.

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

  1. Execute o seguinte comando para obter a(s) sua(s) assinatura(s) e a(s) sua(s) ID(s). O ID de subscrição é a segunda coluna. Procure a Assinatura do Concierge e copie o valor na segunda coluna. Parece algo como aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e:

    Get-AzSubscription
    
  2. Execute o seguinte comando, substituindo {Your subscription ID} pelo que você copiou na etapa anterior. Este comando altera a sua subscrição ativa da Subscrição do Concierge.

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

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

Implementar o modelo no Azure

Implante o modelo no Azure executando os seguintes comandos. O modelo 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 anterior define variáveis do Azure PowerShell, que inclui o caminho para o arquivo de implantação e o nome da implantação. Em seguida, o New-AzResourceGroupDeployment comando implanta o modelo no Azure. Observe que o nome da implantação está blanktemplate com a data como sufixo.

Quando você implantar seu modelo ARM no Azure, vá para o portal do Azure e verifique se você está na assinatura de área restrita. Para tal, selecione o seu avatar no canto superior direito da página. Selecione Trocar diretório. Na lista, selecione o diretório Sandbox do Microsoft Learn.

  1. No menu de recursos, selecione Grupos de recursos.

  2. Selecione o grupo de recursos [nome do grupo de recursos do sandbox].

  3. No painel Visão geral, você vê que uma implantação foi bem-sucedida.

    Interface do portal do Azure da Descrição geral do grupo de recursos com a secção Implementações a mostrar que uma foi realizada com êxito.

  4. Selecione 1 efetuada com êxito para ver os detalhes da implementação.

    Interface do portal do Azure para as implementações com uma implementação listada e um estado 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 implementação específica sem recursos indicados.

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

Adicionar um recurso ao modelo do Resource Manager

Na tarefa anterior, aprendeu como criar um modelo em branco e implementá-lo. Agora, está pronto para implementar um recurso. Nesta tarefa, você adiciona um recurso de conta de armazenamento do Azure ao modelo ARM, usando um trecho 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 colchetes no bloco "resources":[],de recursos .

  2. Introduza storage entre os parênteses retos. Será apresentada uma lista de fragmentos relacionados. Selecione arm-storage.

    Visual Studio Code azure Resource Manager-storage snippet mostrado sob o armazenamento de palavras digitadas.

    O seu ficheiro tem o seguinte aspeto:

    {
      "$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 você deve editar são realçados na nova seção do seu arquivo e você pode navegar neles pressionando a tecla Tab .

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

  3. Altere os valores do nome do recurso e displayName para algo exclusivo (por exemplo, learnexercise12321). Este nome tem de ser exclusivo em todo o Azure, pelo que deve escolher algo exclusivo para si.

  4. Altere o valor do nome do SKU de Premium_LRS para Standard_LRS. Altere o valor do escalão para Standard. Repare que o Visual Studio Code lhe apresenta as opções adequadas para os valores dos atributos 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 name da SKU de armazenamento.

  5. O local do recurso é definido como o mesmo local do grupo de recursos onde o recurso é implantado. Deixe a predefinição aqui.

  6. Guarde o ficheiro.

Implementar o modelo do Resource Manager atualizado

Aqui, pode alterar o nome da implementação para refletir melhor o que esta implementação faz.

Execute os seguintes comandos da CLI do Azure no terminal. Este fragmento é o código que utilizou anteriormente, mas o nome da implementação foi alterado.

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

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

Execute os seguintes comandos do Azure PowerShell no terminal. Este fragmento é o código que utilizou anteriormente, mas o nome da implementação foi alterado.

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

Verificar a implementação

  1. Quando a implantação terminar, volte para o portal do Azure em seu navegador. Vá para o seu grupo de recursos e verá que agora existem 2 implantações bem-sucedidas . Selecione esta ligação.

    Repare que ambas as implementações se encontram na lista.

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

  2. Selecione addstorage.

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

Observe que a conta de armazenamento está implantada.