Verfügbarkeitsrichtlinien von Instanzen festlegen

Google Compute Engine führt regelmäßig eine Wartung seiner Infrastruktur durch. Auf dieser Seite werden die Typen und die ungefähre Häufigkeit dieser Wartungsereignisse erläutert. Außerdem wird gezeigt, wie Sie mit Optionen zur Instanzverfügbarkeit das Verhalten von VM-Instanzen bei diesen Wartungsereignissen konfigurieren können. Sie erfahren auf dieser Seite auch, wie Sie für eine Instanz die Live-Migration bei einem Wartungsereignis festlegen.

Vorbereitung

Wartungsereignisse

Bei Wartungsereignissen von Compute Engine werden Hardware- und Software-Updates ausgeführt. Für einige dieser Wartungsereignisse muss Google Ihre VM von dem Host entfernen, der gerade gewartet wird. Compute Engine verwaltet automatisch die Planung dieser Instanzen. So wird von Compute Engine eine Live-Migration Ihrer VM-Instanzen ausgeführt, wenn Sie die Verfügbarkeitsrichtlinie der Instanz für die Live-Migration konfiguriert haben. Damit werden Störungen Ihrer Anwendungen während dieser Ereignisse verhindert. Alternativ können Sie Ihre Instanzen während dieser Ereignisse auch beenden, anstatt sie live zu migrieren.

In der folgenden Tabelle sind die Wartungsereignisse von Compute Engine allgemein in zwei Kategorien mit entsprechenden Beispielen aufgeteilt. Dabei wird auch angegeben, für welches Wartungsereignis eine Live-Migration der VM auf einen anderen Host erforderlich ist.

Typ des Wartungsereignisses Beispiele Ungefähre Häufigkeit * Erfordert Live-Migration auf einen neuen Host
Hostwartung Hostkernel-Upgrade, Hardwarereparatur oder Upgrade Einmal pro Monat Ja
Einfach Hypervisor-Upgrade, Upgrade des Netzwerkstapels Ein- bis zweimal pro Woche Nein

* Beachten Sie, dass diese Angaben Schätzungen und keine verbindlichen Werte sind. Für Compute Engine wird zeitweise eine Wartung häufiger als hier angegeben ausgeführt.

Verfügbarkeitsrichtlinien auswählen

Die Verfügbarkeitsrichtlinie einer VM-Instanz bestimmt, wie sich diese Instanz verhält, wenn ein Wartungsereignis eintritt, bei dem Google Ihre VM-Instanz auf eine andere Hostmaschine verschieben muss. Sie können Ihre VM-Instanzen so konfigurieren, dass sie weiterhin ausgeführt werden, während sie von Compute Engine live zu einem anderen Host migriert werden, oder Sie können stattdessen Ihre Instanzen beenden. Die Verfügbarkeitsrichtlinie einer Instanz kann jederzeit aktualisiert werden, um zu steuern, wie sich Ihre VM-Instanzen verhalten sollen.

Für die Verfügbarkeitsrichtlinie einer Instanz lassen sich die beiden folgenden Einstellungen ändern:

  • Das Wartungsverhalten der VM-Instanz, das bestimmt, ob die Instanz live migriert oder beendet wird, wenn ein Wartungsereignis auftritt.
  • Das Verhalten bei Neustart der Instanz, mit dem festgelegt wird, ob die Instanz automatisch neu gestartet wird, wenn sie abstürzt oder beendet wird.

Standardmäßig wird für Instanzen bei der Wartung eine Live-Migration ausgeführt. Sie können dieses Verhalten ändern und Ihre Instanz bei Wartungsereignissen beenden.

Live-Migration

Standardmäßig ist für Standardinstanzen die Live-Migration festgelegt. Dabei wird die Instanz bei einem Wartungsereignis der Infrastruktur von Google Compute Engine automatisch an eine andere Stelle migriert. Die Instanz kann so während der Migration weiterhin ausgeführt werden. Ihre Instanz könnte für eine kurze Zeit mit verminderter Leistung arbeiten, obwohl bei den meisten Instanzen in der Regel kein Unterschied bemerkt wird. Dies ist ideal für Instanzen, die eine konstante Betriebszeit erfordern und eine kurzfristig verminderte Leistung tolerieren.

Mit der Migration Ihrer Instanz von Google Compute Engine wird ein Systemereignis gemeldet und in der Liste der Zonenvorgänge angezeigt. Sie können dieses Ereignis durch Aufruf der Compute Engine-Vorgänge für eine bestimmte Zone überprüfen. Für Live-Migrationsereignisse gilt folgender Vorgangstyp:

compute.instances.migrateOnHostMaintenance

Beenden und (optional) neu starten

Wenn für Ihre Instanz keine Live-Migration ausgeführt werden soll, können Sie Ihre Instanz auch beenden und wahlweise neu starten. Bei dieser Option wird Google Compute Engine Ihrer Instanz das Signal zum Herunterfahren geben, eine kurze Zeit warten, bis die Instanz sauber heruntergefahren ist, die Instanz beenden und sie in zeitlichem Abstand zum Wartungsereignis neu starten. Diese Option ist ideal für Instanzen, die eine konstante, maximale Leistung benötigen und wenn Ihre gesamte Anwendung zur Bewältigung von Instanzausfällen oder Neustarts ausgelegt ist.

Wenn Ihre Instanzen von Google Compute Engine beendet und neu gestartet werden, wird ein Systemereignis gemeldet und in der Liste der Zonenvorgänge angezeigt. Sie können dieses Ereignis durch Aufruf der Compute Engine-Vorgänge für eine bestimmte Zone überprüfen. Für Terminierungsereignisse gilt folgender Vorgangstyp:

compute.instances.terminateOnHostMaintenance

Wenn Ihre Instanz neu startet, verwendet sie den gleichen nichtflüchtigen Bootspeicher und hängt alle sekundären nichtflüchtigen Speicher, die Sie konfiguriert haben, wieder an. Die Daten auf diesen Laufwerken bleiben über die Migration und den Neustart der Instanz hinweg erhalten.

Lokale SSD-Daten gehen durch die Beendigung der Instanz verloren. Wenn die Instanz neu gestartet wird, erstellt sie ein neues lokales SSD-Laufwerk, das Sie formatieren und bereitstellen müssen.

Automatischer Neustart

Wenn Ihre Instanz so eingestellt ist, dass sie bei Wartungsarbeiten beendet wird, oder Ihre Instanz wegen eines zugrundeliegenden Hardwarefehlers abstürzt, können Sie Google Compute Engine so einstellen, dass die Instanz automatisch neu startet, indem Sie das Feld automaticRestart auf true setzen. Diese Einstellung gilt nicht, wenn die Instanz durch eine Nutzeraktion offline genommen wurde, zum Beispiel durch den Aufruf von sudo shutdown, oder während eines Zonenausfalls.

Beim automatischen Neustart der Instanz von Google Compute Engine wird ein Systemereignis gemeldet und in der Liste der Zonenvorgänge angezeigt. Sie können dieses Ereignis durch Aufruf der Compute Engine-Vorgänge für eine bestimmte Zone überprüfen. Für automatische Neustartereignisse gilt folgender Vorgangstyp:

compute.instances.automaticRestart

Compute Engine-Vorgänge ansehen

Sie können eine Liste der abgeschlossenen Vorgänge über die Google Cloud Platform Console, das gcloud-Befehlszeilentool oder die Compute Engine API ansehen.

Console

Zur Anzeige einer Liste der Vorgänge für Ihr Projekt rufen Sie die Seite "Vorgänge" auf.

  1. Wechseln Sie zur Seite "Vorgänge".

  2. Klicken Sie für weitere Informationen zu einem Vorgang auf die Vorgangszusammenfassung. Wenn Sie beispielsweise die Migrationsdetails für die Instanz my-instance sehen möchten, klicken Sie auf den Vorgang Automatically migrate an instance (Instanz automatisch migrieren). Screenshot der Vorgangsseite mit Live-Migration Screenshot der Live-Migrationsdetails

gcloud

Wenn Sie mit gcloud compute eine Liste der Vorgänge für Ihr Projekt aufrufen möchten, verwenden Sie den Unterbefehl operations list.

Fügen Sie für den Aufruf der Vorgangsliste in einer bestimmten Zone das Flag --filter hinzu:

gcloud compute operations list --filter="zone:(ZONE)"

Wenn Sie beispielsweise die Liste der Vorgänge in us-cental1-c aufrufen möchten, führen Sie folgenden Befehl aus:

gcloud compute operations list --filter="zone:(us-central1-c)"

NAME                            TYPE                                        TARGET                                HTTP_STATUS  STATUS  TIMESTAMP
systemevent-1543845145000...    compute.instances.migrateOnHostMaintenance  us-central1-c/instances/my-instance   200          DONE    2018-12-03T05:52:25.000-08:00

API

API-Anfragen für Vorgänge müssen entweder auf globaler, regionaler oder zonaler Ebene angegeben werden. Bei der Live-Migration, der Beendigung der Instanz und bei automatischen Neustarts handelt es sich um Vorgänge auf Zonenebene.

Für Zonenvorgänge senden Sie eine GET-Anfrage an die Methode zoneOperations.list:

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/operations

Dabei gilt:

  • [PROJECT_ID] ist die Projekt-ID für diese Anfrage.
  • [ZONE] ist der Name der Zone für diese Anfrage.

    Lassen Sie den Anfragetext leer.

Das folgende Beispiel zeigt die Ausgabe für eine Zonenvorgangsanfrage. In dieser Ausgabe sind Details zu einer Hostmigration angegeben.

{
 "kind": "compute#operation",
 "id": "3216798767364213712",
 "name": "systemevent-1543845145000-57c1e7574b840-a195b637-5ff74d9b",
 "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c",
 "operationType": "compute.instances.migrateOnHostMaintenance",
 "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/instances/my-instance",
 "targetId": "3070988523247098025",
 "status": "DONE",
 "statusMessage": "Instance migrated during Compute Engine maintenance.",
 "user": "system",
 "progress": 100,
 "insertTime": "2018-12-03T05:52:25.000-08:00",
 "startTime": "2018-12-03T05:52:25.000-08:00",
 "endTime": "2018-12-03T05:52:25.000-08:00",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/operations/systemevent-1543845145000-57c1e7574b840-a195b637-5ff74d9b"
}

Verfügbarkeitsrichtlinien festlegen

Konfigurieren Sie das Verhalten einer Instanz bei Wartung und automatischem Neustart, indem Sie die Attribute onHostMaintenance und automaticRestart verwenden. Alle Instanzen werden mit Standardwerten konfiguriert, es sei denn, Sie haben es ausdrücklich anders festgelegt.

  • onHostMaintenance: Legt das Verhalten bei Auftreten eines Wartungsereignisses fest, das zum Neustart der Instanz führen kann.

    • migrate (Standardwert): Legt fest, dass Compute Engine die Live-Migration einer Instanz durchführt, wenn ein Wartungsereignis auftritt.
    • terminate: Legt die Beendigung einer Instanz anstelle ihrer Migration fest.
  • automaticRestart: Legt das Verhalten beim Absturz einer Instanz oder bei einer Beendigung einer Instanz durch das System fest.

    • true (Standardwert): Legt fest, dass Compute Engine eine Instanz neu startet, wenn sie abstürzt oder beendet wird.
    • false: Legt fest, dass Compute Engine eine Instanz nicht neu startet, wenn sie abstürzt oder beendet wird.

Sie können die Verfügbarkeitsrichtlinien einer Instanz ändern, wenn Sie eine Instanz neu erstellen oder nachdem die Instanz erstellt wurde. Verwenden Sie dazu die Methode setScheduling.

Einstellungsoptionen während der Instanzerstellung

Console

  1. Wechseln Sie in der GCP Console zur Seite VM-Instanzen.

    Die Seite VM-Instanzen aufrufen

  2. Klicken Sie auf Instanz erstellen.
  3. Füllen Sie auf der Seite Neue Instanz erstellen die Eigenschaften für Ihre Instanz aus.
  4. Maximieren Sie die Option Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten.
  5. Wählen Sie unter Verfügbarkeitsrichtlinie die Optionen Automatischer Neustart und Wartung auf dem Host aus.
  6. Klicken Sie auf Erstellen, um die Instanz zu erstellen.

gcloud

Verwenden Sie zur Angabe der Verfügbarkeitsrichtlinien einer neuen Instanz in gcloud compute das Flag --maintenance-policy, um festzulegen, ob die Instanz migriert oder beendet wird. Standardmäßig sind Instanzen so eingestellt, dass sie automatisch neu starten, es sei denn, Sie haben das Flag --no-restart-on-failure gesetzt.

gcloud compute instances create INSTANCE .. \
    [--maintenance-policy MAINTENANCE_POLICY] \
    [--no-restart-on-failure]

API

Stellen Sie in der API eine POST-Anfrage an die folgende URL, wodurch das Projekt und die Zone durch Ihre Projekt-ID und die Zone der Instanz ersetzt werden:

https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances

mit den Parametern onHostMaintenance und automaticRestart als Teil des Anfragetextes:

{
  "name": "example-instance",
  "description": "Front-end for real-time ingest; don't migrate.",
  ...
  // User options for influencing this Instance’s life cycle.
  "scheduling": {
    "onHostMaintenance": "migrate",
    "automaticRestart": "true" # specifies that Google Compute Engine should automatically restart your instance
  }
}

Weitere Informationen finden Sie in der Referenzdokumentation unter Instanzen.

Aktualisierungsoptionen für eine Instanz

Console

  1. Gehen Sie in der Google Cloud Platform Console auf die Seite "VM-Instanzen".

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf die Instanz, deren Einstellungen Sie ändern möchten. Die Seite mit den Instanzdetails wird angezeigt.
  3. Führen Sie auf der Seite mit den Instanzdetails folgende Schritte aus:
    1. Klicken Sie oben auf der Seite auf Bearbeiten.
    2. Aktualisieren Sie unter Verfügbarkeitsrichtlinien die Richtlinie nach Bedarf. Im Abschnitt Verfügbarkeitsrichtlinien können Sie die Optionen für den automatischen Neustart und für die Wartung auf dem Host festlegen.
    3. Klicken Sie auf Speichern.

gcloud

Zum Aktualisieren der Verfügbarkeitsrichtlinien einer Instanz verwenden Sie den Befehl instances set-scheduling mit denselben Parametern und Flags wie im oben gezeigten Befehl zum Erstellen einer Instanz:

gcloud compute instances set-scheduling INSTANCE \
    [--maintenance-policy BEHAVIOR] \
    [--no-restart-on-failure | --restart-on-failure]

API

In der API können Sie eine Anfrage an die folgende URL stellen, wodurch das Projekt und die Zone durch Ihre eigene Projekt-ID und die Zone der Instanz ersetzt werden:

https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-f/instances/setScheduling

Der Text Ihrer Anfrage muss den neuen Wert für die Verfügbarkeitsrichtlinien enthalten:

{
  "onHostMaintenance": "migrate"
  "automaticRestart": "true" # specifies that Google Compute Engine should automatically restart your instance
}

Weitere Informationen finden Sie in der Referenzdokumentation zu instances().setScheduling.

Verfügbarkeitsrichtlinien testen

Nachdem Sie die Verfügbarkeitsrichtlinien festgelegt haben, können Sie Wartungsereignisse simulieren, um die Auswirkungen der Verfügbarkeitsrichtlinien auf Ihre Anwendungen zu testen. So lässt sich z. B. ein Wartungsereignis für Ihre Instanzen in einer der folgenden Situationen simulieren:

  • Ihre Instanzen sind für die Live-Migration bei Wartungsereignissen konfiguriert und Sie möchten die Auswirkungen der Live-Migration auf Ihre Anwendungen testen.
  • Es liegen Batch-Jobs vor, die auf VM-Instanzen auf Abruf ausgeführt werden, und Sie möchten testen, wie Ihre Anwendungen auf das vorzeitige Beenden und das Herunterfahren einer oder mehrerer Instanzen reagieren.
  • Ihre Instanzen sind so konfiguriert, dass sie bei Wartungsereignissen beendet und neu gestartet und nicht live migriert werden. Sie möchten testen, wie Ihre Anwendungen auf diesen Vorgang des Herunterfahrens und Neustartens reagieren.

Simulierte Wartungsereignisse unterliegen bestimmten API-Ratenlimits.

Zum Simulieren eines Wartungsereignisses für eine Instanz können Sie das gcloud-Befehlszeilentool oder eine API-Anfrage verwenden.

gcloud

Führen Sie den Befehl instances simulate-maintenance-event aus, damit für eine Instanz die jeweils konfigurierte Wartungsrichtlinienaktion aktiviert wird:

gcloud compute instances simulate-maintenance-event [INSTANCE_NAME] \
    --zone [ZONE]

Dabei gilt:

  • [INSTANCE_NAME] ist der Name der Instanz, für die das Wartungsereignis simuliert werden soll. Sie können mehrere Instanznamen angeben, um Wartungsereignisse für mehr als eine Instanz in derselben Zone zu simulieren.
  • [ZONE] ist die Zone, in der sich die Instanz befindet.

API

Senden Sie in der API eine Anfrage an die Methode compute.instances.simulateMaintenanceEvent in der Compute Engine API:

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/simulateMaintenanceEvent

Dabei gilt:

  • [INSTANCE_NAME] ist der Name der Instanz, für die das Wartungsereignis simuliert werden soll.
  • [ZONE] ist die Zone, in der sich die Instanz befindet.

    Weitere Informationen zu dieser Methode finden Sie in der Referenzdokumentation zu instances().simulateMaintenanceEvent.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation