In diesem Dokument werden die Aktionen zum Aussetzen und Beenden von VM-Instanzen in einer verwalteten Instanzgruppe (MIG) beschrieben. Außerdem erfahren Sie, wie Sie durch das Aussetzen und Beenden von VMs in einer verwalteten Instanzgruppe Kosten sparen und die Wartezeit reduzieren, wenn Sie mehr VMs in der Gruppe benötigen.
Mit dem Aussetzen und Beenden von verwalteten Instanzgruppen ist Folgendes möglich:
- Pausieren Sie eine Anwendung oder einen Dienst, die Sie nicht verwenden, um Kosten zu sparen, da Sie nicht für Rechenressourcen bezahlen müssen.
- Beschleunigen Sie die horizontale Skalierung der verwalteten Instanzgruppe, wenn vorab initialisierte VMs aus dem Standby-Pool ausgesetzter oder beendeter VMs gestartet werden.
Anwendungsfälle
In den folgenden Abschnitten werden typische Anwendungsfälle für den Standby-Pool in einer verwalteten Instanzgruppe beschrieben.
Anwendung oder Dienst pausieren
Sie können VMs in einer verwalteten Instanzgruppe aussetzen oder beenden, um Ihre Anwendung zu pausieren und bei Bedarf wieder fortzusetzen, je nach Berechnungen, Arbeitszeiten, Spitzenzeiten und Budgetbeschränkungen. Sie können die Ergebnisse Ihrer aktuellen Berechnungen auf nichtflüchtigen Speichern oder im Fall von ausgesetzten VMs im Arbeitsspeicher ablegen.
Beispielsweise können Sie in folgenden Fällen die VMs in einer verwalteten Instanzgruppe aussetzen oder beenden:
- Sie haben große Arbeitslasten an Wochentagen und möchten VMs an Wochenenden aussetzen, 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 darin nicht aktiv entwickeln.
Horizontale Skalierung von verwalteten Instanzgruppen beschleunigen
Sie können einen Standby-Pool mit vorab initialisierten VMs bereithalten, die gestartet werden, wenn die verwaltete Instanzgruppe vergrößert wird. Anstatt neue VMs zu erstellen und darauf zu warten, dass Ihre Anwendung initialisiert und betriebsbereit ist, startet oder setzt die verwaltete Instanzgruppe VMs aus dem Standby-Pool fort. In diesem Fall wird die VM-Initialisierung im Voraus und nicht in einem kritischen Moment mit erhöhter Last abgeschlossen.
Standby-Pools sind hilfreich für Anwendungen, deren Initialisierung lange dauert, 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 verwalteten Instanzgruppe aussetzen und beenden.
| Beibehalten | Ausgesetzte VM | Beendete VM |
|---|---|---|
| VM-Name | ||
| Interne IP-Adresse | ||
| Externe IP-Adresse (sitzungsspezifisch) | ||
| Externe IP-Adresse (statisch*) | ||
| Laufwerke† | ||
| Metadaten | ||
| Arbeitsspeicher |
*Wenn Sie eine externe IP-Adresse beibehalten möchten, wenn Sie eine VM in einer verwalteten Instanzgruppe beenden oder aussetzen, verwenden Sie die zustandsorientierte Konfiguration der verwalteten Instanzgruppe, 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 aussetzen.
Verhalten und Konfiguration
Der Standby-Pool wird durch ausgesetzte oder beendete VM-Pools gebildet. Alle beendeten VMs werden Teil des beendeten Pools und alle ausgesetzten VMs werden Teil des ausgesetzten Pools. Wenn Sie Autoscaling in einer verwalteten Instanzgruppe konfiguriert haben, erstellt die verwaltete Instanzgruppe nach dem Aussetzen oder Beenden einer VM sofort neue VMs, um die empfohlene Größe der verwalteten Instanzgruppe beizubehalten.
Zielgröße von ausgesetzten und beendeten Pools
Ähnlich wie die Zielgröße der verwalteten Instanzgruppe haben beendete oder ausgesetzte 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 ausgesetzten oder beendeten Zielgrößen
- Durch manuelles Aussetzen oder Beenden von VMs, die dann automatisch die Zielgrößen ändern
Wenn Sie die Zielgrößen für ausgesetzte oder beendete Pools ändern, verhält sich die verwaltete Instanzgruppe so:
- Wenn Sie die Größe der ausgesetzten oder beendeten Pools erhöhen, erstellt die verwaltete Instanzgruppe neue VMs, wartet, bis die VMs initialisiert sind, und setz die VMs dann entsprechend aus oder beendet sie. Bei regionalen verwalteten Instanzgruppe werden VMs gemäß der konfigurierten Zielverteilungsform erstellt.
- Wenn Sie die Größe der ausgesetzten oder beendeten Pools verringern, wählt die verwaltete Instanzgruppe nach dem Zufallsprinzip aus, welche ausgesetzten oder beendeten VMs gelöscht werden sollen.
- Wenn Sie die Zielgröße der verwalteten Instanzgruppe und die Größe des ausgesetzten oder beendeten Pools gleichzeitig ändern, versucht die verwaltete Instanzgruppe, die Anzahl der Vorgänge zu minimieren, die zum Anwenden Ihrer Änderungen erforderlich sind. Dies bedeutet, dass die verwaltete Instanzgruppe VMs aus dem Standby-Pool fortsetzen oder starten oder einige ausgeführte VMs aussetzen 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 verwaltete Instanzgruppe ausgesetzte oder beendete VMs verwendet. Dies kann der Modus
manualoderscale-out-poolsein. - Anfängliche Verzögerung: Die Zeit, während der die verwaltete Instanzgruppe eine neu erstellte VM ausführt, bevor sie ausgesetzt oder beendet 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 können Sie genau bestimmen, welche VMs in der verwalteten Instanzgruppe ausgesetzt oder beendet werden. Der manuelle Modus ist der Standardmodus des Stand‑by-Pools.
Der manuelle Modus ist in den folgenden Fällen nützlich:
- Pausieren Ihrer Arbeitslast und Sparen bei inaktiven VMs
- Einbinden der verwalteten Instanzgruppe in Drittanbieter-Autoscaler, die eine erweiterte Verwaltung einzelner VMs erfordern
- Beenden von ausgewählten VMs zu Debugging-Zwecken
Im manuellen Modus wendet die verwaltete Instanzgruppe keine Automatisierungen auf den Stand‑by-Pool an:
- Wenn Sie oder der Autoscaler die Zielgröße der verwalteten Instanzgruppe erhöhen, startet die verwaltete Instanzgruppe nicht automatisch VMs oder setzt sie fort, sondern erstellt neue VMs.
- Wenn Sie oder das Autoscaling die Zielgröße der verwalteten Instanzgruppe verringern, wird die laufende VM nicht automatisch ausgesetzt oder beendet, sondern gelöscht.
Poolmodus für horizontale Skalierung
Im Poolmodus für horizontale Skalierung verwendet die verwaltete Instanzgruppe die VMs aus den Standby-Pools, um die horizontale Skalierung zu beschleunigen, indem sie sie fortsetzt oder startet. Anschließend füllt die verwaltete Instanzgruppe den Standby-Pool automatisch mit neuen VMs auf, um die Zielgrößen beizubehalten.
Der Poolmodus für horizontale Skalierung ist nützlich, um die horizontale Skalierung der verwalteten Instanzgruppe in den folgenden Fällen zu beschleunigen:
- Wenn Sie die Compute Engine-Autoscaling verwenden
- Wenn Sie Drittanbieter-Autoscaler verwenden und eine vorhandene Einbindung beibehalten möchten
- Wenn Sie die Zielgröße von ausgeführten VMs manuell erhöhen
Im Poolmodus für horizontale Skalierung verhält sich die verwaltete Instanzgruppe so:
Wenn Sie oder das Autoscaling die Zielgröße der laufenden VMs in der verwalteten Instanzgruppe erhöhen, führt die verwaltete Instanzgruppe Aktionen in der folgenden Reihenfolge aus:
- Die verwaltete Instanzgruppe setzt ausgesetzte VMs fort, falls in den Zonen, in denen die verwaltete Instanzgruppe horizontal skaliert wird, VMs verfügbar sind.
- Wenn die Zielgröße der verwalteten Instanzgruppe nach dem Fortsetzen der ausgesetzten VMs noch nicht erreicht wurde, startet die verwaltete Instanzgruppe beendete VMs, sofern sie in den Zonen sind, in denen die verwaltete Instanzgruppe horizontal skaliert wird.
- Wenn die Zielgröße der verwalteten Instanzgruppe nach dem Starten der VMs immer noch nicht erreicht ist, werden neue VMs erstellt.
Das geschieht, nachdem der Standby-Pool zum Beschleunigen der horizontalen Skalierung verwendet wurde:
- Die verwaltete Instanzgruppe erstellt neue VMs, um die ausgesetzten und beendeten Pools entsprechend ihren Zielgrößen und in Übereinstimmung mit der Zielverteilungsform bei einer regionalen verwalteten Instanzgruppe aufzufüllen.
- Die verwaltete Instanzgruppe versetzt die neuen VMs in den Status „Wird ausgeführt“.
- Die verwaltete Instanzgruppe setzt die neuen VMs aus oder beendet sie, nachdem die erste Verzögerung verstrichen ist.
Wenn Sie oder das Autoscaling die Zielgröße der verwalteten Instanzgruppe verringern, wird die laufende VM nicht automatisch beendet oder ausgesetzt, 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 ausgesetzt 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
SUSPENDEDoderTERMINATEDerstellt. - Eine vorhandene Instanz im Status
RUNNINGwird ausgesetzt oder beendet.
In beiden Fällen kann die Instanz initialisiert werden, bevor sie ausgesetzt oder beendet wird.
Wenn Sie den Standby-Pool verwenden möchten, um die horizontale Skalierung der MIG zu beschleunigen, sollten Sie die Zeit messen, die Ihre Anwendung für die Initialisierung auf dem ausgewählten Maschinentyp benötigt. So ist Ihre Anwendung vollständig bereit, bevor sie ausgesetzt oder beendet wird. Andernfalls kann das Fortsetzen oder Starten von VMs aus dem Standby-Pool länger dauern als ein neues Erstellen von VMs.
Zielstatus für VMs in verwalteten Instanzgruppen
Verwaltete Instanzgruppen haben eine deklarative API. Das bedeutet, dass Sie den Zielstatus für die VMs in der verwalteten Instanzgruppe deklarieren und die API-Anfrage erfolgreich ist, wenn der Zielstatus gespeichert wird. Die verwaltete Instanzgruppe 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 Aussetzen und Beenden von VMs in einer verwalteten Instanzgruppe funktioniert auf die gleiche deklarative Weise. Wenn Sie eine Anfrage zum Aussetzen oder Sperren von VMs senden, speichert die verwaltete Instanzgruppe die Informationen zum Zielstatus für jede VM und startet die erforderlichen Vorgänge, um den Zielstatus zu erreichen.
Wenn Sie verwaltete VMs in einer verwalteten Instanzgruppe auflisten, können Sie das Feld targetStatus sehen.
Er beschreibt den endgültigen Status einer VM, wenn die verwaltete Instanzgruppe stabil ist.
Der Status kann einen der folgenden Werte sein:
RUNNINGSTOPPEDSUSPENDED
VMs in einer verwalteten Instanzgruppe können dieselben Lebenszyklusstatus wie einzelne VMs haben.
Es folgen Beispiele für mögliche Vorgänge für eine verwaltete Instanzgruppe und die zugehörigen Werte des Felds targetStatus:
- Erstellen Sie die neue VM und setzen Sie sie nach der Initialisierung aus.
- Zielstatus der VM:
SUSPENDED
- Zielstatus der VM:
- Setzen Sie eine zuvor ausgesetzte 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 Aussetzen eigenständiger VMs gelten auch für das Aussetzen von VMs in einer verwalteten Instanzgruppe:
- Sie können keine Instanzen anhalten, die eine GPU verwenden.
- Sie können eine Bare Metal-Instanz nicht aussetzen.
- Sie können eine Instanz nicht mithilfe der Standardprozesse aussetzen, die in die Gastumgebung eingebunden sind. Befehle wie
systemctl suspendin 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 aussetzen, bevor die VM-Instanz automatisch beendet wird.
- Sie können keine Instanzen mit mehr als 208 GB Arbeitsspeicher aussetzen.
- Sie können Instanzen auf Abruf aussetzen. Die Instanz auf Abruf wird jedoch möglicherweise beendet, bevor sie erfolgreich ausgesetzt wird.
- Sie können eine Confidential VM nicht aussetzen.
- Sie können keine VM aussetzen, an die durch vom Kunden bereitgestellte Verschlüsselungsschlüssel geschützte Laufwerke angehängt sind.
- In einer regional verwalteten Instanzgruppe mit der Zielverteilungsform
EVENund Umverteilung von Instanzen können Sie bestimmte VMs in der Gruppe nicht aussetzen, beenden, fortsetzen oder starten. Um einen Standby-Pool zu verwalten, legen Sie die Zielgrößen der ausgesetzten und beendeten Pools fest. - Sie können den Poolmodus für 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 verwalteten Instanzgruppe nicht aussetzen oder beenden, wenn Sie die Reparatur in der verwalteten Instanzgruppe deaktiviert haben.
- Sie können eine Instanz nur bis zu 60 Tage lang aussetzen, bevor die VM-Instanz automatisch beendet wird.
Preise
Jede ausgesetzte und beendete 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 mit der VM verbunden sind. Weitere Informationen finden Sie unter IP-Preise.
- Bei ausgesetzten VMs der VM-Speicher und der Gerätestatus. Weitere Informationen finden Sie unter Preise für VM-Instanzen .
Nächste Schritte
- VMs in einer verwalteten Instanzgruppe manuell aussetzen oder beenden
- Horizontale Skalierung mit ausgesetzten und beendeten VMs beschleunigen
- Updates für ausgesetzte und beendete VMs