Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A capacidade de alocar nós de computação de baixa prioridade em pools de Lotes do Azure será desativada em 30 de setembro de 2025. Aprenda a migrar os seus pools de Batch com nós de computação de baixa prioridade para nós de cálculo baseados em instâncias Spot.
Acerca da funcionalidade
Atualmente, como parte de uma configuração de pool Batch, pode especificar um número-alvo de nós de computação de baixa prioridade para a alocação de pools geridos por contas do Batch. Em contas Batch de alocação de pool de subscrição de utilizadores, pode especificar um número alvo de nós de computação spot. Em ambos os casos, esses recursos de computação são alocados a partir da capacidade ociosa e oferecidos com desconto em comparação com VMs dedicadas sob demanda.
A quantidade de capacidade não utilizada disponível varia dependendo de fatores como família de VMs, tamanho da VM, região e hora do dia. Ao contrário da capacidade dedicada, essas VMs spot ou de baixa prioridade podem ser recuperadas a qualquer momento pelo Azure. Portanto, VMs de baixa prioridade e spot são normalmente viáveis para cargas de trabalho em lote que são passíveis de interrupção ou não exigem prazos de conclusão rigorosos para custos potencialmente mais baixos.
Fim de suporte a funcionalidades
Apenas nós de computação de baixa prioridade no Batch estão sendo desativados. Os nós de computação pontual continuarão a ser suportados, são uma oferta de GA e não são afetados por esta depreciação. Em 30 de setembro de 2025, desativaremos os nós de computação de baixa prioridade. Após essa data, os pools de baixa prioridade existentes no Batch podem deixar de ser utilizáveis, as tentativas de voltar a atingir contagens de nós de baixa prioridade falharão e já não poderá provisionar novos pools com nós de computação de baixa prioridade.
Alternativa: Utilizar nós de computação em pools Batch baseados em Azure Spot
Desde dezembro de 2021, o Azure Batch começou a oferecer nós de computação baseados em Spot em Batch. Tal como as VMs de baixa prioridade, pode usar instâncias spot para obter capacidade extra a um preço descontado em troca da possibilidade de a VM ser preemptada. Se ocorrer uma preempção, o nó de computação spot será removido e todo o trabalho que não tenha sido adequadamente checkpointado será perdido. O processo de checkpointing é opcional e cabe ao utilizador final do Batch implementá-lo. A tarefa Batch em execução que foi interrompida devido à preempção será automaticamente reencaminhada para execução por outro nó computacional. Além disso, o Azure Batch tentará automaticamente voltar à contagem de nós Spot desejada como especificado do pool.
O que muda durante a migração
Ao migrar de VMs de baixa prioridade para VMs Spot, as seguintes propriedades de configuração do pool são afetadas:
-
Modo de alocação de pool: Deve ser
UserSubscription(VMs de Spot não estão disponíveis no modoBatchService) -
Configuração da VM: Deve ser
VirtualMachineConfiguration(não suportado emCloudServiceConfiguration) -
Propriedades do nó alvo:
-
targetLowPriorityNodes→targetSpotNodes - O modelo de preços por agrupamento passa de preços de baixa prioridade para preços de mercado spot.
- A política de despejo torna-se configurável (eliminar ou desalocar)
-
Veja a divisão detalhada entre a oferta de baixa prioridade e a oferta spot no Batch.
Migre um pool Batch com nós de computação de baixa prioridade ou crie um pool Batch com instâncias Spot
Pré-requisitos
- Certifique-se de que está a usar uma conta em modo de alocação de pool de subscrição de utilizadores Batch account.
- Verifique se o seu pool utiliza
VirtualMachineConfiguration(as Spot VMs não são suportadas emCloudServiceConfiguration).
Opção 1: Migração de CLI Azure (Recomendada para automação)
Crie um novo pool com instâncias Spot:
az batch pool create \
--id "spot-pool-001" \
--vm-size "Standard_D2s_v3" \
--target-low-priority-nodes 5 \
--enable-inter-node-communication false \
--image "Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2" \
--node-agent-sku-id "batch.node.ubuntu 20.04" \
--account-name <your-batch-account-name> \
--account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com"
Dimensione o pool existente para usar instâncias Spot:
az batch pool resize \
--pool-id <existing-pool-id> \
--target-dedicated-nodes 0 \
--target-low-priority-nodes 5 \
--account-name <your-batch-account-name> \
--account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com"
Opção 2: Azure PowerShell (Método alternativo de automação)
Crie um pool com instâncias Spot:
New-AzBatchPool `
-Id "spot-pool-001" `
-VirtualMachineSize "Standard_D2s_v3" `
-TargetLowPriorityComputeNodes 5 `
-VirtualMachineImageId "/subscriptions/{subscription}/resourceGroups/{rg}/providers/Microsoft.Compute/images/{image}" `
-BatchContext $context
Validar com PowerShell:
$pool = Get-AzBatchPool -Id "spot-pool-001" -BatchContext $context
$pool | Select-Object Id, VmSize, @{Name="SpotNodes";Expression={$_.TargetLowPriorityComputeNodes}}, State
Opção 3: Azure portal (método UI)
No portal do Azure, selecione a conta Batch e exiba um pool existente ou crie um novo pool.
Em Escalar, selecione nós dedicados Target ou Target Spot/nós de baixa prioridade.
Para um pool existente, selecione o pool e depois selecione Escalar para atualizar o número de nós spot necessários com base no trabalho agendado.
Selecione Guardar.
Validar a Migração
Verifique a configuração do pool após a migração:
az batch pool show \
--account-name <your-batch-account-name> \
--account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com" \
--pool-id <your-pool-id> \
--query "{PoolID:id, VMSize:vmSize, SpotNodes:scaleSettings.targetLowPriorityNodes, AllocationMode:poolAllocationMode, VMConfig:virtualMachineConfiguration.nodeAgentSkuId}"
Resultados esperados bem-sucedidos:
{
"AllocationMode": "UserSubscription",
"PoolID": "spot-pool-001",
"SpotNodes": 5,
"VMConfig": "batch.node.ubuntu 20.04",
"VMSize": "Standard_D2s_v3"
}
Verifique o estado do pool e a alocação dos nós:
az batch pool show \
--account-name <your-batch-account-name> \
--account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com" \
--pool-id <your-pool-id> \
--query "{State:state, CurrentSpotNodes:currentLowPriorityNodes, TargetSpotNodes:scaleSettings.targetLowPriorityNodes, ResizeErrors:resizeErrors}"
Produção esperada para um grupo saudável:
{
"CurrentSpotNodes": 5,
"ResizeErrors": null,
"State": "steady",
"TargetSpotNodes": 5
}
Resolução de problemas: O que indica um problema?
-
Estado:
"resizing"(para períodos prolongados) indica questões de alocação de recursos - ResizeErrors: Qualquer valor não nulo indica problemas de capacidade ou de quota
- CurrentSpotNodes<TargetSpotNodes: O pool ainda não atingiu a capacidade alvo
Variáveis de Configuração para Automação
Para equipas que constroem soluções automatizadas, estas são as principais propriedades de configuração e os seus valores:
Propriedades da API REST
-
Modo de alocação de pool:
poolAllocationMode: "UserSubscription" -
Tipo de configuração da VM:
virtualMachineConfiguration(obrigatório) -
Nodos Target Spot:
targetLowPriorityNodes: <number> -
Política de despejo:
virtualMachineConfiguration.spotPolicy.evictionPolicy: "delete"ou"deallocate"
Variáveis do Modelo ARM
{
"poolAllocationMode": "UserSubscription",
"scaleSettings": {
"targetDedicatedNodes": 0,
"targetLowPriorityNodes": 5
},
"virtualMachineConfiguration": {
"imageReference": {...},
"nodeAgentSkuId": "batch.node.ubuntu 20.04"
}
}
Configuração Terraform
resource "azurerm_batch_pool" "spot_pool" {
pool_allocation_mode = "UserSubscription"
scale_settings {
target_dedicated_nodes = 0
target_low_priority_nodes = 5
}
virtual_machine_configuration {
image_reference {...}
node_agent_sku_id = "batch.node.ubuntu 20.04"
}
}
FAQs
Como posso criar uma conta Batch de alocação de subscrição para um pool de utilizadores?
Consulte o quickstart para criar uma nova conta Batch no modo de alocação do pool de subscrições de utilizadores.
Existem VMs Spot disponíveis em contas de alocação de pools geridas pelo serviço Batch?
N.º As VMs Spot estão disponíveis apenas em contas Batch que fazem atribuição de pools de subscrições de utilizadores.
Existem instâncias pontuais disponíveis para os
CloudServiceConfigurationPools?N.º As instâncias spot só estão disponíveis para
VirtualMachineConfigurationgrupos.CloudServiceConfigurationAs piscinas serão retiradas antes das piscinas de baixa prioridade. Recomendamos que migre para poolsVirtualMachineConfiguratione para a alocação de contas em lote de pools de subscrições de utilizadores antes disso.Qual é a política de preços e despejos das instâncias pontuais? Posso ver o histórico de preços e as taxas de despejo?
Yes. No portal do Azure, você pode ver preços históricos e taxas de remoção por tamanho em uma região.
Para obter mais informações sobre como usar máquinas virtuais spot, consulte Máquinas Virtuais Spot.
Posso transferir minhas cotas entre contas de lote?
Atualmente, não é possível transferir nenhuma cota entre contas de lote.
Próximos passos
Consulte o guia de instâncias de computação do Batch Spot para mais informações sobre as diferenças entre as ofertas, limitações e exemplos de implementação.