Fehlerfreies Herunterfahren in einer Compute Engine-Instanz ansehen


In diesem Dokument wird beschrieben, wie Sie die Einstellungen und den Fortschritt eines ordnungsgemäßen Herunterfahrens in einer Compute Engine-Instanz ansehen. Weitere Informationen zum ordnungsgemäßen Herunterfahren finden Sie unter Ordnungsgemäßes Herunterfahren – Übersicht.

Wenn Sie die Details einer Instanz aufrufen, haben Sie folgende Möglichkeiten:

  • Einstellungen für das ordnungsgemäße Herunterfahren ansehen Sie können prüfen, ob das ordnungsgemäße Herunterfahren aktiviert ist und wie lange es dauert.

  • Ordnungsgemäßes Herunterfahren überwachen Wenn ein ordnungsgemäßes Herunterfahren läuft, können Sie Folgendes prüfen:

    • Wenn beim ordnungsgemäßen Herunterfahren eine Zeitüberschreitung auftritt.

    • Wenn ein Stopp- oder Löschvorgang läuft.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud -Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
    <x0A>

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

        Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1) für Ihr Projekt zu gewähren, um die Berechtigung zu erhalten, die Sie zum Aufrufen des ordnungsgemäßen Herunterfahrens einer Compute-Instanz benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigung compute.instances.get on the project, die zum Aufrufen des ordnungsgemäßen Herunterfahrens einer Compute-Instanz erforderlich ist.

Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Einstellungen für das ordnungsgemäße Herunterfahren ansehen

Wählen Sie eine der folgenden Optionen aus, um die Einstellungen für das ordnungsgemäße Herunterfahren in einer Compute-Instanz aufzurufen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zu „VM-Instanzen“

  2. Klicken Sie in der Spalte Name auf den Namen Ihrer Instanz.

    Die Detailseite der Instanz wird auf dem Tab Details geöffnet.

  3. Wenn Sie die Einstellungen für das ordnungsgemäße Herunterfahren prüfen möchten, sehen Sie im Abschnitt Verfügbarkeitsrichtlinien nach dem Wert des Felds Maximale Dauer für ordnungsgemäßes Herunterfahren. In diesem Feld wird der Zeitraum für das ordnungsgemäße Herunterfahren angezeigt. Wenn ein Bindestrich () angezeigt wird, ist das ordnungsgemäße Herunterfahren deaktiviert.

gcloud

Verwenden Sie den gcloud beta compute instances describe-Befehl, um die Einstellungen für das ordnungsgemäße Herunterfahren in einer Instanz aufzurufen:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Instanz.

  • ZONE: Die Zone, in der sich die Instanz befindet.

Wenn das ordnungsgemäße Herunterfahren aktiviert ist, sieht die Ausgabe in etwa so aus:

...
scheduling:
  ...
  gracefulShutdown:
    enabled: true
    maxDuration:
      seconds: 'MAX_DURATION'
  ...
...

Die Ausgabe enthält den Wert MAX_DURATION. Dieser Wert gibt an, wie lange der Zeitraum für das ordnungsgemäße Herunterfahren in Sekunden dauert. Wenn Sie beim Aktivieren des ordnungsgemäßen Herunterfahrens in der Instanz keinen benutzerdefinierten Zeitraum für das Herunterfahren angegeben haben, lässt Compute Engine das Feld maxDuration weg und legt den Zeitraum für das ordnungsgemäße Herunterfahren auf 10 Minuten fest.

REST

Senden Sie eine GET-Anfrage an die Beta-Methode instances.get, um die Einstellungen für das ordnungsgemäße Herunterfahren in einer Instanz aufzurufen:

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem Sie die Instanz erstellt haben.

  • ZONE: Die Zone, in der sich die Instanz befindet.

  • INSTANCE_NAME: der Name der Instanz.

Wenn das ordnungsgemäße Herunterfahren aktiviert ist, sieht die Ausgabe in etwa so aus:

{
  ...
  "scheduling": {
    ...
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  },
  ...
}

Die Ausgabe enthält den Wert MAX_DURATION. Dieser Wert gibt an, wie lange der Zeitraum für das ordnungsgemäße Herunterfahren in Sekunden dauert. Wenn Sie beim Aktivieren des ordnungsgemäßen Herunterfahrens in der Instanz keinen benutzerdefinierten Zeitraum für das Herunterfahren angegeben haben, lässt Compute Engine das Feld maxDuration weg und legt den Zeitraum für das ordnungsgemäße Herunterfahren auf 10 Minuten fest.

Ordnungsgemäßes Herunterfahren überwachen

Wählen Sie eine der folgenden Optionen aus, um das ordnungsgemäße Herunterfahren einer Compute-Instanz zu überwachen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zu „VM-Instanzen“

  2. Klicken Sie in der Spalte Name auf den Namen Ihrer Instanz.

    Die Detailseite der Instanz wird auf dem Tab Details geöffnet.

  3. Wenn ein ordnungsgemäßes Herunterfahren läuft, sehen Sie im Bereich Basic information (Grundlegende Informationen) nach, ob die folgenden Felder angezeigt werden:

    • Status: In diesem Feld wird der Status Ihrer Instanz angezeigt. Während eines ordnungsgemäßen Herunterfahrens wird in diesem Feld Pending stop (Ausstehender Stopp) und ein Countdown-Timer angezeigt. Der Timer zählt bis zum Ende des ordnungsgemäßen Herunterfahrens herunter.

    • Zielstatus: In diesem Feld wird angezeigt, ob Compute Engine die Instanz stoppt (Beendet) oder löscht (Gelöscht).

gcloud

Mit dem Befehl gcloud beta compute instances describe können Sie ein laufendes ordnungsgemäßes Herunterfahren einer Instanz überwachen:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Instanz.

  • ZONE: Die Zone, in der sich die Instanz befindet.

Wenn ein ordnungsgemäßes Herunterfahren läuft, sieht die Ausgabe in etwa so aus:

...
resourceStatus:
  ...
  shutdownDetails:
    maxDuration:
      seconds: 'MAX_DURATION'
    requestTimestamp: 'REQUEST_TIMESTAMP'
    stopState: STOP_STATE
    targetState: TARGET_STATE
...
status: PENDING_STOP
...

Diese Ausgabe enthält die folgenden Werte:

  • MAX_DURATION: Die Dauer des Graceful-Shutdown-Zeitraums in Sekunden. Nachdem Compute Engine STOP_STATE auf STOPPING gesetzt hat, wird das Feld maxDuration gelöscht.

  • REQUEST_TIMESTAMP: Der Zeitstempel, der angibt, wann die STOP_STATE begonnen hat.

  • STOP_STATE: Die Beendigungsphase der Instanz. Der Wert kann einer der folgenden sein:

    • PENDING_STOP: Compute Engine hat das ordnungsgemäße Herunterfahren gestartet. Die Instanz verbleibt in diesem Status, bis Sie das ordnungsgemäße Herunterfahren manuell beenden oder der Zeitraum für das ordnungsgemäße Herunterfahren abläuft.

    • STOPPING: Das ordnungsgemäße Herunterfahren ist abgeschlossen und Compute Engine setzt den Stopp- oder Löschvorgang fort.

  • TARGET_STATE: Gibt an, ob Compute Engine die Instanz beendet (STOPPED) oder löscht (DELETED).

Wenn ein Stoppvorgang ausgeführt wird, löscht Compute Engine das Feld shutdownDetails, nachdem das Feld status auf TERMINATE gesetzt wurde.

REST

Wenn Sie einen laufenden ordnungsgemäßen Shutdown in einer Instanz überwachen möchten, senden Sie eine GET-Anfrage an die Beta-Methode instances.get:

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem Sie die Instanz erstellt haben.

  • ZONE: Die Zone, in der sich die Instanz befindet.

  • INSTANCE_NAME: der Name der Instanz.

Wenn ein ordnungsgemäßes Herunterfahren läuft, sieht die Ausgabe in etwa so aus:

{
  ...
  "resourceStatus": {
    ...
    "shutdownDetails": {
      "maxDuration": {
        "seconds": "MAX_DURATION"
      },
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
  },
  ...
  "status": "PENDING_STOP",
  ...
}

Diese Ausgabe enthält die folgenden Werte:

  • MAX_DURATION: Die Dauer des Graceful-Shutdown-Zeitraums in Sekunden. Nachdem Compute Engine STOP_STATE auf STOPPING gesetzt hat, wird das Feld maxDuration gelöscht.

  • REQUEST_TIMESTAMP: Der Zeitstempel, der angibt, wann die STOP_STATE begonnen hat.

  • STOP_STATE: Die Beendigungsphase der Instanz. Der Wert kann einer der folgenden sein:

    • PENDING_STOP: Compute Engine hat das ordnungsgemäße Herunterfahren gestartet. Die Instanz verbleibt in diesem Status, bis Sie das ordnungsgemäße Herunterfahren manuell beenden oder der Zeitraum für das ordnungsgemäße Herunterfahren abläuft.

    • STOPPING: Das ordnungsgemäße Herunterfahren ist abgeschlossen und Compute Engine setzt den Stopp- oder Löschvorgang fort.

  • TARGET_STATE: Gibt an, ob Compute Engine die Instanz beendet (STOPPED) oder löscht (DELETED).

Wenn ein Stoppvorgang ausgeführt wird, löscht Compute Engine das Feld shutdownDetails, nachdem das Feld status auf TERMINATE gesetzt wurde.

Metadatenserver

  1. eine Verbindung zur Instanz herstellen

  2. Metadatenserver abfragen:

    curl "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details/?recursive=true?alt=json" \-H "Metadata-Flavor: Google"
    

    Wenn ein ordnungsgemäßes Herunterfahren läuft, sieht die Ausgabe in etwa so aus:

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    Die Ausgabe enthält die folgenden Werte:

    • MAX_DURATION: Die Dauer des Graceful-Shutdown-Zeitraums in Sekunden. Nachdem Compute Engine STOP_STATE auf STOPPING gesetzt hat, wird das Feld maxDuration gelöscht.

    • REQUEST_TIMESTAMP: Der Zeitstempel, der angibt, wann die STOP_STATE begonnen hat.

    • STOP_STATE: Die Beendigungsphase der Instanz. Der Wert kann einer der folgenden sein:

      • PENDING_STOP: Compute Engine hat das ordnungsgemäße Herunterfahren gestartet. Die Instanz verbleibt in diesem Status, bis Sie das ordnungsgemäße Herunterfahren manuell beenden oder das Zeitlimit für das ordnungsgemäße Herunterfahren abläuft.

      • STOPPING: Das ordnungsgemäße Herunterfahren ist abgeschlossen und Compute Engine setzt den Vorgang zum Beenden oder Löschen fort.

    • TARGET_STATE: Gibt an, ob Compute Engine die Instanz beendet (STOPPED) oder löscht (DELETED).

Nächste Schritte