Provisionar uma máquina virtual Linux usando a CLI do Azure

Concluído

Você pode instalar a CLI do Azure localmente nos sistemas operacionais Linux, macOS e Windows. Os detalhes da instalação dependem do sistema operacional e, no caso do Linux, também da distribuição.

Nota

Para obter mais informações sobre as opções de instalação do Linux, consulte Instalar a CLI do Azure no Linux.

Para usar a CLI do Azure interativamente, inicie um shell disponível em seu sistema operacional, como cmd.exe no Windows ou Bash no Linux ou macOS e emita um comando no prompt de comando. Para automatizar tarefas repetitivas, monte os comandos da CLI em um shell script usando a sintaxe de script do shell escolhido e, em seguida, execute o script.

Se quiser evitar a instalação da CLI do Azure, você pode usar o Azure Cloud Shell. O Azure Cloud Shell é um shell interativo e autenticado que você pode usar para gerenciar recursos do Azure a partir de um navegador da Web. O Azure Cloud Shell pode executar o Bash e o Azure PowerShell e tem a versão atual da CLI do Azure já pré-instalada. Para acessar o Azure Cloud Shell, abra o link do Azure Cloud Shell em um navegador da Web ou inicie-o no portal do Azure selecionando o ícone do Azure Cloud Shell ao lado da caixa de texto de pesquisa global.

Captura de ecrã a mostrar o ícone do Azure Cloud Shell no portal do Azure.

O Azure Cloud Shell fornece o benefício da autenticação interna, que usa as credenciais que você fornece ao acessar sua assinatura do Azure a partir do navegador da Web. Isso elimina a necessidade de executar o comando no início de cada sessão, o que é necessário quando você executa a az login CLI do Azure localmente.

Implantar uma VM Linux usando a CLI do Azure

O processo de provisionamento de uma VM do Azure executando Linux usando a CLI do Azure normalmente envolve a seguinte sequência de etapas de alto nível:

  • Identifique uma imagem de VM adequada.
  • Identifique o tamanho adequado da VM.
  • Crie um grupo de recursos.
  • Crie e configure uma rede virtual.
  • Crie uma VM do Azure.

Dependendo do ambiente e dos requisitos existentes, pode não ser necessário concluir cada uma das etapas anteriores. Por exemplo, você pode usar um grupo de recursos existente ou uma sub-rede de rede virtual para sua implantação. Além disso, a CLI do Azure dá suporte a uma ampla variedade de configurações padrão, que se aplicam automaticamente se você decidir não atribuir valores explicitamente a algumas das configurações de recursos. Por exemplo, como na implantação baseada no portal do Azure, se você não especificar uma rede virtual existente, a CLI do Azure provisionará automaticamente uma para você. Neste módulo, você confiará nas configurações padrão da CLI do Azure e ignorará o processo de criação de uma rede virtual.

Nota

Para obter informações sobre como implementar redes virtuais usando a CLI do Azure, consulte Guia de início rápido: usar a CLI do Azure para criar uma rede virtual.

Identificar uma imagem de VM adequada

Antes de iniciar o processo de provisionamento, primeiro você precisa determinar a imagem da VM que deseja usar. Você também deve verificar a disponibilidade da imagem na região do Azure que hospedará sua implantação.

Para listar as regiões do Azure disponíveis na sua subscrição, execute o seguinte comando a partir de uma sessão Bash no painel Azure Cloud Shell:

az account list-locations --output table

Revise a saída e identifique o valor na coluna Nome da região que você pretende usar. Suponha que você escolheu a região Leste dos EUA como seu alvo, de modo que o nome é eastus.

Para identificar a imagem adequada, você precisará determinar seu editor, oferta e sku. Para restringir a lista de opções disponíveis, liste os editores que não são da Microsoft para a região identificada anteriormente executando o seguinte comando:

az vm image list-publishers --location eastus --query [].name --output tsv | grep -v "Microsoft" | more

Nota

A lista é bastante extensa, então você deve garantir que você limite a saída para o buffer de sessão disponível.

Suponha que você escolheu Canonical. Em seguida, identifique as ofertas disponíveis nesse editor executando o seguinte comando:

az vm image list-offers --location eastus --publisher Canonical --query [].name --output tsv

Suponha que você escolheu 0001-com-ubuntu-server-jammy. Em seguida, execute o seguinte comando para identificar SKUs disponíveis com essa oferta executando o seguinte comando:

az vm image list-skus --location eastus --publisher Canonical --offer 0001-com-ubuntu-server-focal --query [].name --output tsv

Nota

A Canonical tem vindo recentemente a alterar os nomes das ofertas. Antes do Ubuntu 20.04, o nome da oferta era UbuntuServer. Para o Ubuntu 20.04 o nome da oferta é 0001-com-ubuntu-server-focal, e para o Ubuntu 22.04 é 0001-com-ubuntu-server-jammy.

Para implantar uma VM do Azure usando uma imagem específica, você precisa determinar o valor de sua Urn propriedade. Esse valor consiste no editor, oferta, SKU e, opcionalmente, um número de versão que identifica exclusivamente a imagem. Você também pode definir o número da versão como mais recente, que designa a versão mais recente da distribuição. Para exibir o Urn valor da propriedade para todas as imagens 22_04-lts do Ubuntu na região Leste dos EUA, execute o seguinte comando:

az vm image list --location eastus --publisher Canonical --offer 0001-com-ubuntu-server-jammy --sku 22_04-lts --all --output table

Nota

Você pode usar a propriedade para uma abordagem mais simples (embora muito menos flexível) para designar uma imagem a ser usada durante a UrnAlias implantação. Essa propriedade está prontamente disponível para as imagens mais comuns e você pode recuperar seus valores executando o comando da CLI do az vm image list --output table Azure. Por exemplo, o UrnAlias Ubuntu2204 corresponde à imagem Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest.

Identificar o tamanho adequado da VM

Além da disponibilidade da imagem, você também deve garantir que o tamanho da VM que você pretende usar esteja disponível na região do Azure que hospedará sua implantação. Para confirmar isso, execute o seguinte comando:

az vm list-sizes --location eastus --output table

Identifique o tamanho da VM adequado para sua implantação de exemplo na listagem e anote o valor na coluna Nome. Você precisará inserir o nome no mesmo formato ao executar o comando da CLI do Azure que inicia o provisionamento da VM do Azure. Suponha que você escolheu Standard_F4s.

Importante

Antes de continuar, verifique se esse tamanho de VM está disponível na região do Azure para a qual você está se destinando e, se necessário, ajuste os valores dos parâmetros nos comandos subsequentes de acordo.

Criar um grupo de recursos

Depois de identificar a imagem e o tamanho da VM do Azure, agora você pode iniciar o processo de provisionamento. Comece criando um grupo de recursos para hospedar a VM do Azure e seus recursos dependentes. Para criar um grupo de recursos, utilize o comando az group create. Este comando requer que você especifique o valor dos parâmetros name e location, que designa o nome do grupo de recursos e a região do Azure de destino, respectivamente.

az group create --name rg_lnx-cli --location eastus

A saída do comando deve ser semelhante ao exemplo a seguir:

{
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/sample-RG",
  "location": "eastus",
  "managedBy": null,
  "name": "rg_lnx-cli",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Criar uma VM do Azure

Para criar uma VM, use o az vm create comando. Este comando suporta uma vasta gama de parâmetros, incluindo a imagem do SO, o tamanho do disco e as credenciais administrativas. No exemplo a seguir, o comando dispara a az vm create implantação de uma VM do Azure chamada sample-cli-vm0, que hospeda a versão mais recente do Ubuntu 22_04-lts-gen2 SKU. O processo de provisionamento configura uma conta de usuário administrativo chamada azureuser com autenticação baseada em um par de chaves SSH. As chaves pública e privada são geradas e armazenadas localmente em seu local padrão (~/.ssh) para permitir o acesso SSH à VM do Azure. Use o exemplo de código a seguir para criar uma VM do Azure:

az vm create \
    --resource-group rg_lnx-cli \
    --name lnx-cli-vm \
    --image Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest \
    --size Standard_F4s \
    --admin-username azureuser \
    --generate-ssh-keys

Nota

O --size parâmetro é opcional. Se você decidir excluí-lo, o tamanho resultante dependerá da imagem escolhida.

A VM do Azure começará a ser executada pouco depois, geralmente dentro de alguns minutos. A saída do comando CLI do Azure incluirá informações formatadas em JSON sobre a VM do Azure recém-implantada:

{
  "fqdns": "",
  "id": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/rg_lnx-cli/providers/Microsoft.Compute/virtualMachines/lnx-cli-vm",
  "location": "eastus",
  "macAddress": "00-0D-3A-8C-C6-AE",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "20.51.149.212",
  "resourceGroup": "rg_lnx-cli",
  "zones": ""
}

Neste ponto, você poderá se conectar à VM do Azure executando o seguinte comando (depois de substituir o espaço reservado <public_ip_address> pelo endereço IP identificado na saída gerada pela CLI do Azure) do computador onde a chave privada está armazenada:

ssh azureuser@<public_ip_address>