Freigeben über


Migrieren von Batch-VMs mit niedriger Priorität zu Spot-VMs

Die Möglichkeit, Serverknoten mit niedriger Priorität in Azure Batch-Pools zuzuweisen, wird am 30. September 2025 eingestellt. Erfahren Sie, wie Sie Ihre Batch-Pools mit Serverknoten mit niedriger Priorität zu Serverknoten basierend auf Spot-Instanzen migrieren.

Von Bedeutung

Azure Batch beginnt in Abstimmung mit dem Commerce-Team eine vom System initiierte Migration aller vorhandenen Computeknoten mit niedriger Priorität zu Spot-basierten Computeknoten Anfang März 2026. Der Übergang wird auf kontrollierte Weise ausgeführt und wird voraussichtlich innerhalb von mehreren Tagen abgeschlossen. Im Rahmen dieser Migration:

  • Vor der Migration ist keine Kundenaktion erforderlich.
  • Der Migrationsprozess ist vollständig transparent und unterbricht keine Workloads, die derzeit auf Computeknoten mit niedriger Priorität ausgeführt werden.
  • Nach Abschluss werden alle aktiven Compute-Knoten mit niedriger Priorität zu Spot-Compute-Knoten konvertiert und weiterhin im batch-verwalteten Pool-Zuordnungsmodus betrieben.
  • Aktive spot-basierte Compute-Knoten, die zuvor über die Azure Batch-API oder das SDK im Benutzerabonnement-Pool-Zuweisungsmodus bereitgestellt wurden, bleiben unverändert.
  • Da Spot-basierte Rechenknoten ein anderes Preis- und Rabattsystem nutzen, sollten Kunden damit rechnen, dass die entsprechenden Änderungen in der Abrechnung ab der Rechnung für März auftreten.

Nach der Migration werden alle Verwendungen von Eigenschaften mit niedriger Priorität in der Azure Batch-API oder im SDK automatisch in spotbasierte Computeknotenzuweisungen übersetzt. Sie müssen Ihren vorhandenen Code oder Ihre vorhandene Konfiguration nicht ändern; die Batch-verwaltete Poolzuweisung behandelt diesen Übergang nahtlos.

Informationen zum Feature

Derzeit können Sie als Teil einer Batch-Poolkonfiguration eine Zielanzahl von Serverknoten mit niedriger Priorität für Batch-Konten mit Batch-verwalteter Poolzuweisung angeben. In Batch-Konten für die Zuordnung von Benutzerabonnementpools können Sie eine Zielanzahl von Spot-Serverknoten angeben. In beiden Fällen werden diese Berechnungsressourcen aus freien Kapazitäten zugeteilt und im Vergleich zu dedizierten On-Demand-VMs zu einem Preisnachlass angeboten.

Die Menge an verfügbarer ungenutzter Kapazität variiert je nach Faktoren wie VM-Familie, VM-Größe, Region und Tageszeit. Im Gegensatz zu dedizierter Kapazität können diese VMs mit niedriger Priorität oder Spot-VMs jederzeit von Azure zurückgefordert werden. Daher sind VMs mit niedriger Priorität und Spot-VMs in der Regel für Batch-Workloads geeignet, die anfällig für Unterbrechungen sind oder keine strikten Zeitrahmen für die Fertigstellung erfordern, um potenziell Kosten zu senken.

Supportende des Features

Nur Serverknoten mit niedriger Priorität in Batch werden eingestellt. Spot-Serverknoten werden weiterhin unterstützt, sind ein GA-Angebot und von dieser Einstellung nicht betroffen.

Ab März 2026 werden Compute-Knoten mit niedriger Priorität zu Spot migriert und können nicht mehr zugewiesen werden. Batchpool-Erstellung oder Skalierung mit Nicht-Null-Compute-Zielknoten mit niedriger Priorität werden stattdessen automatisch Spot-Instanzen zugewiesen. Computeknoten mit niedriger Priorität sind nach Abschluss der Migration nicht verfügbar.

Alternative: Verwenden von Azure Spot-basierten Serverknoten in Batch-Pools

Im Dezember 2021 hat Azure Batch damit begonnen, Spot-basierte Serverknoten in Batch anzubieten. Wie bei VMs mit niedriger Priorität können Sie Spot-Instanzen verwenden, um freie Kapazität zu einem ermäßigten Preis zu erhalten, im Austausch für die Möglichkeit, dass die VM vorzeitig beendet wird. Wenn eine vorzeitige Beendigung auftritt, wird der Spot-Serverknoten entfernt, und alle Arbeiten, für die kein angemessener Prüfpunkt ausgeführt wurde, gehen verloren. Prüfpunkte sind optional und müssen vom Batch-Endbenutzer implementiert werden. Die laufende Batch-Aufgabe, die aufgrund einer vorzeitigen Beendigung unterbrochen wurde, wird automatisch durch einen anderen Serverknoten erneut zur Ausführung zurückgegeben. Darüber hinaus versucht Azure Batch automatisch, die Anzahl der Ziel-Spot-Knoten wie im Pool angegeben zurückzuverfolgen.

Welche Änderungen während der Migration

Bei der Migration von VMs mit niedriger Priorität zu Spot-VMs sind die folgenden Poolkonfigurationseigenschaften betroffen:

  • Poolzuweisungsmodus: Kann entweder UserSubscription oder BatchService Modus sein (nach der Migration vom März 2026)
  • VM-Konfiguration: Muss sein VirtualMachineConfiguration
  • Zielknoteneigenschaften:
    • targetLowPriorityNodestargetSpotNodes. targetLowPriorityNodes wird immer wie targetSpotNodes nach der Migration vom März 2026 übersetzt.
    • Änderungen des Pool-Preismodells vom Niedrigprioritäts- zum Spot-Preismodell
    • Die Auslagerungsrichtlinie wird konfigurierbar (Löschen oder Freigeben)

Sehen Sie sich die detaillierte Aufschlüsselung zwischen dem Angebot mit niedriger Priorität und dem Spot-Angebot in Batch an.

Migrieren eines Batch-Pools mit Serverknoten mit niedriger Priorität oder Erstellen eines Batch-Pools mit Spot-Instanzen

Option 1: Azure CLI-Migration

Erstellen eines neuen Pools mit Spotinstanzen:

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:ubuntu-24_04-lts:server" \
  --node-agent-sku-id "batch.node.ubuntu 24.04" \
  --account-name <your-batch-account-name> \
  --account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com"

Skalieren des vorhandenen Pools mit Spot-Instanzen:

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"

Option 2: Azure PowerShell

Pool mit Spotinstanzen erstellen:

New-AzBatchPool `
  -Id "spot-pool-001" `
  -VirtualMachineSize "Standard_D2s_v3" `
  -TargetLowPriorityComputeNodes 5 `
  -VirtualMachineImageId "/subscriptions/{subscription}/resourceGroups/{rg}/providers/Microsoft.Compute/images/{image}" `
  -BatchContext $context

Überprüfen mit PowerShell:

$pool = Get-AzBatchPool -Id "spot-pool-001" -BatchContext $context
$pool | Select-Object Id, VmSize, @{Name="SpotNodes";Expression={$_.TargetLowPriorityComputeNodes}}, State

Option 3: Azure-Portal

  1. Wählen Sie im Azure-Portal das Batch-Konto aus und zeigen Sie einen vorhandenen Pool an oder erstellen Sie einen neuen Pool.

  2. Wählen Sie unter Skalieren entweder Ziel für dedizierte Knoten oder Ziel für Spot-Knoten/Knoten mit niedriger Priorität aus.

    Screenshot, der das Skalieren von Zielknoten zeigt.

  3. Wählen Sie für einen vorhandenen Pool den Pool aus und wählen Sie dann Skalieren aus, um die Anzahl der erforderlichen Spot-Knoten basierend auf dem geplanten Auftrag zu aktualisieren.

  4. Wählen Sie Speichern aus.

Migration validieren

Überprüfen der Poolkonfiguration nach der Migration:

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}"

Erfolgreiche Ausgabe erwartet:

{
  "AllocationMode": "UserSubscription",
  "PoolID": "spot-pool-001",
  "SpotNodes": 5,
  "VMConfig": "batch.node.ubuntu 24.04",
  "VMSize": "Standard_D2s_v3"
}

Überprüfen sie den Poolstatus und die Knotenzuweisung:

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}"

Erwartete Ausgabe für den gesunden Pool:

{
  "CurrentSpotNodes": 5,
  "ResizeErrors": null,
  "State": "steady",
  "TargetSpotNodes": 5
}

Problembehandlung: Was weist auf ein Problem hin?

  • Bundesland: "resizing" (für längere Zeiträume) gibt Zuordnungsprobleme an
  • ResizeErrors: Jeder Wert ungleich Null gibt Kapazitäts- oder Kontingentprobleme an.
  • CurrentSpotNodes<TargetSpotNodes: Pool hat keine Zielkapazität erreicht

Konfigurationsvariablen für Automatisierung

Für Teams, die automatisierte Lösungen erstellen, sind dies die wichtigsten Konfigurationseigenschaften und deren Werte:

REST-API-Eigenschaften

  • Poolzuordnungsmodus
  • VM-Konfigurationstyp: virtualMachineConfiguration (erforderlich)
  • Ziel-Spotknoten: targetLowPriorityNodes: <number>
  • Eviction-Richtlinie: virtualMachineConfiguration.spotPolicy.evictionPolicy: "delete" oder "deallocate"

ARM-Vorlagenvariablen

{
  "poolAllocationMode": "UserSubscription",
  "scaleSettings": {
    "targetDedicatedNodes": 0,
    "targetLowPriorityNodes": 5
  },
  "virtualMachineConfiguration": {
    "imageReference": {...},
    "nodeAgentSkuId": "batch.node.ubuntu 20.04"
  }
}

Terraform-Konfiguration

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"
  }
}

Häufig gestellte Fragen

  • Wie erstelle ich ein Batch-Konto für die Zuordnung eines Benutzerabonnementpools?

    Informationen zum Erstellen eines neuen Batch-Kontos im Zuordnungsmodus des Benutzerabonnementpools finden Sie im Schnellstart.

  • Sind Spot-VMs in Batch verwalteten Poolzuordnungskonten verfügbar?

    Schließlich ja. Spot-VMs sind jetzt in Batch-Konten für die Zuordnung von Benutzerabonnementpools verfügbar und werden nach der Migration im März 2026 für batch-verwaltete Pool-Zuordnungskonten verfügbar sein.

  • Sind Spot-Instanzen für CloudServiceConfiguration Pools verfügbar?

    Nein. Spot-Instanzen sind nur für VirtualMachineConfiguration Pools verfügbar. CloudServiceConfiguration Pools werden vor den Pools mit niedriger Priorität eingestellt. Es wird empfohlen, vor dem Vorgang zu VirtualMachineConfiguration Pools und Batch-Konten für die Zuordnung eines Benutzerabonnementpools zu migrieren.

  • Wo finde ich Informationen zu den Preisen und zur Entfernungsrichtlinie für Spot-Instanzen? Kann ich den Preisverlauf und die Entfernungsraten anzeigen?

    Ja. Sie können den Preisverlauf und Entfernungsraten pro Größe in einer Region im Azure-Portal anzeigen.

    Weitere Informationen zur Verwendung von Spot-VMs finden Sie unter Spot Virtual Machines.

  • Kann ich meine Kontingente zwischen Batch-Konten übertragen?

    Derzeit können Sie keine Kontingente zwischen Batch-Konten übertragen.

Nächste Schritte

Weitere Details zu den Unterschieden zwischen Angeboten, Einschränkungen und Bereitstellungsbeispielen finden Sie im Batch-Spot-Leitfaden für Compute-Instanzen.