VM-Instanzen auf Abruf

Auf dieser Seite werden VM-Instanzen auf Abruf erläutert. Wie Sie eine Instanz auf Abruf erstellen, erfahren Sie unter Instanz auf Abruf erstellen. Weitere Informationen zu Instanzen im Allgemeinen finden Sie in der Dokumentation zu VM-Instanzen.

Was ist eine präemptive Instanz?

Eine präemptive VM ist eine Instanz, die Sie zu einem weitaus niedrigeren Preis als normale Instanzen erstellen und ausführen können. Compute Engine kann diese Instanzen jedoch (präemptiv) beenden, wenn für andere Aufgaben Zugriff auf diese Ressourcen benötigt wird. Instanzen auf Abruf sind überschüssige Compute Engine-Kapazitäten, deren Verfügbarkeit je nach Nutzung variiert.

Wenn Ihre Anwendungen fehlertolerant sind und mit möglichen Instanzunterbrechungen zurechtkommen, können Sie mit Instanzen auf Abruf Ihre Compute Engine-Kosten erheblich reduzieren. Sie können beispielsweise Batchjobs auf präemptiven Instanzen ausführen. Wenn einige dieser Instanzen während der Verarbeitung beendet werden, verlangsamt sich der Job zwar, stoppt aber nicht vollständig. Instanzen auf Abruf schließen Ihre Batchverarbeitungsaufgaben ab, ohne Ihre vorhandenen Instanzen zusätzlich zu belasten, und Sie müssen nicht den vollen Preis für zusätzliche normale Instanzen bezahlen.

Einschränkungen von präemptiven Instanzen

Instanzen auf Abruf funktionieren wie normale Instanzen, haben aber die folgenden Einschränkungen:

  • Compute Engine kann Instanzen auf Abruf jederzeit aufgrund von Systemereignissen beenden. Die Wahrscheinlichkeit, dass Compute Engine eine Instanz auf Abruf wegen eines Systemereignisses beendet, ist in der Regel gering, kann aber von Tag zu Tag und Zone zu Zone abhängig von den aktuellen Bedingungen variieren.
  • Compute Engine beendet Instanzen auf Abruf immer, wenn sie 24 Stunden lang ausgeführt wurden. Bestimmte Aktionen setzen diese 24-Stunden-Frist zurück.
  • Instanzen auf Abruf sind begrenzte Compute Engine-Ressourcen, die unter Umständen nicht immer verfügbar sind.
  • Für Instanzen auf Abruf kann keine Live-Migration zu einer regulären VM-Instanz durchgeführt werden. Sie können auch nicht so eingestellt werden, dass sie bei einem Wartungsereignis automatisch neu starten.
  • Aufgrund der oben genannten Einschränkungen sind Instanzen auf Abruf nicht von Service Level Agreements (SLAs) abgedeckt und aus dem Google Compute Engine-SLA ausgeschlossen.
  • Das Guthaben der kostenlosen Stufe von Google Cloud für Compute Engine gilt nicht für Instanzen auf Abruf.

Präemptionsprozess

Compute Engine führt zur vorzeitigen Beendigung einer Instanz folgende Schritte aus:

  1. Compute Engine sendet eine Benachrichtigung über die vorzeitige Beendigung an die Instanz in Form des Signals ACPI G2 Soft Off. Sie können zur Verarbeitung der Benachrichtigung ein Shutdown-Skript verwenden und Bereinigungsaktionen ausführen, bevor die Instanz beendet wird.
  2. Wenn die Instanz nach 30 Sekunden nicht beendet ist, sendet Compute Engine das Signal ACPI G3 Mechanical Off an das Betriebssystem.
  3. Compute Engine versetzt die Instanz in den Status TERMINATED.

Sie können eine Instanzpräemption simulieren, indem Sie die Instanz beenden.

Präemptiv beendete Instanzen erscheinen noch in Ihrem Projekt, werden aber nicht pro Stunde abgerechnet, während sie sich im Status TERMINATED befinden. Sie können auf die Daten eines jeden nichtflüchtigen Speichers, der mit der Instanz verbunden ist, zugreifen und diese wiederherstellen. Allerdings entstehen weiterhin Speicherkosten, bis Sie den Speicher löschen. Wie bei normalen Instanzen wird nichtflüchtiger Speicher, der zum automatischen Löschen markiert wurde, beim Löschen der Instanz auf Abruf gelöscht.

Wenn Compute Engine eine Instanz auf Abruf in weniger als einer Minute nach ihrer Erstellung beendet, wird Ihnen die Verwendung dieser VM-Instanz nicht in Rechnung gestellt. Dadurch wird sichergestellt, dass Sie nur dann für Instanzen auf Abruf zahlen, wenn sie auch genügend Zeit hatten, um ein signifikantes Arbeitsvolumen zu erledigen. Allerdings werden die Kosten für Premium-Betriebssysteme wie immer berechnet.

Präemptionsauswahl

Im Allgemeinen vermeidet Compute Engine, zu viele Instanzen von ein und demselben Kunden vorzeitig zu beenden, und wählt beim vorzeitigen Beenden nach Möglichkeit immer die neuesten Instanzen. Dies kann anfangs etwas frustrierend sein, hilft aber auf lange Sicht, den Arbeitsverlust in Ihrem Cluster zu minimieren. Compute Engine berechnet Ihnen keine Kosten für Instanzen, wenn diese in der ersten Minute nach Beginn ihrer Ausführung vorzeitig beendet werden. Google verwendet die CPU-Auslastung einer VM nicht, um zu bestimmen, ob diese vorzeitig beendet wird.

Anhand von Verlaufsdaten können wir sagen, dass durchschnittlich je Projekt zwischen 5 und 15 % der Instanzen auf Abruf pro Tag vorzeitig beendet werden. Dies ist ein auf einer 7-Tage-Basis ermittelter Wert, der gelegentlich je nach Zeit und Zone höher ausfallen kann. Denken Sie daran, dass dies nur Erfahrungswerte sind: Instanzen auf Abruf sind weder durch Garantien noch SLAs in Bezug auf Häufigkeit und Verteilung des vorzeitigen Beendens geschützt.

Durch bestimmte Aktionen wird die 24-Stunden-Frist für Instanzen auf Abruf zurückgesetzt. Wenn Sie eine Instanz anhalten und neu starten, setzt Compute Engine die Frist zurück, da die Instanz in den Status TERMINATED versetzt wird. Andere Aktionen, bei denen die Instanz weiterhin den Status RUNNING hat, führen jedoch nicht zu einer Zurücksetzung der Frist. Dazu zählen beispielsweise das Zurücksetzen einer Instanz oder das Ausführen eines sudo reboot innerhalb der VM.

Instanzen auf Abruf in einer verwalteten Instanzgruppe

Sie können präemptive Instanzen in einer verwalteten Instanzgruppe erstellen. Geben Sie dafür die Option für Instanzen auf Abruf in der Instanzvorlage an, bevor Sie die Gruppe erstellen oder aktualisieren.

Verwaltete Instanzgruppen können neue präemptive Instanzen nur dann erstellen oder hinzufügen, wenn zusätzliche Compute Engine-Ressourcen zur Verfügung stehen. Wenn diese Ressourcen begrenzt sind, können verwaltete Instanzgruppen die Anzahl der präemptiven Instanzen in der Gruppe weder ändern noch automatisch skalieren.

Verwaltete Instanzgruppen versuchen immer, ihre Zielgröße oder die vom Autoscaling für diese Gruppe vorgegebene Größe beizubehalten. Wenn Compute Engine eine Instanz auf Abruf in einer verwalteten Instanzgruppe beendet, versucht die Gruppe wiederholt, diese Instanz mithilfe der angegebenen Instanzvorlage neu zu erstellen. Wenn die erforderlichen Ressourcen wieder verfügbar sind, erstellt die Gruppe die Instanz neu und erhält die Zielgruppengröße aufrecht.

Premium-Betriebssysteme auf präemptiven Instanzen

Instanzen auf Abruf reduzieren nicht die Kosten von Premium-Betriebssystemen und ändern nicht die Art und Weise, wie Ihnen die Nutzung dieser Betriebssysteme in Rechnung gestellt wird. Wenn Compute Engine eine präemptive Instanz beendet, auf der ein Premium-Betriebssystem ausgeführt wird, zahlen Sie so für dieses Betriebssystem, als ob Sie die Instanz selbst beendet hätten. Die Mindestkosten für die Nutzung gelten weiterhin und die Rechnungen für Premium-Betriebssysteme werden immer noch durch Aufrundung auf das nächste Nutzungsinkrement berechnet.

Für die Maschinentypen der Instanzen auf Abruf, auf denen Premium-Betriebssysteme ausgeführt werden, erfolgt die Abrechnung immer pro Sekunde und entsprechend den Preisen auf der Seite Maschinentyp – Preise.

Lokale SSDs auf Instanzen auf Abruf

Sie können eine VM-Instanz auf Abruf mit einer lokalen SSD starten. Compute Engine rechnet die Nutzung der lokalen SSD dann zu Preisen für SSDs auf Abruf ab. Lokale SSDs, die zu Instanzen auf Abruf hinzugefügt werden, funktionieren wie normale lokale SSDs. Sie haben die gleichen Datenpersistenz-Merkmale und bleiben angehängt, solange die Instanz besteht. Sie können ein separates Kontingent für lokale SSDs auf Abruf anfordern oder Ihr reguläres Kontingent für lokale SSDs zum Erstellen lokaler SSDs auf Abruf verwenden.

In Compute Engine werden lokale SSDs nicht berechnet, wenn deren Instanzen in der ersten Minute nach Beginn der Ausführung wieder beendet werden.

Weitere Informationen zu lokalen SSDs finden Sie unter Lokale SSDs hinzufügen.

GPUs auf Instanzen auf Abruf

Sie können für VM-Instanzen auf Abruf GPUs hinzufügen oder entfernen und dabei von niedrigeren Preisen für GPUs auf Abruf profitieren. Zu präemptiven Instanzen hinzugefügte GPUs funktionieren wie normale GPUs, bleiben jedoch nur für die Lebensdauer der Instanz bestehen. Für Instanzen auf Abruf mit GPUs gilt derselbe Prozess für vorzeitiges Beenden wie für alle Instanzen auf Abruf.

Beim Hinzufügen einer GPU zu einer Instanz auf Abruf nutzen Sie Ihr reguläres GPU-Kontingent. Wenn Sie ein separates Kontingent für präemptive GPUs benötigen, fordern Sie ein separates Kontingent für präemptive GPUs an.

Bei Wartungsereignissen werden Instanzen auf Abruf mit GPUs standardmäßig beendet und können nicht automatisch neu gestartet werden. Wenn Sie die Instanzen neu erstellen möchten, nachdem sie beendet wurden, verwenden Sie eine verwaltete Instanzgruppe. Verwaltete Instanzgruppen erstellen Ihre Instanzen neu, sofern die vCPU-, Speicher- und GPU-Ressourcen verfügbar sind.

Wenn Sie eine Warnung erhalten möchten, bevor die Instanz vorzeitig beendet wird, oder die Instanz so konfigurieren möchten, dass sie nach einer Wartung automatisch neu gestartet wird, benutzen Sie eine nicht auf Abruf verwendete Instanz mit einer GPU. Für nicht auf Abruf verwendete Instanzen mit GPUs wird von Google eine Stunde im Voraus eine Warnung ausgegeben.

Compute Engine berechnet Ihnen keine GPUs, wenn ihre Instanzen in der ersten Minute nach dem Start der Ausführung wieder beendet werden.

Eine Anleitung zum automatischen Neustart einer nicht auf Abruf verwendeten Instanz finden Sie unter Aktualisierungsoptionen für eine Instanz.

Informationen zum Erstellen von Instanzen auf Abruf finden Sie unter Instanz mit einer GPU erstellen.

Präemptionseinstellungen testen

Sie können simulierte Wartungsereignisse für Ihre Instanzen ausführen, um ihre präemptive Beendigung zu erzwingen. Mit diesem Feature können Sie testen, wie Anwendungen Instanzen auf Abruf handhaben. Lesen Sie unter Verfügbarkeitsrichtlinien testen, wie Sie Wartungsereignisse in Ihren Instanzen testen können.

Anstatt eines simulierten Wartungsereignisses können Sie auch eine Instanzpräemption simulieren. Hierzu müssen Sie die Instanz beenden. So lassen sich Kontingentlimits vermeiden.

Weitere Informationen