Máquinas Virtuais de Spot do Azure para conjuntos de dimensionamento de máquinas virtuais

O uso de Máquinas Virtuais de Spot do Azure em conjuntos de dimensionamento permite tirar proveito 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 instâncias da Máquina Virtual de Spot do Azure. Portanto, as instâncias de 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, etc.

A quantidade de capacidade disponível pode variar com base no tamanho, região, hora do dia e etc. Durante a implantação de instâncias da Máquina Virtual de Spot do Azure em conjuntos de dimensionamento, o Azure aloca instâncias apenas se há capacidade disponível, mas não há SLA para essas instâncias. Um conjunto de dimensionamento da máquinas virtuais spot do Azure é implantado em um domínio de falha individual e não oferece garantias de alta disponibilidade.

Limitações

Não há suporte para os seguintes tamanhos em Máquinas Virtuais de Spot do Azure:

  • Série B
  • Versões promocionais de qualquer tamanho (como Dv2, NV, NC, tamanhos promocionais de H)

A Máquina Virtual do Azure Spot pode ser implantada em qualquer região, exceto no Microsoft Azure operado pela 21Vianet.

No momento, há suporte para os seguintes tipos de oferta:

  • Contrato Enterprise
  • Código de oferta pago conforme o uso (003P)
  • Patrocinado (0036P e 0136P)
  • Para o provedor de serviços de nuvem (CSP), consulte a Central de Parceiros ou contate seu parceiro diretamente.

Preços

O preço para instâncias de Máquinas Virtuais de Spot do Azure varia com base na região e SKU. Para obter mais informações, consulte os preços para Linux e Windows.

Como o preço é variável, você tem a opção de definir um preço máximo, em dólares americanos (USD), usando até cinco casas decimais. Por exemplo, o valor 0.98765seria um preço máximo de $0,98765 USD por hora. Se você definir o preço máximo como -1, a instância não será removida com base no preço. O preço da instância será o preço atual para a Máquina Virtual de Spot do Azure ou o preço de uma instância padrão, o que for menor, desde que haja capacidade e cota disponíveis.

Política de remoção

Ao criar um conjunto de dimensionamento usando Máquinas Virtuais de Spot do Azure, você pode definir a política de remoção como Desalocar (padrão) ou Excluir.

A política Desalocar move suas instâncias removidas para o estado de parado desalocado permitindo que você reimplante instâncias removidas. No entanto, não há nenhuma garantia de que a alocação terá êxito. As VMs desalocadas afetam sua cota de instância do conjunto de dimensionamento e você será cobrado pelos discos subjacentes.

Se você quiser que suas instâncias sejam excluídas quando forem removidas, você pode definir a política de remoção para excluir. Com a política de remoção definida para excluir, você pode criar novas VMs, aumentando a propriedade de contagem de instância do conjunto de dimensionamento. As VMs removidas são excluídas junto com seus discos subjacentes e, portanto, você não será cobrado pelo armazenamento. Você também pode usar o recurso de dimensionamento automático dos conjunto de dimensionamento para tentar compensar automaticamente as VMs removidas, mas não há garantia de que a alocação terá êxito. Recomendamos que você só use o recurso de dimensionamento automático em conjuntos de dimensionamento de máquinas virtuais de spot do Azure quando definir a política de remoção para excluir, evitando que o custo dos seus discos atinjam os limites de cota.

Os usuários podem optar por receber notificações na VM por meio dos Eventos Agendados do Azure. Isso notifica você se suas VMs estiverem sendo removidas e você terá 30 segundos para concluir todos os trabalhos e realizar tarefas de desligamento antes da remoção.

Histórico de remoção

Você pode ver o histórico de taxas de preços e remoções por tamanho em uma região no portal. Selecione Exibir histórico de preços e comparar preços em regiões próximas para ver uma tabela ou gráfico de preços para um tamanho específico. As taxas de preço e remoção nas imagens a seguir são apenas exemplos.

Gráfico:

Screenshot of the region options with the difference in pricing and eviction rates as a chart.

Table:

Screenshot of the region options with the difference in pricing and eviction rates as a table.

Tentativa e restauração

Esse recurso de nível de plataforma usa IA para tentar restaurar automaticamente as instâncias de Máquina Virtual de Spot do Azure dentro de um conjunto de dimensionamento para manter a contagem de instâncias de destino.

Benefícios de Tentativa e restauração:

  • Tenta restaurar as Máquinas Virtuais de Spot do Azure removidas devido à capacidade.
  • As Máquinas Virtuais de Spot do Azure restauradas devem ser executadas por uma duração maior, com uma probabilidade menor de uma remoção pela capacidade.
  • Melhora o tempo de vida de uma Máquina Virtual de Spot do Azure, para que as cargas de trabalho sejam executadas por uma duração maior.
  • Ajuda os Conjuntos de Dimensionamento de Máquinas Virtuais a manter a contagem de destino para Máquinas Virtuais de Spot do Azure, semelhante a manter o recurso de contagem de destino que já existe para VMs de Pagamento Conforme o Uso.

Tentativa e restauração é desabilitado em conjuntos de dimensionamento que usam o Dimensionamento automático. O número de VMs no conjunto de dimensionamento é orientado pelas regras de dimensionamento automático.

Grupos de Posicionamento

Grupo de posicionamento é um constructo semelhante a um conjunto de disponibilidade do Azure, com seus próprios domínios de falha e domínios de atualização. Por padrão, um conjunto de dimensionamento consiste em um único grupo de posicionamento com tamanho máximo de 100 VMs. Se a propriedade de conjunto de dimensionamento chamada singlePlacementGroup for definida como false, o conjunto de dimensionamento poderá ser composto de vários grupos de posicionamento e ter um intervalo de 0-1.000 VMs.

Importante

A menos que você esteja usando o InfiniBand com o HPC, é altamente recomendável definir a propriedade do conjunto de dimensionamento singlePlacementGroup como false para habilitar vários grupos de posicionamento para um melhor dimensionamento na região ou zona.

Implantando Máquinas Virtuais de Spot do Azure em conjuntos de dimensionamento

Para implantar Máquinas Virtuais de Spot do Azure em conjuntos de dimensionamento, você poderá definir o novo sinalizador de Prioridade como Spot. Todas as VMs no conjunto de dimensionamento serão definidas como Spot. Para criar um conjunto de dimensionamento com Máquinas Virtuais de Spot do Azure, use um dos seguintes métodos:

Portal

O processo para criar um conjunto de dimensionamento que usa Máquinas Virtuais de Spot do Azure é o mesmo detalhado no artigo de introdução. Ao implantar um conjunto de dimensionamento, você pode optar por definir o sinalizador Spot, o tipo de remoção, a política de remoção e se quer habilitar a tentativa de restaurar instâncias: Create a scale set with Azure Spot Virtual Machines

CLI do Azure

Importante

A partir de novembro de 2023, os conjuntos de dimensionamento de VM criados usando o PowerShell e a CLI do Azure serão padrão para o Modo de Orquestração Flexível se nenhum modo de orquestração for especificado. Para obter mais informações sobre essa alteração e quais ações você deve executar, acesse Alteração Interruptiva para Clientes PowerShell/CLI de VMSS – Hub de Comunidade da Microsoft

O processo para criar um conjunto de dimensionamento com Máquinas Virtuais de Spot do Azure é o mesmo detalhado no artigo de introdução. Basta adicionar '--Priority Spot', e adicionar --max-price. Neste exemplo, usamos -1 para --max-price para que a instância não seja removida com base no preço.

az vmss create \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --image Ubuntu2204 \
    --orchestration-mode Flexible \
    --single-placement-group false \
    --admin-username azureuser \
    --generate-ssh-keys \
    --priority Spot \
    --eviction-policy Deallocate \
    --max-price -1 \
    --enable-spot-restore True \
    --spot-restore-timeout PT1H

PowerShell

Importante

A partir de novembro de 2023, os conjuntos de dimensionamento de VM criados usando o PowerShell e a CLI do Azure serão padrão para o Modo de Orquestração Flexível se nenhum modo de orquestração for especificado. Para obter mais informações sobre essa alteração e quais ações você deve executar, acesse Alteração Interruptiva para Clientes PowerShell/CLI de VMSS – Hub de Comunidade da Microsoft

O processo para criar um conjunto de dimensionamento com Máquinas Virtuais de Spot do Azure é o mesmo detalhado no artigo de introdução. Basta adicionar '-Priority Spot', e fornecer um -max-price para New-AzVmssConfig.

$vmssConfig = New-AzVmssConfig `
    -Location "East US 2" `
    -SkuCapacity 2 `
    -OrchestrationMode "Flexible" `
    -SkuName "Standard_DS2" `
    -Priority "Spot" `
    -max-price -1 `
    -EnableSpotRestore `
    -SpotRestoreTimeout 60 `
    -EvictionPolicy delete

Modelos do Gerenciador de Recursos

O processo para criar um conjunto de dimensionamento que use Máquinas Virtuais de Spot do Azure é o mesmo detalhado no artigo de introdução para Linux ou Windows.

Para implantações de modelo de Máquina Virtual de Spot do Azure, use "apiVersion": "2019-03-01" ou posterior.

Adicione as propriedades priority, evictionPolicy, billingProfile e spotRestoryPolicy à seção"virtualMachineProfile": e a propriedade "singlePlacementGroup": false, à seção "Microsoft.Compute/virtualMachineScaleSets" em seu modelo:


{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  },
  "properties": {
    "singlePlacementGroup": false,
    }

        "virtualMachineProfile": {
              "priority": "Spot",
                "evictionPolicy": "Deallocate",
                "billingProfile": {
                    "maxPrice": -1
                },
                "spotRestorePolicy": {
                  "enabled": "bool",
                  "restoreTimeout": "string"
    },
            },

Para excluir a instância depois que ela tiver sido removida, altere o parâmetro evictionPolicy para Delete.

Simular uma remoção

Você pode simular uma remoção de uma Máquina Virtual de Spot do Azure para testar como seu aplicativo responde a uma remoção repentina.

Substitua os itens a seguir com suas informações:

  • subscriptionId
  • resourceGroupName
  • vmName
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction?api-version=2020-06-01

Response Code: 204 significa que a remoção simulada foi bem-sucedida.

Para obter mais informações, consulte Testar uma notificação de remoção simulada.

Perguntas frequentes

P: Uma vez criada, uma instância de Máquina Virtual de Spot do Azure é igual à instância padrão?

R: Sim, exceto que não há um SLA para Máquinas Virtuais de Spot do Azure e elas podem ser removidas a qualquer momento.

P: O que fazer quando você é removido, mas ainda precisa de capacidade?

R: Recomendamos que você use VMs padrão em vez de Máquinas Virtuais de Spot do Azure se precisar de capacidade imediatamente.

P: Como a cota é gerenciada para a Máquina Virtual de Spot do Azure?

R: As instâncias da Máquina Virtual de Spot do Azure e as instâncias padrão terão pools de cotas separados. A cota da Máquina Virtual de Spot do Azure é compartilhada entre as instâncias do conjunto de dimensionamento e VMs. Para saber mais, confira Assinatura e limites de serviço, cotas e restrições do Azure.

P: Posso solicitar cota adicional para a Máquina Virtual de Spot do Azure?

R: Sim, você pode enviar a solicitação para aumentar a cota das Máquinas Virtuais de Spot do Azure por meio do processo de solicitação de cota padrão.

P: É possível converter os conjuntos de dimensionamento existentes em conjuntos de dimensionamento de máquinas virtuais spot do Azure?

R: Não, a definição do sinalizador Spot só tem suporte no momento da criação.

P: Se eu estivesse usando low para conjuntos de dimensionamento de baixa prioridade, preciso começar a usar Spot em vez disso?

R: Por enquanto, low e Spot funcionarão, mas você deve começar a fazer a transição para usar Spot.

P: É possível criar um conjunto de dimensionamento com VMs regulares e Máquinas Virtuais de Spot do Azure?

R: Não, um conjunto de escala não oferece suporte a mais de um tipo de prioridade.

P: Posso usar o dimensionamento automático com os conjuntos de dimensionamento de máquinas virtuais spot do Azure?

R: Sim, é possível definir regras de dimensionamento automático no conjunto de dimensionamento de máquinas virtuais spot do Azure. Se suas VMs forem removidas, o dimensionamento automático pode tentar criar novas Máquinas Virtuais de Spot do Azure. Lembre-se de que essa capacidade não é garantida.

P: O dimensionamento automático funciona com as políticas de remoção (deslocar e excluir)?

R: Sim. No entanto, é recomendado definir sua política de remoção para excluir ao usar o dimensionamento automático. Isso ocorre porque instâncias desalocadas são contadas em relação a sua capacidade de contagem no conjunto de dimensionamento. Ao usar o dimensionamento automático, você provavelmente atingirá sua contagem de instâncias de destino rapidamente devido a instâncias desalocadas, removidas. Além disso, suas operações de dimensionamento podem ser afetadas por remoções de spot. Por exemplo, as instâncias do conjunto de dimensionamento de máquinas virtuais podem ficar abaixo da contagem mínima definida devido a várias remoções de spot durante as operações de escala.

P: Onde posso postar perguntas?

R: Você pode postar e marcar sua pergunta com azure-spot em Q&A.

Próximas etapas

Confira a página de preços do conjunto de dimensionamento de máquinas virtuais para obter detalhes sobre preços.