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.

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.