Tutorial: Criar e gerenciar VMs do Linux com a CLI do Azure
Aplica-se a: ✔️ VMs do Linux ✔️ Conjuntos de dimensionamento flexíveis
Máquinas virtuais do Azure fornecem um ambiente de computação totalmente configurável e flexível. Este tutorial aborda itens básicos de implantação de máquina virtual do Azure, como a seleção de um tamanho de VM, seleção de uma imagem de VM e implantação de uma VM. Você aprenderá como:
- Criar e conectar-se a uma VM
- Selecionar e usar imagens de VM
- Exibir e usar tamanhos específicos de VM
- Redimensionar uma VM
- Exibir e compreender o estado da VM
Este tutorial usa a CLI dentro do Azure Cloud Shell, que é constantemente atualizada para a versão mais recente.
Se você optar por instalar e usar a CLI localmente, este tutorial exigirá que você execute a CLI do Azure versão 2.0.30 ou posterior. Execute az --version
para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.
Criar grupo de recursos
Crie um grupo de recursos com o comando az group create.
Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Você deve criar um grupo de recursos antes de criar uma máquina virtual. Neste exemplo, criaremos um grupo de recursos chamado myResourceGroupVM na região eastus2.
az group create --name myResourceGroupVM --location eastus2
O grupo de recursos é especificado ao criar ou modificar uma VM, que pode ser visto durante este tutorial.
Criar máquina virtual
Crie uma máquina virtual com o comando az vm create.
Há várias opções disponíveis ao criar uma máquina virtual, como a imagem do sistema operacional, as credenciais administrativas e o dimensionamento do disco. O exemplo a seguir cria uma VM nomeada myVM que executa o SUSE Linux Enterprise Server (SLES). Uma conta de usuário chamada azureuser é criada na VM, e as chaves SSH são geradas, se ainda não existirem no local de chave padrão ( ~/.ssh):
az vm create \
--resource-group myResourceGroupVM \
--name myVM \
--image SuseSles15SP3 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
A criação da VM pode levar alguns minutos. Depois que a VM tiver sido criada, a CLI do Azure envia informações sobre a VM. Anote o publicIpAddress
, este endereço pode ser usado para acessar a máquina virtual.
{
"fqdns": "",
"id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVM"
}
Conectar-se a uma VM
Agora você pode se conectar à VM com o SSH no Azure Cloud Shell ou do computador local. Substitua o endereço IP de exemplo com o publicIpAddress
observado na etapa anterior.
ssh azureuser@52.174.34.95
Depois de conectado à VM, você pode instalar e configurar aplicativos. Quando tiver terminado, você fechará a sessão SSH normalmente:
exit
Entender as imagens de VM
O Azure Marketplace inclui muitas imagens que podem ser usadas para criar VMs. Nas etapas anteriores, uma máquina virtual foi criada usando uma imagem do Ubuntu. Nesta etapa, a CLI do Azure é usada para pesquisar no marketplace para uma imagem do Ubuntu, que é usado para implantar uma segunda máquina virtual.
Para ver uma lista dos mais usados imagens, use o comando lista de imagens de vm az.
az vm image list --output table
A saída do comando retorna as imagens da VM mais populares no Azure.
Architecture Offer Publisher Sku Urn UrnAlias Version
-------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ----------------------- ---------
x64 debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
x64 opensuse-leap-15-3 SUSE gen2 SUSE:opensuse-leap-15-3:gen2:latest openSUSE-Leap latest
x64 RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest SLES latest
x64 0001-com-ubuntu-server-jammy Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
x64 WindowsServer MicrosoftWindowsServer 2022-Datacenter MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest Win2022Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore latest
x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
Uma lista completa pode ser vista, adicionando o parâmetro --all
. A lista de imagens também pode ser filtrada por --publisher
ou –-offer
. Neste exemplo, a lista é filtrada para todas as imagens, publicada pela OpenLogic, com uma oferta que combina com o 0001-com-ubuntu-server-jammy.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
Exemplo de saída parcial:
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
Observação
A Canonical alterou os nomes de Oferta usados para as versões mais recentes. Antes do Ubuntu 20.04, o nome da Oferta é UbuntuServer. O nome da Oferta é 0001-com-ubuntu-server-focal
para o Ubuntu 20.04 e 0001-com-ubuntu-server-jammy
para o Ubuntu 22.04.
Para implantar uma VM usando uma imagem específica, anote o valor da coluna Urn, o qual consiste no publicador, oferta, SKU e, opcionalmente, um número de versão para identificar a imagem. Ao especificar a imagem, o número de versão da imagem pode ser substituído por latest
, que seleciona a versão mais recente da distribuição. Neste exemplo, o parâmetro --image
é usado para especificar a versão mais recente de um Ubuntu 22.04.
az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts:latest --generate-ssh-keys
Entender os tamanhos de VM
Um tamanho de máquina virtual determina a quantidade de recursos de computação, como memória, CPU e GPU que estão disponíveis para a máquina virtual. Máquinas virtuais precisam ser dimensionada adequadamente para a carga de trabalho esperada. Se a carga de trabalho aumentar, uma máquina virtual existente pode ser redimensionada.
Tamanhos de VM
A tabela a seguir categoriza tamanhos em casos de uso.
Type | Descrição |
---|---|
Propósito geral | CPU/memória equilibrados. Ideal para desenvolvimento/teste e para aplicativos de pequeno a médio porte e soluções de dados. |
Computação otimizada | Relação de CPU/memória alta. Boa para aplicativos de tráfego médio, dispositivos de rede e processos em lote. |
Memória otimizada | Relação de memória/núcleo alta. Ótima para banco de dados relacionais, caches médios a grandes e análises na memória. |
Armazenamento otimizado | Alta taxa de transferência de disco e de E/S. Ideal para Big Data, SQL e bancos de dados NoSQL. |
GPU | VMs especializadas, destinadas para renderização gráfica e edição de vídeo pesadas. |
Alto desempenho | Nossas VMs de CPU mais potentes com adaptadores de rede de alto rendimento (RDMA) opcionais. |
Encontrar tamanhos de VM disponíveis
Para ver uma lista de tamanhos de VM disponíveis em uma região específica, use o comando lista-tamanhos de vm az.
az vm list-sizes --location eastus2 --output table
Exemplo de saída parcial:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 8192 Standard_D2ds_v4 2 1047552 76800
8 16384 Standard_D4ds_v4 4 1047552 153600
16 32768 Standard_D8ds_v4 8 1047552 307200
32 65536 Standard_D16ds_v4 16 1047552 614400
32 131072 Standard_D32ds_v4 32 1047552 1228800
32 196608 Standard_D48ds_v4 48 1047552 1843200
32 262144 Standard_D64ds_v4 64 1047552 2457600
4 8192 Standard_D2ds_v5 2 1047552 76800
8 16384 Standard_D4ds_v5 4 1047552 153600
16 32768 Standard_D8ds_v5 8 1047552 307200
32 65536 Standard_D16ds_v5 16 1047552 614400
32 131072 Standard_D32ds_v5 32 1047552 1228800
32 196608 Standard_D48ds_v5 48 1047552 1843200
32 262144 Standard_D64ds_v5 64 1047552 2457600
32 393216 Standard_D96ds_v5 96 1047552 3686400
Criar VM com um tamanho específico
No exemplo de criação de VM anterior, um tamanho não foi fornecido, que resulta em um tamanho padrão. Um tamanho de VM pode ser selecionado no momento da criação usando az vm create e o parâmetro --size
.
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image SuseSles15SP3 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
Redimensionar uma VM
Após a implantação de uma VM, ela pode ser redimensionada para aumentar ou diminuir a alocação de recursos. Você pode exibir atual do tamanho de uma VM com az vm show:
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
Antes de redimensionar uma VM, verifique se o tamanho desejado está disponível no cluster da VM atual. O comando az vm lista-vm--opções de redimensionamento retorna a lista de tamanhos.
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
Se o tamanho desejado estiver disponível, a VM poderá ser redimensionada a partir de um estado ligado. No entanto, ela é reinicializada durante a operação. Use o az vm redimensionar comando para executar o redimensionamento.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3
Se o tamanho desejado não estiver no cluster atual, a VM precisará ser desalocada antes que a operação de redimensionamento ocorra. Utilize o comando az vm deallocate para parar e desalocar a máquina virtual. Observe que quando a VM é ligada novamente, todos os dados no disco temporário podem ser removidos. O endereço IP público também altera a menos que um endereço IP estático está sendo usado.
az vm deallocate --resource-group myResourceGroupVM --name myVM
Quando desalocados, o redimensionamento pode ocorrer.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1
Após o redimensionamento, a VM pode ser iniciada.
az vm start --resource-group myResourceGroupVM --name myVM
Estados de energia da VM
Uma VM do Azure pode ter um dentre vários estados de energia. Esse estado representa o estado atual da VM do ponto de vista do hipervisor.
Estados de energia
Estado de energia | Descrição |
---|---|
Iniciando | Indica que a máquina virtual está sendo iniciada. |
Executando | Indica que a máquina virtual está em execução. |
Parando | Indica que a máquina virtual está sendo interrompida. |
Parado | Indica que a máquina virtual foi parada. Máquinas virtuais no estado interrompido ainda incorrerá em encargos de computação. |
Desalocando | Indica que a máquina virtual está sendo desalocada. |
Desalocada | Indica que a máquina virtual é removido do hipervisor, mas ainda estão disponíveis no plano de controle. Máquinas virtuais no estado Desalocado não incorrem em encargos de computação. |
- | Indica que o estado de energia da máquina virtual é desconhecido. |
Localizar o estado de energia
Para recuperar o estado de uma VM específica, use o comando az vm get-instance-view. Especifique um nome válido para uma máquina virtual e grupo de recursos.
az vm get-instance-view \
--name myVM \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
Saída:
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
Para recuperar o estado de energia de todas as VMs na sua assinatura, use a API Máquinas Virtuais – Listar Todas com o parâmetro statusOnly definido como true.
Tarefas de gerenciamento
Durante o ciclo de vida de uma máquina virtual, você talvez queira executar tarefas de gerenciamento, como iniciar, interromper ou excluir uma máquina virtual. Além disso, é possível que você queira criar scripts para automatizar tarefas repetitivas ou complexas. Usando a CLI do Azure, muitas tarefas comuns de gerenciamento podem ser executadas em linha de comando ou em scripts.
Obter o endereço IP
Esse comando retorna os endereços IP públicos e privados de uma máquina virtual.
az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table
Como interromper uma máquina virtual
az vm stop --resource-group myResourceGroupVM --name myVM
Como iniciar uma máquina virtual
az vm start --resource-group myResourceGroupVM --name myVM
Excluindo recursos de VM
Dependendo de como você exclui uma VM, pode ser que apenas o recurso de VM seja excluído, não os recursos de rede e de disco. Você pode alterar o comportamento padrão para excluir outros recursos ao excluir a VM. Para obter mais informações, confira Excluir uma VM e os recursos anexados.
A exclusão de um grupo de recursos também exclui todos os recursos do grupo de recursos, como a VM, a rede virtual e o disco. O parâmetro --no-wait
retorna o controle ao prompt sem aguardar a conclusão da operação. O parâmetro --yes
confirma que você deseja excluir os recursos sem um prompt adicional para fazer isso.
az group delete --name myResourceGroupVM --no-wait --yes
Próximas etapas
Neste tutorial, você aprendeu sobre a criação e o gerenciamento básico de VM e como:
- Criar e conectar-se a uma VM
- Selecionar e usar imagens de VM
- Exibir e usar tamanhos específicos de VM
- Redimensionar uma VM
- Exibir e compreender o estado da VM
Avança para o próximo tutorial para saber mais sobre os discos de VM.