Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível
As máquinas virtuais do Azure proporcionam um ambiente informático 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, a seleção de uma imagem de VM e a implantação de uma VM. Você aprende a:
- Criar e ligar a uma VM
- Selecionar e utilizar imagens de VM
- Ver e utilizar tamanhos específicos de VM
- Redimensionar uma VM
- Visualizar e compreender o estado de uma VM
Este tutorial usa a CLI no Azure Cloud Shell, que é constantemente atualizado para a versão mais recente.
Se optar por instalar e utilizar a CLI localmente, este tutorial exigirá que execute a versão 2.0.30 ou posterior da CLI do Azure. Executar az --version
para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).
Criar grupo de recursos
Abaixo, declaramos variáveis de ambiente. Um sufixo aleatório é anexado a nomes de recursos que precisam ser exclusivos para cada implantação.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="eastus2"
export MY_RESOURCE_GROUP_NAME="myResourceGroupVM$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
Resultados:
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx",
"location": "eastus2",
"name": "myResourceGroupVMxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Um grupo de recursos tem de ser criado antes de uma máquina virtual. Neste exemplo, um grupo de recursos chamado myResourceGroupVM é criado na região eastus2 .
O grupo de recursos é especificado ao criar ou modificar uma VM, o que pode ser visto ao longo deste tutorial.
Criar a máquina virtual
Quando você cria uma máquina virtual, várias opções estão disponíveis, como imagem do sistema operacional, dimensionamento de disco e credenciais administrativas. O exemplo a seguir cria uma VM chamada 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 não existirem no local da chave padrão (~/.ssh).
export MY_VM_NAME="myVM$RANDOM_SUFFIX"
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--image SuseSles15SP5 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
Pode levar alguns minutos para criar a VM. Depois que a VM tiver sido criada, a CLI do Azure produzirá informações sobre a VM. Tome nota do publicIpAddress
endereço : este endereço pode ser usado para acessar a máquina virtual.
{
"fqdns": "",
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx/providers/Microsoft.Compute/virtualMachines/myVMxxx",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVMxxx"
}
Ligar à VM
Agora você pode se conectar à VM com SSH no Azure Cloud Shell ou do seu computador local. Substitua o endereço IP de exemplo pelo publicIpAddress
indicado na etapa anterior.
Para se conectar à VM, primeiro recupere o endereço IP público usando a CLI do Azure. Execute o seguinte comando para armazenar o endereço IP em uma variável: export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)
Depois de ter o endereço IP, use SSH para se conectar à VM. O comando a seguir se conecta à VM usando a azureuser
conta e o endereço IP recuperado: ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Compreender 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 SUSE. Nesta etapa, a CLI do Azure é usada para pesquisar no mercado uma imagem do Ubuntu, que é usada para implantar uma segunda máquina virtual.
Para ver uma lista das imagens mais usadas, use o comando az vm image list.
az vm image list --output table
A saída do comando retorna as imagens de 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 --all
parâmetro. A lista de imagens também pode ser filtrada por --publisher
ou –-offer
. Neste exemplo, a lista é filtrada para incluir todas as imagens publicadas pela OpenLogic, com uma oferta que corresponda a 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 das ofertas que usa para as versões mais recentes. Antes do Ubuntu 20.04, o nome da oferta é 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 usando uma imagem específica, anote o valor na coluna Urn , que consiste no editor, oferta, SKU e, opcionalmente, um número de versão para identificar a imagem. Ao especificar a imagem, o número da versão da imagem pode ser substituído por latest
, que seleciona a versão mais recente da distribuição. Neste exemplo, o --image
parâmetro é usado para especificar a versão mais recente de um Ubuntu 22.04.
export MY_VM2_NAME="myVM2$RANDOM_SUFFIX"
az vm create --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM2_NAME --image Canonical:0001-com-ubuntu-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 CPU, GPU e memória, que são disponibilizados para a máquina virtual. As máquinas virtuais precisam ser dimensionadas adequadamente para a carga de trabalho esperada. Se a carga de trabalho aumentar, uma máquina virtual existente poderá ser redimensionada.
Tamanhos de VMs
A tabela seguinte categoriza tamanhos em casos de utilização.
Tipo | Descrição |
---|---|
Fins gerais | Equilíbrio entre CPU e memória. Ideal para desenvolvimento/teste e aplicações e soluções de dados pequenas a médias. |
Computação otimizada | Relação CPU para memória elevada. É adequado para aplicações de tráfego médio, dispositivos de rede e processos em lote. |
Memória otimizada | Memória-para-núcleo elevada. É ideal para bases de dados relacionais, caches médias a grandes e análise dentro da memória. |
armazenamento otimizado | Débito e E/S de disco elevados. Ideal para bases de dados de Big Data, SQL e NoSQL. |
GPU | VMs especializadas destinadas a composição gráfica e edição de vídeo exigentes. |
Elevado desempenho | As nossas mais avançadas VMs com CPU, com interfaces de rede de alto débito (RDMA) opcionais. |
Localizar todos os tamanhos de VM disponíveis
Para ver uma lista de tamanhos de VM disponíveis em uma região específica, use o comando az vm list-sizes .
az vm list-sizes --location $REGION --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 tamanho específico
No exemplo de criação de VM anterior, um tamanho não foi fornecido, o 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 --size
parâmetro.
export MY_VM3_NAME="myVM3$RANDOM_SUFFIX"
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM3_NAME \
--image SuseSles15SP5 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
Redimensionar uma VM
Depois de implementar uma VM, esta pode ser redimensionada para aumentar ou diminuir a alocação de recursos. Você pode visualizar o tamanho atual de uma VM com az vm show:
az vm show --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query hardwareProfile.vmSize
Antes de redimensionar uma VM, verifique se o tamanho desejado está disponível no cluster atual do Azure. O comando az vm list-vm-resize-options retorna a lista de tamanhos.
az vm list-vm-resize-options --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query [].name
Se o tamanho desejado estiver disponível, a VM pode ser redimensionada a partir de um estado ligado, embora seja reinicializada durante a operação. Use o comando az vm resize para executar o redimensionamento.
az vm resize --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --size Standard_D4s_v3
Se o tamanho desejado não estiver disponível no cluster atual, a VM precisará ser desalocada antes que a operação de redimensionamento possa ocorrer. Use o comando az vm deallocate para parar e desalocar a VM. 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 muda, a menos que um endereço IP estático esteja sendo usado. Uma vez desalocado, o redimensionamento pode ocorrer.
Após o redimensionamento, a VM pode ser iniciada.
az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
Estados de potência da VM
Uma VM do Azure pode ter um de 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 |
---|---|
Início | Indica que a máquina virtual está sendo iniciada. |
Correr | Indica que a máquina virtual está em execução. |
Parar | Indica que a máquina virtual está sendo interrompida. |
Parado | Indica que a máquina virtual está parada. As máquinas virtuais no estado de paragem continuam a incorrer em custos de computação. |
A desalocar | Indica que a máquina virtual está sendo deslocalizada. |
Desalocada | Indica que a máquina virtual foi removida do hipervisor, mas ainda está disponível no plano de controle. As 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 . Certifique-se de especificar um nome válido para uma máquina virtual e um grupo de recursos.
az vm get-instance-view \
--name $MY_VM_NAME \
--resource-group $MY_RESOURCE_GROUP_NAME \
--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 subscrição, use a API Máquinas Virtuais - Listar Todas com o parâmetro statusOnly definido como true.
Tarefas de gestão
Durante o ciclo de vida de uma máquina virtual, convém executar tarefas de gerenciamento, como iniciar, parar ou excluir uma máquina virtual. Além disso, pode querer criar scripts para automatizar tarefas repetitivas ou complexas. Usando a CLI do Azure, muitas tarefas de gerenciamento comuns podem ser executadas a partir da linha de comando ou em scripts.
Obter endereço IP
Este comando retorna os endereços IP privados e públicos de uma máquina virtual.
az vm list-ip-addresses --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --output table
Parar máquina virtual
az vm stop --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
Iniciar máquina virtual
az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
Excluindo recursos de VM
Dependendo de como você exclui uma VM, ela só pode excluir o recurso de VM, não os recursos de rede e disco. Você pode alterar o comportamento padrão para excluir outros recursos ao excluir a VM. Para obter mais informações, consulte Excluir uma VM e 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
devolve o controlo à linha de comandos, sem aguardar a conclusão da operação. O parâmetro --yes
confirma que pretende eliminar os recursos sem uma linha de comandos adicional para fazê-lo.
Próximos passos
Neste tutorial, aprendeu sobre a criação e gestão básica de VMs, como:
- Criar e ligar a uma VM
- Selecionar e utilizar imagens de VM
- Ver e utilizar tamanhos específicos de VM
- Redimensionar uma VM
- Visualizar e compreender o estado de uma VM
Avance para o próximo tutorial para saber mais sobre os discos de VM.