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 aufrufen. Weitere Informationen zum ordnungsgemäßen Herunterfahren finden Sie unter Ordnungsgemäßes Herunterfahren.

In den Details einer Instanz haben Sie folgende Möglichkeiten:

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

  • Ordnungsgemäßes Herunterfahren beobachten Während eines ordnungsgemäßen Herunterfahrens können Sie Folgendes prüfen:

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

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

Hinweis

  • 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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Instanzadministrator (v1) (roles/compute.instanceAdmin.v1) für Ihr Projekt zu gewähren, um die Berechtigung zum Aufrufen des ordnungsgemäßen Herunterfahrens einer Compute-Instanz zu erhalten. 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 die ordnungsgemäße Abschaltung ansehen

Wählen Sie eine der folgenden Optionen aus, um die Einstellungen für den ordnungsgemäßen 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. Um die Einstellungen für das geplante Herunterfahren zu prüfen, sehen Sie im Abschnitt Verfügbarkeitsrichtlinien nach, welchen Wert das Feld Maximale Dauer des geplanten Herunterfahrens hat. In diesem Feld wird der Zeitraum für die ordnungsgemäße Abschaltung angezeigt. Wenn ein Bindestrich (-) angezeigt wird, ist die ordnungsgemäße Abschaltung deaktiviert.

gcloud

Verwenden Sie den Befehl gcloud beta compute instances describe, um die Einstellungen für das geplante 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 der geplante Ablauf 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 die Graceful Shutdown-Phase in Sekunden dauert. Wenn Sie beim Aktivieren des ordnungsgemäßen Herunterfahrens in der Instanz keinen benutzerdefinierten Zeitraum angegeben haben, lässt Compute Engine das Feld maxDuration aus und setzt den Zeitraum für das ordnungsgemäße Herunterfahren auf 10 Minuten.

REST

Wenn Sie die Einstellungen für das ordnungsgemäße Herunterfahren einer Instanz aufrufen 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 der geplante Ablauf 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 die Graceful Shutdown-Phase in Sekunden dauert. Wenn Sie beim Aktivieren des ordnungsgemäßen Herunterfahrens in der Instanz keinen benutzerdefinierten Zeitraum angegeben haben, lässt Compute Engine das Feld maxDuration aus und setzt den Zeitraum für das ordnungsgemäße Herunterfahren auf 10 Minuten.

Ordnungsgemäßes Herunterfahren beobachten

Wählen Sie eine der folgenden Optionen aus, um eine laufende geplante Heruntersetzung in 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äßer Herunterfahrvorgang gerade ausgeführt wird, prüfen Sie im Bereich Grundlegende Informationen die folgenden Felder:

    • Status: In diesem Feld sehen Sie den Status Ihrer Instanz. Während eines ordnungsgemäßen Herunterfahrens wird in diesem Feld Ausstehendes Stoppen und ein Countdown-Timer angezeigt. Der Timer läuft bis zum Ende des ordnungsgemäßen Herunterfahrens.

    • Zielstatus: In diesem Feld sehen Sie, ob die Compute Engine die Instanz beendet (Beendet) oder löscht (Gelöscht).

gcloud

Verwenden Sie den Befehl gcloud beta compute instances describe, um ein laufendes geplantes Herunterfahren in einer Instanz zu ü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äßer Herunterfahrvorgang in Bearbeitung ist, 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 der ordnungsgemäßen Abschaltung in Sekunden. Nachdem die Compute Engine STOP_STATE auf STOPPING gesetzt hat, löscht sie das Feld maxDuration.

  • REQUEST_TIMESTAMP: Der Zeitstempel, zu dem die STOP_STATE gestartet wurde.

  • STOP_STATE: die Phase des Beendens der Instanz. Der Wert kann einer der folgenden sein:

    • PENDING_STOP: Die Compute Engine hat den ordnungsgemäßen Herunterfahren gestartet. Die Instanz bleibt in diesem Status, bis Sie den ordnungsgemäßen Herunterfahren manuell beenden oder die Zeitüberschreitung für den ordnungsgemäßen Herunterfahren abgelaufen ist.

    • STOPPING: Das geplante Herunterfahren ist beendet und die Compute Engine fährt mit dem Beenden oder Löschen fort.

  • TARGET_STATE: Ob die 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 Herunterfahrvorgang in einer Instanz beobachten möchten, senden Sie eine GET-Anfrage an die Betamethode 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äßer Herunterfahrvorgang in Bearbeitung ist, 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 der ordnungsgemäßen Abschaltung in Sekunden. Nachdem die Compute Engine STOP_STATE auf STOPPING gesetzt hat, löscht sie das Feld maxDuration.

  • REQUEST_TIMESTAMP: Der Zeitstempel, zu dem die STOP_STATE gestartet wurde.

  • STOP_STATE: die Phase des Beendens der Instanz. Der Wert kann einer der folgenden sein:

    • PENDING_STOP: Die Compute Engine hat den ordnungsgemäßen Herunterfahren gestartet. Die Instanz bleibt in diesem Status, bis Sie den ordnungsgemäßen Herunterfahren manuell beenden oder die Zeitüberschreitung für den ordnungsgemäßen Herunterfahren abgelaufen ist.

    • STOPPING: Das geplante Herunterfahren ist beendet und die Compute Engine fährt mit dem Beenden oder Löschen fort.

  • TARGET_STATE: Ob die 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äßer Herunterfahrvorgang in Bearbeitung ist, 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 der ordnungsgemäßen Abschaltung in Sekunden. Nachdem die Compute Engine STOP_STATE auf STOPPING gesetzt hat, löscht sie das Feld maxDuration.

    • REQUEST_TIMESTAMP: Der Zeitstempel, zu dem die STOP_STATE gestartet wurde.

    • STOP_STATE: die Phase des Beendens der Instanz. Der Wert kann einer der folgenden sein:

      • PENDING_STOP: Die Compute Engine hat die ordnungsgemäße Deaktivierung gestartet. Die Instanz bleibt in diesem Status, bis Sie den ordnungsgemäßen Herunterfahrvorgang manuell beenden oder das Zeitlimit für den ordnungsgemäßen Herunterfahrvorgang abläuft.

      • STOPPING: Die geplante Deaktivierung ist beendet und die Compute Engine fährt mit dem Beenden oder Löschen fort.

    • TARGET_STATE: Ob die Compute Engine die Instanz beendet (STOPPED) oder löscht (DELETED).

Nächste Schritte