Exercício - Criar recursos usando um script da CLI do Azure

Concluído

Nesta unidade, você continua com o exemplo de uma empresa que desenvolve ferramentas de administração Linux. O objetivo é usar máquinas virtuais (VMs) Linux para permitir que clientes em potencial testem seu software. Com um grupo de recursos já configurado, é hora de criar as VMs.

Sua empresa garantiu um estande em uma grande feira de negócios Linux. Você planeja configurar uma área de demonstração com três terminais, cada um conectado a uma VM Linux separada. Você deve excluir as VMs e recriá-las no final de cada dia para que comecem de novo todas as manhãs. Criar as VMs manualmente após um longo dia é propenso a erros, portanto, você precisa escrever um script da CLI do Azure para automatizar o processo de criação da VM.

Nota

Este exercício é opcional. Se quiser concluir este exercício, terá de criar uma subscrição do Azure antes de começar. Se você não tiver uma conta do Azure ou não quiser criar uma no momento, leia as instruções para entender as informações que estão sendo apresentadas.

Escrever um script para criar máquinas virtuais

Siga estas etapas para escrever um script no Azure Cloud Shell que automatiza a criação de máquinas virtuais.

Nota

Normalmente, você se autenticaria no Azure usando suas credenciais com az login, mas no Cloud Shell, você já está autenticado, portanto, esta etapa é desnecessária.

  1. Abra o Azure Cloud Shell através do portal do Azure ou usando o botão Open Cloud Shell localizado no canto superior direito de muitos blocos de código da CLI do Azure.

  2. Defina a sua subscrição do Azure

    az account set --subscription "my subscription name or ID"
    
  3. Usando um editor de texto de sua escolha, salve o seguinte script em sua unidade local. Neste exemplo, o arquivo é chamado msdocs-script-expanded.sh.

    #!/bin/bash
    
    # Assign parameters to variables
    vmCount=$1
    resourceGroupPrefix=$2
    location=$3
    vmNamePrefix=$4
    adminUserPrefix=$5
    shift 5
    images=("$@")
    
    # Loop 
    for i in $(seq 1 $vmCount)
    do
      let "randomIdentifier=$RANDOM*$RANDOM"
      resourceGroupName=$resourceGroupPrefix-$randomIdentifier
      location=westus
      adminUserName=$adminUserPrefix-$randomIdentifier
      vmName=$vmNamePrefix-$randomIdentifier
      vmImage=${images[$((i-1)) % ${#images[@]}]}
    
      echo "Creating VM $vmName on $vmImage with admin $adminUserName in resource group $resourceGroupName"
    
      # create the resource group
      az group create --name $resourceGroupName --location $location
    
      # create the VM
      az vm create \
          --resource-group $resourceGroupName \
          --location $location \
          --name $vmName \
          --generate-ssh-keys \
          --admin-username $adminUserName \
          --image $vmImage
    
    done
    
    
  4. Carregue o arquivo para sua unidade Cloud Shell. A maneira mais fácil é usar a opção de menu Gerenciar arquivos .

Executar o script

  1. Execute o script usando o seguinte comando:

    #!/bin/bash
    # make your file executable
    chmod +x msdocs-script-expanded.sh
    
    # remove Windows line continuation characters
    sed -i -e 's/\r$//' msdocs-script-expanded.sh
    
    # Run the script
    ./msdocs-script-expanded.sh 3 msdocs-rg eastus2 msdocsvm msdocsadmin Debian11 Debian11 Ubuntu2204  
    
  2. Aguarde a conclusão. O script demora alguns minutos a ser concluído.

  3. Verifique as VMs. Quando o script terminar, verifique-o foi concluído com êxito listando as VMs no grupo de recursos:

    az vm list -o table
    

    Você verá três VMs, cada uma com um nome exclusivo e em um grupo de recursos separado.

Você criou com sucesso um script que automatiza a criação de três VMs, cada uma em um grupo de recursos específico, garantindo que elas estejam prontas para demonstrações diárias na feira. Embora o script seja curto e direto, ele acelera significativamente um processo que, de outra forma, seria demorado e propenso a erros se executado manualmente por meio do portal do Azure.