In diesem Dokument werden die Aktionen zum Anhalten und Beenden von VM-Instanzen in einer verwalteten Instanzgruppe (MIG) beschrieben. Außerdem erfahren Sie, wie Sie durch das Sperren und Beenden von VMs in einer MIG Kosten sparen und die Wartezeit reduzieren, wenn Sie mehr VMs in der Gruppe benötigen.
Mit MIGs können Sie VMs sperren und beenden, um Folgendes zu erreichen:
- Pausieren Sie eine Anwendung oder einen Dienst, die Sie nicht verwenden, um Kosten zu sparen, da Sie nicht für Rechenressourcen bezahlen müssen.
- Die horizontale Skalierung der MIG wird beschleunigt, wenn vorab initialisierte VMs aus dem Standby-Pool gesperrter und angehaltener VMs gestartet werden.
Anwendungsfälle
In den folgenden Abschnitten werden typische Anwendungsfälle für den Standby-Pool in einer MIG beschrieben.
Anwendung oder Dienst pausieren
Sie können VMs in einer MIG sperren oder anhalten, um Ihre Anwendung zu pausieren und bei Bedarf wieder aufzunehmen, je nach Berechnungen, Arbeitszeiten, Spitzenzeiten und Budgetbeschränkungen. Sie können die Ergebnisse Ihrer aktuellen Berechnungen auf nichtflüchtigen Speichern oder im Fall von gesperrten VMs im Arbeitsspeicher ablegen.
Beispielsweise können Sie in folgenden Fällen die VMs in einer MIG sperren oder beenden:
- Sie haben starke Arbeitslasten an Wochentagen und möchten VMs an Wochenenden sperren, um Kosten zu sparen.
- Sie haben eine Testumgebung, die während der Implementierung von Änderungen benötigt wird, und möchten sie beenden, wenn Sie nicht aktiv entwickeln.
Hochskalierung von verwalteten Instanzgruppen beschleunigen
Sie können einen Standby-Pool mit vorab initialisierten VMs bereithalten, die gestartet werden, wenn die MIG vergrößert wird. Anstatt neue VMs zu erstellen und darauf zu warten, dass Ihre App initialisiert und betriebsbereit wird, startet oder setzt die MIG VMs aus dem Standby-Pool fort. In diesem Fall wird die VM-Initialisierung im Voraus abgeschlossen, nicht in einem kritischen Moment mit erhöhter Last.
Standby-Pools sind hilfreich für Anwendungen, die lange initialisiert werden müssen, z. B. in den folgenden Szenarien:
- Anwendungen, die aktuelle Inhalte auf nichtflüchtige Speicher herunterladen müssen.
- Anwendungen, die zusätzliche Inhalte im Arbeitsspeicher zwischenspeichern müssen – entweder durch Downloads von externem Speicher, durch lokale Berechnungen oder durch eine Kombination aus beidem.
- Anwendungen, die während der Initialisierung neue Software installieren müssen, z. B. Kubernetes-Knoten.
Beibehaltene Ressourcen
Die folgende Tabelle zeigt die Ressourcen, die beibehalten werden, wenn Sie VMs in einer MIG sperren und beenden.
Beibehalten | Gesperrte VM | Beendete VM |
---|---|---|
VM-Name | ||
Interne IP-Adresse | ||
Externe IP (sitzungsspezifisch) | ||
Externe IP-Adresse (statisch*) | ||
Laufwerke† | ||
Metadaten | ||
Arbeitsspeicher |
*Wenn Sie eine externe IP-Adresse beibehalten möchten, wenn Sie eine VM in einer MIG beenden oder sperren, verwenden Sie die zustandsorientierte MIG-Konfiguration, um die externe IP-Adresse in eine statische IP-Adresse umzuwandeln.
†Wenn einer VM lokale SSD-Laufwerke angehängt sind, werden die Daten auf den lokalen SSD-Laufwerken nicht beibehalten, wenn Sie die VM beenden oder anhalten.
Verhalten und Konfiguration
Der Standby-Pool wird durch gesperrte und angehaltene Pools von VMs gebildet. Alle angehaltenen VMs werden Teil des angehaltenen Pools und alle gesperrten VMs werden Teil des gesperrten Pools. Wenn Sie Autoscaling in einer MIG konfiguriert haben, erstellt die MIG nach dem Sperren oder Beenden einer VM sofort neue VMs, um die empfohlene Größe der MIG beizubehalten.
Zielgröße von gesperrten und beendeten Pools
Ähnlich wie die Zielgröße der MIG haben angehaltene und gesperrte Pools ihre eigenen Zielgrößen. Sie haben folgende Möglichkeiten, die Zielgröße des Standby-Pools zu steuern:
- Durch Konfiguration der Werte für die angehaltenen und gesperrten Zielgrößen.
- Durch manuelles Sperren und Anhalten von VMs, die dann automatisch die Zielgrößen ändern.
Wenn Sie die Zielgrößen für angehaltene oder gesperrte Pools ändern, verhält sich die MIG so:
- Wenn Sie die Größe der gesperrteb oder angehaltenen Pools erhöhen, erstellt die MIG neue VMs, wartet, bis die VMs initialisiert sind, und hält die VMs dann entsprechend an oder sperrt sie. Bei regionalen MIGs werden VMs gemäß der konfigurierten Zielverteilungsform erstellt.
- Wenn Sie die Größe der gesperrten oder angehaltenen Pools verringern, wählt die MIG nach dem Zufallsprinzip aus, welche gesperrten oder beendeten VMs gelöscht werden sollen.
- Wenn Sie die MIG-Zielgröße und die Größe des gesperrten oder angehaltenen Pools gleichzeitig ändern, versucht die MIG, die Anzahl der Vorgänge zu minimieren, die zum Anwenden Ihrer Änderungen erforderlich sind. Dies bedeutet, dass die MIG VMs aus dem Standby-Pool fortsetzen oder starten oder einige ausgeführte VMs sperren oder beenden kann.
Stand-by-Richtlinie
Die Standby-Richtlinie definiert das Verhalten des Standby-Pools basierend auf den folgenden Parametern, die Sie angeben:
- Modus: Der Modus, in dem die MIG gesperrte und beendete VMs verwendet. Dies kann der Modus
manual
oderscale-out-pool
sein. - Anfängliche Verzögerung: Die Zeit, während der die MIG eine neu erstellte VM ausführt, bevor sie gesperrt oder angehalten wird. Konfigurieren Sie die anfängliche Verzögerung so, damit genügend Zeit für die Vorinitialisierung Ihrer Anwendung zur Verfügung steht und diese bereit ist, wenn die VM gestartet oder fortgesetzt wird.
Modus
Sie können festlegen, wie Standby-Pools verwaltet werden sollen, indem Sie den Betriebsmodus festlegen.
Es gibt zwei mögliche Optionen: den manual
-Modus und den scale-out-pool
-Modus.
Manueller Modus (Standard)
Im manuellen Modus haben Sie die volle Kontrolle darüber, welche VMs in der MIG gestoppt und angehalten werden. Der manuelle Modus ist der Standardmodus des Stand‑by-Pools.
Der manuelle Modus ist in den folgenden Fällen nützlich:
- So pausieren Sie Ihre Arbeitslast und sparen Kosten für inaktive VMs.
- Um die MIG in Drittanbieter-Autoscaler zu integrieren, die eine erweiterte Verwaltung einzelner VMs erfordern.
- Ausgewählte VMs zu Debugging-Zwecken beenden.
Im manuellen Modus wendet die MIG keine Automatisierungen auf den Standby-Pool an:
- Wenn Sie oder der Autoscaler die Zielgröße der MIG erhöhen, startet die MIG nicht automatisch VMs oder setzt sie fort, sondern erstellt neue VMs.
- Wenn Sie oder das Autoscaling die Zielgröße der MIG verringern, wird die laufende VM nicht automatisch beendet oder gesperrt, sondern gelöscht.
Poolmodus für Hochskalierung
Im Modus „Scale-out-Pool“ verwendet die MIG die VMs aus den Standby-Pools, um die horizontale Skalierung zu beschleunigen, indem sie sie fortsetzt oder startet. Anschließend füllt die MIG den Standby-Pool automatisch mit neuen VMs auf, um die Zielgrößen beizubehalten.
Der Poolmodus für die horizontale Skalierung ist nützlich, um die horizontale Skalierung der MIG in den folgenden Fällen zu beschleunigen:
- Wenn Sie die Autoscaling-Funktion von Compute Engine verwenden.
- Wenn Sie Autoscaler von Drittanbietern verwenden und eine vorhandene Integration beibehalten möchten.
- Wenn Sie die Zielgröße von ausgeführten VMs manuell erhöhen.
Im Scale-out-Pool-Modus verhält sich die MIG so:
Wenn Sie oder das Autoscaling die Zielgröße der laufenden VMs in der MIG erhöhen, führt die MIG Aktionen in der folgenden Reihenfolge aus:
- Die MIG setzt gesperrte VMs fort, falls in den Zonen, in denen die MIG horizontal skaliert wird, VMs verfügbar sind.
- Wenn die Zielgröße der MIG nach dem Fortsetzen der gesperrten VMs noch nicht erreicht wurde, startet die MIG beendete VMs, sofern in den Zonen, in denen die MIG horizontal skaliert wird, VMs verfügbar sind.
- Wenn die Zielgröße der MIG nach dem Starten der VMs immer noch nicht erreicht ist, werden neue VMs erstellt.
Nachdem der Standby-Pool zum Beschleunigen der Skalierung verwendet wurde, führt die MIG Folgendes aus:
- Sie erstellt neue VMs, um die gesperrten und angehaltenen Pools entsprechend ihren Zielgrößen und in Übereinstimmung mit der Zielverteilungsform bei einer regionalen MIG aufzufüllen.
- Dadurch werden die neuen VMs in den Status „Wird ausgeführt“ versetzt.
- Er sperrt oder beendet die neuen VMs, nachdem die erste Verzögerung verstrichen ist.
Wenn Sie oder das Autoscaling die Zielgröße der MIG verringern, wird die laufende VM nicht automatisch beendet oder gesperrt, sondern gelöscht.
Anfängliche Verzögerung
Damit Ihre VM richtig initialisiert wird, geben Sie die anfängliche Verzögerung in der Standby-Richtlinie an. Die anfängliche Verzögerung ist die Zeit, die VMs warten, bevor sie beendet oder gesperrt werden, nachdem sie erstellt wurden. So hat Ihr Initialisierungsskript genügend Zeit, um ausgeführt zu werden.
Die anfängliche Verzögerung tritt in den folgenden Fällen auf:
- Eine neue VM wird mit dem beabsichtigten Zielstatus
SUSPENDED
oderTERMINATED
erstellt. - Eine vorhandene Instanz im Status
RUNNING
wird angehalten oder beendet.
In beiden Fällen kann die Instanz initialisiert werden, bevor sie angehalten oder gesperrt wird.
Wenn Sie den Standby-Pool verwenden möchten, um die Skalierung der MIG zu beschleunigen, sollten Sie die Zeit messen, die Ihre Anwendung für die Initialisierung auf dem ausgewählten Maschinentyp benötigt, um sicherzustellen, dass diese Zeit ausreicht, damit Ihre Anwendung vollständig bereit ist, bevor sie angehalten oder gesperrt wird. Andernfalls kann das Fortsetzen oder Starten von VMs aus dem Standby-Pool länger dauern als das Erstellen von VMs von Grund auf neu.
Zielstatus für VMs in MIGs
MIGs haben eine deklarative API. Das bedeutet, dass Sie den Zielstatus für die VMs in der MIG deklarieren und die API-Anfrage erfolgreich ist, wenn der Zielstatus gespeichert wird. Die MIG führt dann die erforderlichen Vorgänge aus, um den Zielstatus zu erreichen. Sie können den aktuellen Vorgang und den aktuellen Status aller VMs über die API prüfen.
Das Sperren und Beenden von VMs in einer MIG funktioniert auf die gleiche deklarative Weise. Wenn Sie eine Anfrage zum Anhalten oder Sperren von VMs senden, speichert die MIG die Informationen zum Zielstatus für jede VM und startet die erforderlichen Vorgänge, um sie zu erreichen.
Wenn Sie verwaltete VMs in einer MIG auflisten, können Sie das Feld targetStatus
sehen.
Er beschreibt den endgültigen Status einer VM, wenn die MIG stabil ist.
Der Status kann einen der folgenden Werte annehmen:
RUNNING
STOPPED
SUSPENDED
VMs in einer MIG können dieselben Lebenszyklusstatus wie einzelne VMs haben.
Im Folgenden finden Sie Beispiele für mögliche Vorgänge für eine MIG und die zugehörigen Werte des Felds targetStatus
:
- Erstellen Sie die neue VM und sperren Sie sie nach der Initialisierung.
- Zielstatus der VM:
SUSPENDED
.
- Zielstatus der VM:
- Setzen Sie eine zuvor gesperrte VM fort.
- Zielstatus der VM:
RUNNING
- Zielstatus der VM:
- Beenden Sie eine zuvor ausgeführte VM.
- Zielstatus der VM:
STOPPED
- Zielstatus der VM:
- Starten Sie eine zuvor beendete VM.
- Zielstatus der VM:
RUNNING
- Zielstatus der VM:
Beschränkungen
- Die folgenden Einschränkungen für das Sperren eigenständiger VMs gelten auch für das Sperren von VMs in einer MIG:
- Sie können keine Instanzen anhalten, die eine GPU verwenden.
- Sie können eine Bare-Metal-Instanz nicht anhalten.
- Sie können eine Instanz nicht mithilfe der Standardprozesse anhalten, die in die Gastumgebung eingebunden sind. Befehle wie
systemctl suspend
in Ubuntu 16.04 und höher sind nicht verfügbar. Das Gastsignal wird ignoriert. - Sie können eine Instanz nur bis zu 60 Tage lang anhalten, bevor die VM-Instanz automatisch beendet wird.
- Sie können Instanzen mit mehr als 208 GB Arbeitsspeicher nicht anhalten.
- Sie können Instanzen auf Abruf anhalten. Die Instanz auf Abruf wird jedoch möglicherweise beendet, bevor sie erfolgreich angehalten wird.
- Sie können eine Confidential VM nicht sperren.
- Sie können keine VM anhalten, an die CSEK-geschützte Laufwerke angehängt sind.
- In einer regionalen MIG mit der Zielverteilungsform
EVEN
und Umverteilung von Instanzen können Sie bestimmte VMs in der Gruppe nicht sperren, anhalten, fortsetzen oder starten. Um einen Standby-Pool zu verwalten, legen Sie die Zielgrößen der gesperrten und beendeten Pools fest. - Sie können den Poolmodus für das horizontale Skalieren nicht verwenden, wenn Sie eine zweite Instanzvorlage für das Canary Update in der MIG konfiguriert haben.
- Sie können VMs in einer MIG nicht sperren oder beenden, wenn Sie Reparatur in der MIG deaktiviert haben.
- Sie können eine Instanz nur bis zu 60 Tage lang anhalten, bevor die VM-Instanz automatisch beendet wird.
Preise
Jede angehaltene und gesperrte VM wird für die folgenden Elemente in Rechnung gestellt:
- Jede Nutzung des nichtflüchtigen Speichers für das Bootlaufwerk und alle zusätzlichen Laufwerke, die mit der VM verbunden sind. Weitere Informationen finden Sie unter Preise für nichtflüchtigen Speicher.
- Alle statischen IP-Adressen, die an die VM angehängt sind. Weitere Informationen finden Sie unter IP-Preise.
- Bei angehaltenen VMs der VM-Speicher und der Gerätestatus. Weitere Informationen finden Sie unter Preise für VM-Instanzen.
Nächste Schritte
- VMs in einer MIG manuell anhalten oder sperren
- Horizontale Skalierung mit gesperrten und beendeten VMs beschleunigen
- Updates für gesperrte und beendete VMs