Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Erst prüfen, dann provisionieren: Verfügbarkeitssignale für GCP Spot VMs

By Chimbu ChinnaduraiJul 2, 20266 min read

Diese Seite ist auch in English, Español, Français, Italiano, 日本語 und Português verfügbar.

GCP Spot VMs zählen zu den wirkungsvollsten Kostenhebeln in der Cloud-Infrastruktur – mit bis zu 91 % Rabatt auf die regulären On-Demand-Preise, weil sie ungenutzte Compute-Engine-Kapazitäten nutzen, die sonst brachliegen würden.

Der Haken ist bekannt: Compute Engine kann Spot VMs jederzeit zurückfordern. Kommt es zu einer Preemption, sendet GCP ein Terminierungssignal und startet eine Best-Effort-Abschaltphase von 30 Sekunden, damit die VM sauber heruntergefahren werden kann, bevor sie beendet wird. Für Workloads, die mehr Zeit zum Draining benötigen, steht in der Preview zusätzlich eine Preemption-Vorlaufzeit von 120 Sekunden bereit.

Weniger klar war bis vor Kurzem, ob ein bestimmter Maschinentyp in einer bestimmten Zone tatsächlich verfügbar sein wird, wenn Sie ihn brauchen.

Das Problem: Provisionieren im Blindflug

Spot VMs im großen Stil zu betreiben, war frustrierend, weil es keinen zuverlässigen Weg gab, die Zonenkapazität vorab zu prüfen. Sie starteten Ihre Managed Instance Group, forderten Erstellung oder Skalierung an – und erfuhren erst danach, ob die Zone genügend Ressourcen hatte. Verfügbarkeitsprobleme zeigten sich als Provisionierungsfehler, und die Teams mussten entscheiden: warten, erneut versuchen oder ausweichen.

Bei der Zonenwahl das gleiche Bild. Verfügbarkeit hängt nicht nur von der Region ab, sondern von den einzelnen Zonen innerhalb der Region. Ohne belastbare Daten griffen Teams eher auf vertraute Zonen zurück statt auf jene mit den größten freien Kapazitäten.

Das Ergebnis: ein reaktiver Ablauf.

  • Fehlgeschlagene Provisionierungen deckten Verfügbarkeitsprobleme erst auf, wenn sie schon eingetreten waren.
  • Die Zonenwahl war Ratespiel statt fundierte Entscheidung.
  • Die Preemption-Häufigkeit blieb intransparent – kein Signal dazu, wie stabil ein Maschinentyp an einem bestimmten Standort läuft.
  • Kostenplanung war schwierig, solange Preisentwicklung und Preemption-Risiko nicht sichtbar waren.

Was sich geändert hat: Verfügbarkeitssignale in Echtzeit

GCP hat Verfügbarkeitssignale in Echtzeit für Spot VMs über die advice.capacity-API eingeführt, aktuell in der Public Preview. Vor der Provisionierung können Sie zwei zentrale Metriken für einen bestimmten Maschinentyp und eine bestimmte Zone abfragen.

1. Obtainability Score

Ein numerischer Wert, der angibt, wie wahrscheinlich es ist, dass Ihre Anfrage zur Erstellung einer Spot VM erfolgreich sein wird – auf Basis der aktuellen Ressourcenverfügbarkeit und der jüngsten Erfolgsraten bei Erstellungen.

Score Signal
0.7 – 1.0 Hoch – sehr wahrscheinlich erfolgreich
0.4 – 0.6 Mittel – mäßig wahrscheinlich; Bulk-Erstellungen werden möglicherweise nur teilweise erfüllt
0.0 – 0.3 Niedrig – unwahrscheinlich; wählen Sie eine andere Zone, Region oder einen anderen Maschinentyp

Obtainability-Scores sind keine Garantie. Die Kapazität kann sich zwischen Abfrage und Provisionierung ändern.

2. Estimated Uptime

Die erwartete Mindestlaufzeit, die der Großteil Ihrer Spot VMs voraussichtlich vor einer Preemption erreicht – berechnet aus historischen und aktuellen Nutzungsmustern.

Estimated Uptime Bedeutung
60 Minuten (3.600 s) Geeignet für längere Batch-Workloads, die gelegentliche Unterbrechungen tolerieren
10 Minuten (600 s) Nur für kurze Aufgaben oder Workloads mit häufigem Checkpointing
1 Minute (60 s) Nur für Tests oder unkritische Aufgaben; wählen Sie eine andere Zone oder einen anderen Maschinentyp

Die Estimated Uptime ist keine Garantie. VMs können länger oder kürzer laufen als geschätzt.

Das Feature in der Praxis

Der Capacity Advisor für Spot in der Console ist der schnellste Weg zur kombinierten Sicht – Echtzeit-Obtainability und historische Preemption-Rate direkt nebeneinander in einer Oberfläche. Die gcloud-Variante trennt beides in eigene Befehle, ideal für Skripting oder Automatisierung.

Über die Console (Capacity Advisor für Spot)

Navigieren Sie in der GCP Console zu Compute Engine → Capacity Advisor. Wählen Sie Region, Maschinenfamilie, Serie und Maschinentyp aus und klicken Sie auf Search.

Die Karten- und Listenansicht zeigt Verfügbarkeitssignale pro Region und Zone, ergänzt um historische Preemption-Raten und aktuelle Spot-Preise. Um Verfügbarkeit über mehrere Maschinenserien, -typen und Regionen hinweg parallel zu vergleichen, ist diese Console-Ansicht der CLI vorzuziehen.

Der Screenshot unten zeigt eine Abfrage für us-central1 mit einer e2-medium Spot VM – hohe Verfügbarkeit und eine historische Preemption-Rate von 0–5 % über alle vier Zonen (us-central1-a, -b, -c, -f) bei einem aktuellen Spot-Preis von $0.027664/hr.

media

Über gcloud

Echtzeit-Verfügbarkeit und Estimated Uptime:

Terminal window
gcloud beta compute advice capacity \
--provisioning-model=SPOT \
--instance-selection-machine-types=MACHINE_TYPES \
--target-distribution-shape=TARGET_DISTRIBUTION_SHAPE \
--size=SIZE \
--region=REGION

Die Antwort enthält den obtainability-Score und die estimatedUptime für die angefragte Konfiguration.

Beispielausgabe:

recommendations:
- scores:
estimatedUptime: 3600s
obtainability: 0.9
shards:
- instanceCount: 10
machineType: e2-medium
provisioningModel: SPOT
zone: https://www.googleapis.com/compute/beta/projects/chimbuc-playground/zones/us-central1-f

Historische Preemption-Rate und Preisentwicklung:

Der Befehl capacity-history liefert tägliche Preemption-Raten und die Preishistorie für einen bestimmten Maschinentyp und eine bestimmte Zone:

Terminal window
gcloud beta compute advice capacity-history \
--provisioning-model=SPOT \
--machine-type=e2-medium \
--types=PREEMPTION,PRICE \
--region=us-central1

Beispielausgabe:

location: https://www.googleapis.com/compute/beta/projects/chimbuc-playground/regions/us-central1
machineType: e2-medium
preemptionHistory:
- interval:
endTime: '2026-06-23T07:00:00Z'
startTime: '2026-03-25T07:00:00Z'
preemptionRate: 0.0
priceHistory:
- interval:
endTime: '2026-04-12T07:00:00Z'
startTime: '2026-04-08T07:00:00Z'
listPrice:
currencyCode: USD
nanos: 26752000
- interval:
endTime: '2026-06-16T07:00:00Z'
startTime: '2026-04-12T07:00:00Z'
listPrice:
currencyCode: USD
nanos: 27664000

Nutzen Sie capacity für die fundierte Auswahl von Zone und Maschinentyp vor der Provisionierung; nutzen Sie capacity-history, um langfristige Stabilität und Preisschwankungen bei der Planung von Workload-Architekturen oder FinOps-Budgets einzuschätzen.

Einschränkungen

  • Die Verfügbarkeit von TPUs lässt sich nicht über die advice.capacity-API abfragen.
  • AI-Zonen sind standardmäßig in den Empfehlungen enthalten – prüfen Sie, ob AI-Zonen in Ihrem Projekt aktiviert sind, bevor Sie darauf reagieren.
  • Für Abfragen zur Verfügbarkeit von N1 GPU VMs oder Local SSDs, die einem Maschinentyp nicht standardmäßig zugeordnet sind, nutzen Sie die REST-API direkt.
  • Scores und Laufzeitschätzungen sind keine Garantie; die Kapazität kann sich zwischen Abfrage und Erstellung verändern.

Best Practices

  • Maschinentypen vergleichen. Wenn Ihr Workload flexibel ist, vergleichen Sie die Ergebnisse verschiedener Konfigurationen – etwa 100 × n1-standard-2 gegenüber 50 × n1-standard-4. Entscheiden Sie sich für die Konfiguration, die Obtainability und Estimated Uptime für Ihren Bedarf am besten ausbalanciert.

  • Standorte vergleichen. Wenn Ihr Workload in mehreren Regionen oder Zonen laufen kann, prüfen Sie die Verfügbarkeit überall. Sind zwei Regionen bei der Estimated Uptime gleichauf, entscheidet der höhere Obtainability-Score.

  • Auf Zonen verteilen. Mit einer ANY- oder BALANCED-Verteilung in einer regionalen MIG kann die API empfehlen, VMs über Zonen hinweg aufzuteilen, um die Erfolgsquote der Erstellung zu maximieren – etwa 90 VMs in einer Zone und 10 in einer anderen, statt alle 100 in einer einzigen.

  • Regelmäßig nachprüfen. Die Spot-Verfügbarkeit schwankt mit der GCP-weiten Nachfrage. Verankern Sie eine regelmäßige Verfügbarkeitsprüfung in Ihrem MIG-Management oder im Review-Zyklus Ihrer GKE-Node-Pools.

Fazit

Spot VMs zu provisionieren, ohne vorher die Verfügbarkeit zu prüfen, ist wie Autofahren ohne Karte. Die advice.capacity-API gibt Ihnen diese Karte in die Hand. Es gibt keinen guten Grund, die Abfrage wegzulassen.

Bevor Sie ein Instance-Template schreiben, bevor Sie terraform apply ausführen, bevor Sie eine MIG skalieren – führen Sie die Prüfung durch. Sie zeigt Ihnen, ob die Zone überhaupt VMs liefert und wie lange diese voraussichtlich laufen. Dieses Signal sollte Ihre Zonenwahl, Ihren Maschinentyp und Ihr Checkpoint-Intervall bestimmen.

Spot VMs bleiben einer der besten Kostenhebel in GCP. Die 91 % Rabatt sind real. Das Preemption-Risiko ist es auch – aber inzwischen ist es ein bekanntes, abfragbares Risiko statt eines blinden.

Erst abfragen. Auf Basis des Signals entscheiden. Auf die Laufzeit hin designen. Bei veränderter Nachfrage neu prüfen.

Referenzen