Compartilhar via


Implantar as Máquinas Virtuais de Spot usando o CLI do Azure

Aplica-se a: ✔️ VMs do Linux ✔️ Conjuntos de dimensionamento flexíveis

O uso deMáquinas Virtuais de Spotpermite aproveitar vantagem da capacidade não usada com uma economia de custos significativa. A qualquer momento que o Azure precisar da capacidade de volta, a infraestrutura do Azure removerá as Máquinas Virtuais de Spot do Azure. Portanto, as Máquinas Virtuais de Spot do Azure são ótimas para cargas de trabalho que podem lidar com interrupções, como trabalhos de processamento em lotes, ambientes de desenvolvimento/teste, grandes cargas de trabalho de computação, entre outros.

O preço para as Máquinas Virtuais de Spot é variável, com base na região e SKU. Para obter mais informações, confira os preços de VM para Linux e Windows.

Você tem a opção de definir um preço máximo que esteja disposto a pagar, por hora, para a VM. O preço máximo de uma Máquina Virtual do Spot Azure pode ser definido em dólares americanos (USD), usando até 5 casas decimais. Por exemplo, o valor 0.98765 teria um preço máximo de $0,98765 USD por hora. Se você definir o preço máximo como -1, a VM não será removida com base no preço. O preço da VM será o preço atual das Máquinas Virtuais do Spot Azure ou o preço de uma VM padrão, qual for menor, desde que haja capacidade e cota disponíveis. Para obter mais informações acerca de como definir o preço máximo, consulteMáquinas Virtuais de Spot - Preços.

O processo para criar uma Máquina Virtual do Spot Azure usando o CLI do Azure é o mesmo detalhado noartigo de início rápido. Basta adicionar o parâmetro '--priority Spot', definir o --eviction-policycomo Deallocate (esse é o padrão) ou Delete e fornecer um preço máximo ou -1.

Instalar a CLI do Azure.

Para criar Máquinas Virtuais de Spot, você precisa executar o CLI do Azure versão 2.0.74 ou posterior. Execute az --version para descobrir a versão. Se você precisar instalar ou atualizar, confira Instalar a CLI do Azure.

Entrar no Azure usando login az.

az login

Criar uma Máquina Virtual do Spot Azure

Este exemplo mostra como implantar uma Máquina Virtual do Spot Azure do Linux que não será removida com base no preço. A política de despejo é o conjunto de desalocar a VM, para que ela possa ser reiniciada posteriormente. Se você quiser excluir a VM e o disco subjacente quando a VM for despejada, defina--eviction-policy comoDelete.

az group create -n mySpotGroup -l eastus
az vm create \
    --resource-group mySpotGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --priority Spot \
    --max-price -1 \
	--eviction-policy Deallocate

Após a VM ser criada, você poderá consultar para ver o preço máximo de cobrança de todas as VMs no grupo de recursos.

az vm list \
   -g mySpotGroup \
   --query '[].{Name:name, MaxPrice:billingProfile.maxPrice}' \
   --output table

Aparentar um despejo

Você pode aparentar um despejo de uma Máquina Virtual de Spot por meio de REST, PowerShell ou CLI para testar como seu aplicativo responderá a um despejo repentino.

Na maioria dos casos, você desejará usar as Máquinas Virtuais - Simular Despejo da API REST para ajudar com o teste automatizado de aplicativos. Para REST,umResponse Code: 204meio de aparentar o despejo foi eficaz. Você pode combinar os despejos simulados com oServiço de Evento Agendado, para automatizar como seu aplicativo responderá quando a VM for removida.

Para ver os eventos agendados em ação, assista ao vídeo Como usar os eventos agendados do Azure para preparar uma manutenção da VM do Azure Friday.

Teste rápido

Para um teste rápido para mostrar como um despejo aparentado funcionará, examinaremos a consulta do serviço de evento agendado para ver a aparência dele quando você simular um despejo por meio da CLI do Azure.

Os Eventos Agendados serão habilitados para o serviço pela primeira vez assim que você fizer uma solicitação para eventos.

O Remoto para sua VM e, em seguida, um prompt de comando estará em aberto.

Do prompt de comando em sua VM, digite:

curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01

Esta primeira resposta poderá levar até 2 minutos. De agora em diante, eles devem exibir a saída quase que imediatamente.

De um computador mainframe que tenha o CLI do Azure instalado (como seu computador local),simule um despejo usandosimulação de despejo da VM AZ. Substitua o nome do grupo de recursos e o nome da VM pelos seus próprios nomes.

az vm simulate-eviction --resource-group mySpotRG --name mySpot

A saída da resposta terá Status: Succeeded se a solicitação tiver sido feita com êxito.

Retorne rapidamente para sua conexão remota da sua Máquina Virtual Spot do Azure e consulte o ponto de extremidade dos Eventos Agendados novamente. Repita o comando seguinte até obter uma saída que contenha mais informações:

curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01

Quando o Serviço de Evento Agendado conseguir a notificação de remoção, você receberá uma resposta semelhante a esta:

{"DocumentIncarnation":1,"Events":[{"EventId":"A123BC45-1234-5678-AB90-ABCDEF123456","EventStatus":"Scheduled","EventType":"Preempt","ResourceType":"VirtualMachine","Resources":["myspotvm"],"NotBefore":"Tue, 16 Mar 2021 00:58:46 GMT","Description":"","EventSource":"Platform"}]}

Você pode ver isso"EventType":"Preempt"e o recurso é a recurso da VM"Resources":["myspotvm"].

Você também pode ver quando a condição de despejo da VM verificando o "NotBefore"- a VM não será despejada antes do tempo adequado, portanto, esta é sua janela para que o aplicativo seja fechado normalmente.

Próximas etapas

Você também pode criar uma Máquina Virtual de Spot usando oportal doAzure PowerShellouum modelo.

Consulte as informações de preços atuais usando aAPI dos preços de varejo do Azure para mais informações sobre os preços de Máquina Virtual do Spot Azure. O meterName e skuName contém Spot.

Se você encontrar um erro, confira Códigos de erro.