Graceful Shutdown in einer Compute Engine-Instanz aktivieren

In diesem Dokument wird beschrieben, wie Sie das ordnungsgemäße Herunterfahren in einer neuen oder vorhandenen Compute Engine-Instanz aktivieren. Weitere Informationen zum ordnungsgemäßen Herunterfahren finden Sie unter Ordnungsgemäßes Herunterfahren – Übersicht.

Wenn Sie das ordnungsgemäße Herunterfahren für eine Instanz aktivieren, können Sie dem Gastbetriebssystem bis zu einer Stunde Zeit geben, um ordnungsgemäß herunterzufahren, wenn Sie die Instanz beenden oder löschen. So wird potenzieller Datenverlust oder die Beschädigung von Dateisystemen verhindert.

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 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
  • So erstellen Sie eine Instanzvorlage: compute.instanceTemplates.create für das Projekt
  • So aktivieren Sie das ordnungsgemäße Herunterfahren in einer vorhandenen Instanz: compute.instances.update für die 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 Instanz aktivieren

Sie können das ordnungsgemäße Herunterfahren in einer vorhandenen Compute-Instanz aktivieren, ohne sie zu beenden oder neu zu starten. Der standardmäßige Zeitraum für das ordnungsgemäße Herunterfahren beträgt 10 Minuten. Sie können aber einen benutzerdefinierten Zeitraum zwischen einer Sekunde und einer Stunde angeben.

Wählen Sie eine der folgenden Optionen aus, um das ordnungsgemäße Herunterfahren in einer vorhandenen 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 Instanz, für die Sie das ordnungsgemäße Herunterfahren aktivieren möchten.

    Die Detailseite der Instanz wird geöffnet.

  3. Klicken Sie auf  Bearbeiten.

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

    1. Klicken Sie das Kästchen VM ordnungsgemäß herunterfahren an.

    2. Optional: Wenn Sie einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren angeben möchten, geben Sie im Feld Maximale Dauer eine Dauer an.

  5. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud beta compute instances update mit dem Flag --graceful-shutdown, um das ordnungsgemäße Herunterfahren in einer vorhandenen Instanz zu aktivieren:

gcloud beta compute instances update INSTANCE_NAME \
    --graceful-shutdown \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Instanz.

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

Optional können Sie mit dem Flag --graceful-shutdown-max-duration einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren angeben:

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

Ersetzen Sie MAX_DURATION durch die Dauer des 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.

REST

  1. Erstellen Sie eine leere JSON-Datei.

  2. Senden Sie eine GET-Anfrage an die Beta-Methode instances.get, um die Eigenschaften einer vorhandenen Instanz aufzurufen:

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

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID des Projekts, in dem sich die Instanz befindet.

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

    • INSTANCE_NAME: der Name einer vorhandenen Instanz.

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

    1. Geben Sie die Details zur Instanzkonfiguration aus der GET-Anfrageausgabe ein.

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

      {
        ...
        "scheduling": {
          ...
          "gracefulShutdown": {
            "enabled": true
          }
        },
        ...
      }
      

      Optional können Sie einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren angeben, indem Sie das Feld maxDuration einfügen:

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

      Ersetzen Sie MAX_DURATION durch die Dauer in Sekunden für den Zeitraum des ordnungsgemäßen Herunterfahrens. Der Wert muss zwischen 1 und 3600 liegen, was 3.600 Sekunden (eine Stunde) entspricht.

  4. Wenn Sie die Instanz aktualisieren und neu starten möchten, senden Sie eine PUT-Anfrage an die Betamethode 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.

    • Geben Sie im Anfragetext die Instanzeigenschaften aus der JSON-Datei an, die Sie in den vorherigen Schritten erstellt und aktualisiert haben.

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

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

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

Ordnungsgemäßes Herunterfahren beim Erstellen einer Instanz aktivieren

Wenn Sie eine Compute-Instanz mit aktivierter ordnungsgemäßer Herunterfahren erstellen, beträgt der Standardzeitraum für das Herunterfahren 10 Minuten. Optional können Sie einen benutzerdefinierten Zeitraum zwischen einer Sekunde und einer Stunde angeben.

Wählen Sie eine der folgenden Optionen aus, um eine Instanz mit aktiviertem ordnungsgemäßen 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. Legen Sie einen Namen für die Instanz fest.

  4. Geben Sie die Region und Zone an, in der die Instanz erstellt werden soll.

  5. Geben Sie einen Maschinentyp für die Instanz an.

  6. Klicken Sie im Navigationsmenü auf Erweitert.

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

    1. Klicken Sie das Kästchen VM ordnungsgemäß herunterfahren an.

    2. Optional: Wenn Sie einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren angeben möchten, geben Sie im Feld Maximale Dauer eine Dauer an.

  8. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie den Befehl gcloud beta compute instances create mit dem Flag --graceful-shutdown, um eine Instanz mit aktiviertem ordnungsgemäßen Herunterfahren zu erstellen:

gcloud beta compute instances create INSTANCE_NAME \
    --graceful-shutdown \
    --machine-type=MACHINE_TYPE \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Instanz.

  • MACHINE_TYPE: der für die VM zu verwendende Maschinentyp.

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

Optional können Sie mit dem Flag --graceful-shutdown-max-duration einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren angeben:

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

Ersetzen Sie MAX_DURATION durch die Dauer des Zeitraums für das ordnungsgemäße Herunterfahren. 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.

REST

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

POST https://compute.s3nsapis.fr/compute/beta/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
    }
  }
}

Ersetzen Sie Folgendes:

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

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

  • INSTANCE_NAME: der Name der Instanz.

  • MACHINE_TYPE: der gewünschte Maschinentyp für die 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. Wenn Sie beispielsweise 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.

Optional können Sie mit dem Feld maxDuration im Anfragetext einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren angeben:

POST https://compute.s3nsapis.fr/compute/beta/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 MAX_DURATION durch die Dauer in Sekunden für den Zeitraum des ordnungsgemäßen Herunterfahrens. Der Wert muss zwischen 1 und 3600 liegen, also 3.600 Sekunden (eine Stunde).

Weitere Konfigurationsoptionen zum Erstellen einer 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äßen Herunterfahren erstellen, beträgt der standardmäßige Zeitraum für das Herunterfahren 10 Minuten. Optional können Sie einen benutzerdefinierten Zeitraum zwischen einer Sekunde und einer Stunde angeben.

Für alle Compute-Instanzen, die mit der Instanzvorlage erstellt werden, ist das ordnungsgemäße Herunterfahren aktiviert.

Wählen Sie eine der folgenden Optionen aus, um eine Instanzvorlage mit aktiviertem ordnungsgemäßen 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 geöffnet.

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

  4. Wählen Sie den Standort so aus:

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

      1. Wählen Sie Regional aus, falls diese Option noch nicht ausgewählt ist.

      2. Wählen Sie im Feld Region die Region aus, in der die Instanzvorlage erstellt werden soll.

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

  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. Klicken Sie das Kästchen VM ordnungsgemäß herunterfahren an.

    2. Optional: Wenn Sie einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren angeben möchten, geben Sie im Feld Maximale Dauer eine Dauer an.

  7. Klicken Sie auf Erstellen.

gcloud

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

Wenn Sie beispielsweise eine regionale Instanzvorlage mit aktiviertem ordnungsgemäßen Herunterfahren erstellen möchten, führen Sie den folgenden Befehl aus:

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

Ersetzen Sie Folgendes:

  • INSTANCE_TEMPLATE_NAME: der Name der Instanzvorlage.

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

  • MACHINE_TYPE: der Maschinentyp für die mithilfe der Instanzvorlage erstellten Instanzen.

Optional können Sie das Flag --graceful-shutdown-max-duration einfügen, um einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren anzugeben.

gcloud beta 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 MAX_DURATION durch die Dauer des 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.

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äßen Herunterfahren erstellen möchten, stellen Sie eine POST-Anfrage wie nachstehend beschrieben:

POST https://compute.s3nsapis.fr/compute/beta/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
      }
    }
  }
}

Ersetzen Sie Folgendes:

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

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

  • INSTANCE_TEMPLATE_NAME: der Name der 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. Wenn Sie beispielsweise 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 mithilfe der Instanzvorlage erstellten Instanzen.

Optional können Sie mit dem Feld maxDuration im Anfragetext einen benutzerdefinierten Zeitraum für das ordnungsgemäße Herunterfahren angeben.

POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/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 MAX_DURATION durch die Dauer in Sekunden für den Zeitraum des Herunterfahrens. Der Wert muss zwischen 1 und 3600 liegen, also 3.600 Sekunden (eine Stunde).

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

Nächste Schritte