Crie recursos usando um script CLI do Azure

Concluído

Tarefas complexas ou repetitivas podem ser demoradas e propensas a erros quando feitas manualmente. As organizações preferem automatizar essas tarefas para reduzir os custos e evitar erros.

A automação é essencial no exemplo de Gerenciamento de Relacionamento com o Cliente (CRM), onde você está testando seu software em várias máquinas virtuais. Essas máquinas podem precisar ser continuamente excluídas e recriadas. Usar um script da CLI do Azure para automatizar a criação de VMs é muito mais eficiente e confiável do que criá-las manualmente todas as vezes.

Além da operação de criação de VMs, seu script deve atender outros requisitos:

  • Criar vários trabalhos: Use az vm create para criar várias VMs com nomes exclusivos.
  • Parâmetro do grupo de recursos: Permita que o script aceite o nome do grupo de recursos como um parâmetro.

Nessa unidade, você aprenderá a escrever e executar um script da CLI do Azure em um ambiente Bash que atende a esses requisitos.

O que é um script Bash do CLI do Azure?

Um script da CLI do Azure é um arquivo de texto que contém comandos e construções de controle. O script executa comandos de referência, e as construções de controle são recursos de programação como loops, variáveis, parâmetros, comentários, etc. fornecidos pelo Bash.

Os arquivos de script Bash do CLI do Azure têm uma extensão de arquivo .sh. Você pode criar e salvar esses arquivos usando qualquer editor de texto.

Depois de criar um script, você pode executá-lo na linha de comando passando o nome do arquivo. Coloque um ponto antes do nome do arquivo para o diretório atual e uma barra invertida:

.\myScript.sh

Técnicas de Bash

O Bash inclui recursos comumente encontrados em linguagens de programação. Para o script no qual você está se concentrando nesse exercício, você está usando três recursos principais: variáveis, loops e parâmetros.

Variáveis

Na CLI do Azure, atribuir um valor a uma variável cria automaticamente a variável. Por exemplo:

location="eastus"

Para determinar o valor armazenado em uma variável, use o prefixo $ seguido do nome dela:

echo $location

Loops

O Bash possui várias estruturas de loop, incluindo until, while, e for. O loop for é uma boa escolha para cenários em que você precisa executar um loop em um número definido de valores em uma coleção.

#!/bin/bash
for i in 1 2 3
do
   echo "Loop $i times"
done

Parâmetros

Ao criar um script da CLI do Azure, você pode adicionar parâmetros ao script e especificar valores para esses parâmetros ao executar o script. Por exemplo:

.\setupEnvironment.sh parameter1 parameter2 parameter3

Dentro do script, armazene esses valores em variáveis. O Bash possui várias estruturas de loop, incluindo loopCount e nome:

#!/bin/bash

loopCount=3
name="msdocs"

for i in $(seq 1 $loopCount)
do
    loopName="loop $i for $name"
    echo $loopName
done

A saída tem esta aparência:

loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs

Você pode usar parâmetros como entrada e um loop para criar um conjunto de VMs com base nos parâmetros fornecidos. Essa abordagem mantém o script genérico e evita repetir o mesmo código.

Script de exemplo

Veja um exemplo de script que demonstra o uso de variáveis, loops e parâmetros para criar várias VMs:

#!/bin/bash
    
# Assign parameters to variables
vmCount=$1
adminUserPrefix=$2
shift 2
images=("$@")
    
# Loop 
for i in $(seq 1 $vmCount)
do
    let "randomIdentifier=$RANDOM*$RANDOM"
    resourceGroupName="msdocs-rg-$randomIdentifier"
    location="westus"
    adminUserName="msdocs-$randomIdentifier"
    vmName="msdocs-vm-$randomIdentifier"
    vmImage=${images[$((i-1)) % ${#images[@]}]}

    echo "Creating VM $vmName on $mvImage 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 \
        --admin-username $adminUserName \
        --name $vmName \
        --image $vmImage \
        --generate-ssh-keys

done

Executar o script

Salve o script como msdocs-script.sh e execute-o a partir de uma linha de comando Bash, fornecendo os parâmetros necessários:

./msdocs-script.sh 3  Debian11 Debian11 Ubuntu2204

Usando esse script, você pode criar com eficiência várias VMs em diferentes grupos de recursos, automatizar tarefas repetitivas e garantir consistência em todo o seu ambiente do Azure. Na próxima unidade, vamos criar esse script para incluir parâmetros adicionais e verificar se a conclusão foi bem-sucedida.