Graceful Shutdown in einer Compute Engine-Instanz aktivieren

In diesem Dokument wird erläutert, wie Sie das ordnungsgemäße Herunterfahren in einer neuen oder vorhandenen Compute Engine-Instanz aktivieren.

Wenn Sie das ordnungsgemäße Herunterfahren in einer Compute-Instanz aktivieren, können Sie dem Gastbetriebssystem bis zu sechs Stunden Zeit geben, um ordnungsgemäß herunterzufahren, wenn Sie die Compute-Instanz beenden oder löschen. Dadurch werden Datenverluste oder beschädigte Dateisysteme verhindert, wenn Ihre Anwendungen mehr Zeit für die Ausführung von Aufgaben benötigen. Weitere Informationen zu den Anforderungen und Einschränkungen, die beim ordnungsgemäßen Herunterfahren einer Compute-Instanz gelten, finden Sie unter Informationen zum ordnungsgemäßen Herunterfahren.

Hinweis

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für Ihr Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Aktivieren des ordnungsgemäßen Herunterfahrens in 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 Berechtigungen, die zum Aktivieren des ordnungsgemäßen Herunterfahrens in einer Compute-Instanz erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um das ordnungsgemäße Herunterfahren in einer Compute-Instanz zu aktivieren:

  • So erstellen Sie Compute-Instanzen:
    • compute.instances.create für das Projekt
    • Zum Erstellen der VM mit einem benutzerdefinierten Image: compute.images.useReadOnly für das Image
    • Zum Erstellen der VM mit einem Snapshot: compute.snapshots.useReadOnly für den Snapshot
    • Zum Erstellen der VM mit einer Instanzvorlage: compute.instanceTemplates.useReadOnly für die Instanzvorlage
    • Zum Zuweisen eines Legacy-Netzwerks zur VM: compute.networks.use für das Projekt
    • Zum Festlegen einer statische IP-Adresse für die VM: compute.addresses.use für das Projekt
    • Zum Zuweisen einer externen IP-Adresse zur VM bei Verwendung eines Legacy-Netzwerks: compute.networks.useExternalIp für das Projekt
    • Zum Angeben eines Subnetzes für die VM: compute.subnetworks.use für das Projekt oder für das ausgewählte Subnetz
    • Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein VPC-Netzwerk verwenden: compute.subnetworks.useExternalIp für das Projekt oder für das ausgewählte Subnetz
    • Zum Festlegen von Metadaten der VM-Instanz für die VM: compute.instances.setMetadata für das Projekt
    • Zum Festlegen von Tags für die VM: compute.instances.setTags für die VM
    • Zum Festlegen von Labels für die VM: compute.instances.setLabels für die VM
    • Zum Festlegen eines Dienstkontos, das die VM verwenden soll: compute.instances.setServiceAccount für die VM
    • Zum Erstellen eines neuen Laufwerks für die VM: compute.disks.create für das Projekt
    • Zum Anhängen eines vorhandenen Laufwerks im Lese- oder Lese-/Schreibmodus: compute.disks.use für das Laufwerk
    • Zum Anhängen eines vorhandenen Laufwerks im Lesemodus: compute.disks.useReadOnly für das Laufwerk
  • Zum Erstellen einer Instanzvorlage: compute.instanceTemplates.create für das Projekt
  • So aktivieren Sie das ordnungsgemäße Herunterfahren in einer vorhandenen Compute-Instanz: compute.instances.update für die Compute-Instanz

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

Ordnungsgemäßes Herunterfahren aktivieren

Verwenden Sie eine der folgenden Methoden, um das ordnungsgemäße Herunterfahren in einer Compute-Instanz zu aktivieren:

Ordnungsgemäßes Herunterfahren in einer vorhandenen Compute-Instanz aktivieren

Wenn Sie das ordnungsgemäße Herunterfahren in einer vorhandenen Compute-Instanz aktivieren, müssen Sie die Compute-Instanz wie in diesem Abschnitt beschrieben neu starten.

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

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie in der Spalte Name auf den Namen der Compute-Instanz, für die Sie das ordnungsgemäße Herunterfahren aktivieren möchten. Die Detailseite der Compute-Instanz wird geöffnet.

  3. Klicken Sie auf  Bearbeiten.

  4. Führen Sie im Bereich Verwaltung folgende Schritte aus:

    1. Markieren Sie das Kästchen VM ordnungsgemäß herunterfahren.

    2. Geben Sie im Feld Maximale Dauer die Anzahl der Minuten oder Sekunden ein, die das ordnungsgemäße Herunterfahren dauern soll. Der Wert muss zwischen einer Sekunde und 360 Minuten (sechs Stunden) liegen.

  5. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud compute instances update mit den Flags --graceful-shutdown und --graceful-shutdown-max-duration, um das ordnungsgemäße Herunterfahren in einer vorhandenen Compute-Instanz zu aktivieren:

gcloud compute instances update INSTANCE_NAME \
    --graceful-shutdown \
    --graceful-shutdown-max-duration=MAX_DURATION \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: Der Name der Compute-Instanz.

  • MAX_DURATION: die maximale Dauer des ordnungsgemäßen Herunterfahrens. Der Wert muss als Anzahl der Stunden, Minuten oder Sekunden gefolgt von h, m oder s formatiert werden. Geben Sie beispielsweise 1h für eine Stunde oder 20m10s für 20 Minuten und 10 Sekunden an. Der Wert muss zwischen einer Sekunde und sechs Stunden liegen.

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

REST

  1. Erstellen Sie eine leere JSON-Datei.

  2. Senden Sie eine GET-Anfrage an die Methode instances.get, um die Attribute einer vorhandenen Compute-Instanz aufzurufen.

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem die Compute-Instanz vorhanden ist.

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

    • INSTANCE_NAME: der Name einer vorhandenen Compute-Instanz.

  3. Gehen Sie in der leeren JSON-Datei, die Sie in den vorherigen Schritten erstellt haben, so vor:

    1. Geben Sie die Konfigurationsdetails der Compute-Instanz aus der GET-Anfrageausgabe ein.

    2. Fügen Sie im Feld scheduling das Feld gracefulShutdown so hinzu:

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

      Ersetzen Sie MAX_DURATION durch die maximale Dauer des ordnungsgemäßen Herunterfahrens in Sekunden. Der Wert muss zwischen 1 (eine Sekunde) und 21600 (21.600 Sekunden oder sechs Stunden) liegen.

  4. Wenn Sie die Compute-Instanz aktualisieren und neu starten möchten, senden Sie eine PUT-Anfrage an die Methode instances.update. Gehen Sie in der Anfrage so vor:

    • Fügen Sie in der Anfrage-URL den Abfrageparameter mostDisruptiveAllowedAction ein, der auf RESTART gesetzt ist.

    • Fügen Sie im Anfragetext die Compute-Instanzattribute aus der JSON-Datei ein, die Sie in den vorherigen Schritten erstellt und aktualisiert haben.

    Die PUT-Anfrage zum Aktualisieren der Compute-Instanz sieht in etwa so aus:

    PUT https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART
    
    {
      ...
      "scheduling": {
        ...
        "gracefulShutdown": {
          "enabled": true
        }
      },
      ...
    }
    

Weitere Informationen zum Aktualisieren der Attribute einer Compute-Instanz finden Sie unter Instanzattribute aktualisieren.

Ordnungsgemäßes Herunterfahren beim Erstellen einer Compute-Instanz aktivieren

Wählen Sie eine der folgenden Optionen aus, um eine Compute-Instanz mit aktiviertem ordnungsgemäßem Herunterfahren zu erstellen:

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf Instanz erstellen. Die Seite Instanz erstellen wird geöffnet.

  3. Geben Sie im Feld Name einen Namen für die Compute-Instanz ein.

  4. Geben Sie in den Listen Region und Zone die Region und Zone ein, in der die Compute-Instanz erstellt werden soll.

  5. Geben Sie den Maschinentyp für Ihre Compute-Instanz an.

  6. Maximieren Sie den Abschnitt Erweiterte Einstellungen für das VM-Bereitstellungsmodell und gehen Sie dann so vor:

    1. Markieren Sie das Kästchen VM ordnungsgemäß herunterfahren.

    2. Geben Sie im Feld Maximale Dauer die Anzahl der Minuten oder Sekunden ein, die das ordnungsgemäße Herunterfahren dauern soll. Der Wert muss zwischen einer Sekunde und 360 Minuten (sechs Stunden) liegen.

  7. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie zum Erstellen einer Compute-Instanz mit aktiviertem ordnungsgemäßem Herunterfahren den Befehl gcloud compute instances create mit dem Flag --graceful-shutdown:

gcloud compute instances create INSTANCE_NAME \
    --graceful-shutdown \
    --graceful-shutdown-max-duration=MAX_DURATION \
    --machine-type=MACHINE_TYPE \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: Der Name der Compute-Instanz.

  • MAX_DURATION: die maximale Dauer des ordnungsgemäßen Herunterfahrens. Der Wert muss als Anzahl der Stunden, Minuten oder Sekunden gefolgt von h, m oder s formatiert werden. Geben Sie beispielsweise 1h für eine Stunde oder 20m10s für 20 Minuten und 10 Sekunden an. Der Wert muss zwischen einer Sekunde und sechs Stunden liegen.

  • MACHINE_TYPE: der für die Compute-Instanz zu verwendende Maschinentyp.

  • ZONE: die Zone, in der die Compute-Instanz erstellt werden soll.

REST

Wenn Sie eine Compute-Instanz mit aktiviertem ordnungsgemäßem Herunterfahren erstellen möchten, senden Sie eine POST-Anfrage an die Methode instances.insert. Geben Sie im Anfragetext das Feld gracefulShutdown an.

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "scheduling": {
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem die Compute-Instanz erstellt werden soll.

  • ZONE: die Zone, in der die Compute-Instanz erstellt werden soll.

  • INSTANCE_NAME: Der Name der Compute-Instanz.

  • MACHINE_TYPE: der Maschinentyp für die Compute-Instanz.

  • IMAGE_PROJECT: das Image-Projekt, das das Image enthält, z. B. debian-cloud. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Images.

  • IMAGE: Geben Sie eine der folgenden Optionen an:

    • Eine bestimmte Version des Betriebssystem-Images, z. B. debian-12-bookworm-v20240617.

    • Eine Image-Familie, die als family/IMAGE_FAMILY formatiert sein muss. Diese Formatierung gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Sie family/debian-12 angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

  • MAX_DURATION: die maximale Dauer des ordnungsgemäßen Herunterfahrens in Sekunden. Der Wert muss zwischen 1 (eine Sekunde) und 21600 (21.600 Sekunden oder sechs Stunden) liegen.

Weitere Informationen zum Erstellen einer Compute-Instanz finden Sie unter Compute Engine-Instanz erstellen und starten.

Ordnungsgemäßes Herunterfahren beim Erstellen einer Instanzvorlage aktivieren

Wenn Sie eine Instanzvorlage mit aktiviertem ordnungsgemäßem Herunterfahren erstellen, beträgt der Standardzeitraum für das ordnungsgemäße Herunterfahren 10 Minuten. Optional können Sie einen benutzerdefinierten Zeitraum zwischen einer Sekunde und sechs Stunden angeben. Für alle Compute-Instanzen, die Sie mit der Instanzvorlage erstellen, ist das ordnungsgemäße Herunterfahren aktiviert.

Wählen Sie eine der folgenden Optionen aus, um eine Instanzvorlage mit aktiviertem ordnungsgemäßem Herunterfahren zu erstellen:

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Instanzvorlagen auf.

    Zu Instanzvorlagen

  2. Klicken Sie auf Instanzvorlage erstellen. Die Seite Instanzvorlage erstellen wird angezeigt.

  3. Geben Sie im Feld Name einen Namen für die Instanzvorlage ein.

  4. Wählen Sie im Abschnitt Standort je nach Anwendungsfall aus, ob Sie eine regionale oder globale Instanzvorlage erstellen möchten:

    • So erstellen Sie eine regionale Instanzvorlage, um die regionenübergreifende Abhängigkeit zu reduzieren:

      1. Wählen Sie Regional aus.

      2. Wählen Sie im Feld Region die Region aus, in der Sie die Instanzvorlage erstellen möchten.

    • Wenn Sie die Instanzvorlage regionenübergreifend verwenden möchten, wählen Sie Global aus.

  5. Geben Sie im Abschnitt Maschinenkonfiguration einen Maschinentyp an.

  6. Maximieren Sie den Abschnitt Erweiterte Einstellungen für das VM-Bereitstellungsmodell und gehen Sie dann so vor:

    1. Markieren Sie das Kästchen VM ordnungsgemäß herunterfahren.

    2. Geben Sie im Feld Maximale Dauer die Anzahl der Minuten oder Sekunden ein, die das ordnungsgemäße Herunterfahren dauern soll. Der Wert muss zwischen einer Sekunde und 360 Minuten (sechs Stunden) liegen.

  7. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie zum Erstellen einer Instanzvorlage, in der das ordnungsgemäße Herunterfahren aktiviert ist, den Befehl gcloud compute instance-templates create mit dem Flag --graceful-shutdown.

Wenn Sie beispielsweise eine regionale Instanzvorlage mit aktiviertem ordnungsgemäßem Herunterfahren erstellen möchten, führen Sie den folgenden Befehl aus. Wenn Sie eine globale Instanzvorlage erstellen möchten, verwenden Sie denselben Befehl ohne das Flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --graceful-shutdown \
    --graceful-shutdown-max-duration=MAX_DURATION
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE

Ersetzen Sie Folgendes:

  • INSTANCE_TEMPLATE_NAME: der Name der Compute-Instanzvorlage.

  • MAX_DURATION: die maximale Dauer des ordnungsgemäßen Herunterfahrens. Der Wert muss als Anzahl der Stunden, Minuten oder Sekunden gefolgt von h, m oder s formatiert werden. Geben Sie beispielsweise 1h für eine Stunde oder 20m10s für 20 Minuten und 10 Sekunden an. Der Wert muss zwischen einer Sekunde und sechs Stunden liegen.

  • REGION: die Region, in der die Compute-Instanzvorlage erstellt werden soll.

  • MACHINE_TYPE: der Maschinentyp für die Compute-Instanzen, die Sie mithilfe der Instanzvorlage erstellen.

REST

Wenn Sie eine Instanzvorlage mit aktiviertem ordnungsgemäßen Herunterfahren erstellen möchten, senden Sie eine POST-Anfrage an eine der folgenden Methoden:

Wenn Sie beispielsweise eine regionale Instanzvorlage mit aktiviertem ordnungsgemäßem Herunterfahren erstellen möchten, stellen Sie eine POST-Anfrage wie nachstehend beschrieben:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "gracefulShutdown": {
        "enabled": true,
        "maxDuration": {
          "seconds": "MAX_DURATION"
        }
      }
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem die Instanzvorlage erstellt werden soll.

  • REGION: die Region, in der die Compute-Instanzvorlage erstellt werden soll.

  • INSTANCE_TEMPLATE_NAME: der Name der Compute-Instanzvorlage.

  • IMAGE_PROJECT: das Image-Projekt, das das Image enthält, z. B. debian-cloud. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Images.

  • IMAGE: Geben Sie eine der folgenden Optionen an:

    • Eine bestimmte Version des Betriebssystem-Images, z. B. debian-12-bookworm-v20240617.

    • Eine Image-Familie, die als family/IMAGE_FAMILY formatiert sein muss. Diese Formatierung gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Sie family/debian-12 angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

  • MACHINE_TYPE: der Maschinentyp für die Compute-Instanzen, die Sie mithilfe der Instanzvorlage erstellen.

  • MAX_DURATION: die maximale Dauer des ordnungsgemäßen Herunterfahrens in Sekunden. Der Wert muss zwischen 1 (eine Sekunde) und 21600 (21.600 Sekunden oder sechs Stunden) liegen.

Weitere Konfigurationsoptionen zum Erstellen einer Instanzvorlage finden Sie unter Instanzvorlagen erstellen.

Nächste Schritte