Laufzeit einer VM beschränken


In diesem Dokument wird beschrieben, wie Sie die Laufzeit neuer oder vorhandener VM-Instanzen begrenzen und wie Sie die Laufzeit dieser VMs überwachen. Informationen zu verwalteten Instanzgruppen (MIGs) finden Sie stattdessen unter Laufzeit einer MIG begrenzen.

Wenn Sie die Laufzeit einer VM begrenzen, können Sie festlegen, dass die VM automatisch beendet (gestoppt oder gelöscht) wird, wenn ein bestimmtes Zeitlimit (Dauer oder Zeit) erreicht ist. Mit Zeitlimits können Sie temporäre Arbeitslasten optimieren. Durch das automatische Begrenzen von VM-Laufzeiten können Sie Kosten minimieren und Kontingente freigeben.

Informationen zum sofortigen Beenden einer VM finden Sie unter VM beenden oder neu starten. Informationen zum sofortigen Löschen einer VM finden Sie unter VM löschen.

Hinweise

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1) für das Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Begrenzen der Laufzeit einer VM benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

  • 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.

Beschränkungen

Für die Begrenzung der Laufzeit einer VM gelten die folgenden Einschränkungen:

  • Die automatische Beendigung muss entweder „Stopp“ oder „Löschen“ sein. Sie können eine VM nicht so konfigurieren, dass sie automatisch angehalten wird, wenn das Zeitlimit erreicht ist.

  • Das Mindestzeitlimit beträgt 30 Sekunden und das maximale Zeitlimit 120 Tage.

  • Die automatische Beendigung kann bis zu 30 Sekunden länger dauern als die von Ihnen angegebene Dauer oder Zeit, um mit dem Beenden oder Löschen der VM zu beginnen.

  • Sie können keine Zeitlimits mit Legacy-VMs auf Abruf verwenden. Verwenden Sie stattdessen Zeitlimits mit Spot-VMs.

  • Die Daten einer lokalen SSD einer VM können nicht beibehalten werden, wenn die VM aufgrund eines Zeitlimits automatisch beendet wird. Weitere Informationen finden Sie unter VM mit lokaler SSD beenden.

Laufzeit einer neuen VM beschränken

In den folgenden Abschnitten wird beschrieben, wie Sie beim Erstellen einer neuen VM ein Zeitlimit konfigurieren. Sie können das Zeitlimit, d. h. den Zeitpunkt, zu dem eine VM automatisch beendet werden soll, entweder als Dauer (maxRunDuration) oder als Zeit (terminationTime).

Berücksichtigen Sie bei der Entscheidung über die Art des Zeitlimits für eine VM, dass die VM unterbrochen werden kann, z. B. durch eine Nutzeranfrage oder ein Hostereignis. Das Verhalten eines Zeitlimits hängt vom Unterbrechungstyp und vom Typ des Zeitlimits ab:

  • Der Beendigungszeitstempel (terminationTimestamp) einer VM ist ein schreibgeschütztes Feld, das die geplante Zeit für die automatische Beendigung darstellt und von Compute Engine automatisch definiert wird, wenn eine VM ein Zeitlimit hat und in den Status RUNNING wechselt.

  • Der Beendigungszeitstempel wird automatisch gelöscht, wenn eine VM gestoppt oder angehalten wird. Ein Beendigungszeitstempel ändert sich jedoch nicht, wenn Sie die VM zurücksetzen oder neu starten.

  • Der Beendigungszeitstempel wird automatisch neu definiert, wenn die VM basierend auf dem von Ihnen festgelegten Zeitlimit neu gestartet oder fortgesetzt wird:

    • Wenn Sie eine Dauer für die VM festlegen, wird der Beendigungszeitstempel neu berechnet, indem diese Dauer zur letzten Startzeit der VM addiert wird.
    • Wenn Sie eine Zeit für die VM festlegen, wird der Beendigungszeitstempel auf diese Zeit gesetzt. Die Zeit muss jedoch in der Zukunft liegen. Andernfalls schlagen alle Anfragen zum Erstellen oder erneuten Ausführen der VM fehl, bis Sie die Zeit aktualisieren oder entfernen.

Dauer festlegen

Eine Dauer gibt die Gesamtlaufzeit an, die Sie für eine VM verwenden möchten. Verwenden Sie die Google Cloud Console, die Google Cloud CLI, Terraform oder die Compute Engine API, um eine VM zu erstellen, die nach der Ausführung einer bestimmten Dauer automatisch beendet wird.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Erweitern Sie im Abschnitt Verfügbarkeitsrichtlinien die Option Erweiterte Einstellungen für das VM-Bereitstellungsmodell.

  3. Klicken Sie auf das Kästchen Zeitlimit für die VM festlegen. Das Feld Zeitlimittyp wird angezeigt.

  4. Wählen Sie im Feld Zeitlimit-Typ die Option Nach Stunden (Standard) aus, um das Zeitlimit als Dauer anzugeben. Geben Sie im folgenden Feld die Dauer in Stunden ein.

  5. Wählen Sie in der Liste Bei VM-Beendigung aus, was passiert, wenn die Laufzeit der VM das angegebene Zeitlimit erreicht:

    • Wählen Sie Beenden (Standardeinstellung) aus, um die VM automatisch zu beenden.
    • Wenn Sie die VM löschen möchten, wählen Sie Löschen aus.
  6. Optional: Geben Sie andere VM-Optionen an. Weitere Informationen finden Sie unter VM-Instanz erstellen und starten.

  7. Klicken Sie zum Erstellen und Starten der VM auf Erstellen.

gcloud

Verwenden Sie zum Erstellen einer VM mit der gcloud CLI den Befehl gcloud compute instances create:

  • Wenn Sie eine VM erstellen möchten, die nach einer bestimmten Dauer automatisch beendet wird, müssen Sie das Flag --max-run-duration einfügen.
  • Fügen Sie das Flag --instance-termination-action ein, um die Beendigungsaktion anzugeben.
  • Konfigurieren Sie das Flag --discard-local-ssds-at-termination-timestamp:
    • Wenn die VM lokale SSDs hat und die Beendigungsaktion (TERMINATION_ACTION) beendet (STOP) ist, müssen Sie das Flag --discard-local-ssds-at-termination-timestamp=true angeben.
    • Andernfalls lassen Sie das Flag --discard-local-ssds-at-termination-timestamp weg.
gcloud compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

Ersetzen Sie Folgendes:

  • VM_NAME: der Name der neuen VM.
  • DURATION: Die Dauer, über die diese VM hinweg ausgeführt werden soll, bevor sie automatisch beendet wird. Formatieren Sie die Dauer als Anzahl an Tagen, Stunden, Minuten und Sekunden gefolgt von d, h, m und s. Geben Sie beispielsweise 30m für eine Dauer von 30 Minuten oder 1d2h3m4s für eine Dauer von 1 Tag, 2 Stunden, 3 Minuten und 4 Sekunden an. Die Mindestdauer beträgt 30 Sekunden (30s) und die maximale Dauer 120 Tage (120d).
  • TERMINATION_ACTION: Die Beendigungsaktion für diese VM, die entweder stoppen (STOP) oder löschen (DELETE) sein kann. Ob dieses Feld erforderlich ist oder einen Standardwert hat, variiert je nach Bereitstellungsmodell der VM:
    • Wenn dies eine Spot-VM ist (wenn die VM das Flag --provisioning-model=SPOT verwendet), ist das Flag --instance-termination-action=TERMINATION_ACTION optional. Wenn dieses Flag weggelassen wird, wird die Standardaktion (beenden) genutzt.
    • Andernfalls (Standard) ist das Flag --instance-termination-action=TERMINATION_ACTION erforderlich.

Weitere Informationen zu anderen Optionen, die Sie beim Erstellen einer VM angeben können, finden Sie unter VM-Instanz erstellen und starten.

Terraform

Verwenden Sie zum Erstellen einer VM mit Terraform die Ressource google_compute_instance.

  • Wenn Sie eine VM erstellen möchten, die nach einer bestimmten Dauer automatisch beendet wird, müssen Sie das Argument max_run_duration angeben.
  • Fügen Sie das Argument instance_termination_action ein, um die Beendigungsaktion anzugeben. Sie müssen das Argument instance_termination_action angeben, es sei denn, Sie erstellen eine Spot-VM (legen Sie das Argument provisioning_model auf SPOT fest). Der Standardwert ist stoppen (STOP).
  • Konfigurieren Sie das Argument on_instance_stop_action:
    • Wenn die VM lokale SSDs hat und die Beendigungsaktion (instance_termination_action-Argument) "Stopp" (STOP) ist, müssen Sie das Argument on_instance_stop_action auf "true" (true) setzen. “
    • Andernfalls lassen Sie das Argument on_instance_stop_action weg.

Weitere Informationen finden Sie in der Terraform-Dokumentation zur Ressource google_compute_instance.

REST

Wenn Sie eine VM mit der Compute Engine API erstellen möchten, verwenden Sie die Methode instances.insert. Sie müssen einen Namen, einen Maschinentyp und ein Bootlaufwerk für die VM angeben.

Wenn Sie eine VM erstellen möchten, die nach einer bestimmten Dauer automatisch beendet wird, müssen Sie das Feld maxRunDuration angeben. Fügen Sie das Feld instanceTerminationAction ein, um die Beendigungsaktion anzugeben. Dieses Feld ist für Spot-VMs optional.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ]
  "scheduling":
  {
    "maxRunDuration":
    {
      "seconds": DURATION
    },
    "instanceTerminationAction": "TERMINATION_ACTION"
  },
}

Dabei gilt:

  • PROJECT_ID ist die Projekt-ID des Projekts, in dem die VM erstellt werden soll.
  • ZONE: die Zone, in der die VM erstellt werden soll. Diese Zone muss auch den Maschinentyp unterstützen, der für die neue VM verwendet werden soll.
  • MACHINE_TYPE: der vordefinierte oder benutzerdefinierte Maschinentyp für die neue VM.
  • VM_NAME: der Name der neuen VM.
  • IMAGE_PROJECT: das Projekt, das das Image enthält. Wenn Sie beispielsweise family/debian-10 als Image festlegen, geben Sie debian-cloud als Image-Projekt an.
  • IMAGE: Das Image für die neue VM. Sie können entweder eine bestimmte Version eines öffentlichen Images oder eine Image-Familie angeben. Wenn Sie beispielsweise family/debian-10 als Image und debian-cloud als Image-Projekt angeben, erstellt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie.
  • DURATION: Die Dauer in Sekunden, über die diese VM hinweg ausgeführt werden soll, bevor sie automatisch beendet wird. Die Mindestdauer beträgt 30 Sekunden (30s) und die maximale Dauer 120 Tage (120d).
  • TERMINATION_ACTION: Die Beendigungsaktion für diese VM, die entweder stoppen (STOP) oder löschen (DELETE) sein kann. Ob dieses Feld erforderlich ist oder einen Standardwert hat, variiert je nach Bereitstellungsmodell der VM:
    • Wenn dies eine Spot-VM ist, ist das Feld "instanceTerminationAction": "TERMINATION_ACTION" (wenn die VM das Feld "provisioningModel": "SPOT" verwendet) optional. Wenn Sie dieses Feld weggelassen, wird die Standardaktion (beenden) genutzt.
    • Andernfalls (Standard) ist das Feld "instanceTerminationAction": "TERMINATION_ACTION" erforderlich.

Weitere Informationen zu den Optionen, die Sie beim Erstellen einer VM angeben können, finden Sie unter VM-Instanz erstellen und starten.

Stellen Sie eine Zeit ein.

Eine Zeitangabe steht für das Datum, die Uhrzeit und die Zeitzone, zu der eine VM beendet werden soll. Verwenden Sie zum Erstellen einer VM, die zu einem bestimmten Zeitpunkt automatisch beendet wird, die Google Cloud Console, die Google Cloud CLI oder die Compute Engine API.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Erweitern Sie im Abschnitt Verfügbarkeitsrichtlinien die Option Erweiterte Einstellungen für das VM-Bereitstellungsmodell.

  3. Klicken Sie auf das Kästchen Zeitlimit für die VM festlegen. Das Feld Zeitlimittyp wird angezeigt.

  4. Wählen Sie im Feld Typ des Zeitlimits die Option Nach Datum aus, um das Zeitlimit als Uhrzeit und Datum anzugeben. Klicken Sie im folgenden Feld auf  Datum und Uhrzeit auswählen und wählen Sie das Datum, die Uhrzeit und die Zeitzone für das Zeitlimit aus.

  5. Wählen Sie in der Liste Bei VM-Beendigung aus, was passiert, wenn die Laufzeit der VM das angegebene Zeitlimit erreicht:

    • Wählen Sie Beenden (Standardeinstellung) aus, um die VM automatisch zu beenden.
    • Wenn Sie die VM löschen möchten, wählen Sie Löschen aus.
  6. Optional: Geben Sie andere VM-Optionen an. Weitere Informationen finden Sie unter VM-Instanz erstellen und starten.

  7. Klicken Sie zum Erstellen und Starten der VM auf Erstellen.

gcloud

Verwenden Sie zum Erstellen einer VM mit der gcloud CLI den Befehl gcloud compute instances create:

  • Wenn Sie eine VM erstellen möchten, die zu einer bestimmten Zeit automatisch beendet wird, müssen Sie das Flag --termination-time einfügen.
  • Fügen Sie das Flag --instance-termination-action ein, um die Beendigungsaktion anzugeben. Es ist für Spot-VMs optional.
  • Konfigurieren Sie das Flag --discard-local-ssds-at-termination-timestamp:
    • Wenn die VM lokale SSDs hat und die Beendigungsaktion (TERMINATION_ACTION) auf „Stopp“ (STOP) festgelegt ist, müssen Sie das Flag --discard-local-ssds-at-termination-timestamp=true angeben.
    • Andernfalls lassen Sie das Flag --discard-local-ssds-at-termination-timestamp weg.
gcloud compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

Ersetzen Sie Folgendes:

  • VM_NAME: der Name der neuen VM.
  • TIME: Die Uhrzeit, zu der diese VM automatisch beendet werden soll. Die von Ihnen angegebene Zeit muss mindestens 30 Sekunden in der Zukunft und höchstens 120 Tage in der Zukunft liegen. Formatieren Sie die Zeit als RFC 3339-Zeitstempel:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Dabei gilt:

    • YYYY-MM-DD: ein Datum als vierstelliges Jahr formatiert, ein Monat zweistellig und ein Tag eines Monats zweistellig, getrennt durch Bindestriche.
    • HH:MM:SS: eine Zeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minute und zweistellige Sekunde formatiert und durch Doppelpunkte getrennt ist.
    • OFFSET: die Zeitzone formatiert als Versatz der koordinierten Weltzeit (Coordinated Universal Time, UTC) Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, das 8 Stunden vor UTC liegt, geben Sie -08:00 an. Wenn Sie keinen Versatz (UTC+0) verwenden möchten, geben Sie Z an.
  • TERMINATION_ACTION: Die Beendigungsaktion für diese VM, die entweder stoppen (STOP) oder löschen (DELETE) sein kann. Ob dieses Feld erforderlich ist oder einen Standardwert hat, variiert je nach Bereitstellungsmodell der VM:

    • Wenn dies eine Spot-VM ist (wenn die VM das Flag --provisioning-model=SPOT verwendet), ist das Flag --instance-termination-action=TERMINATION_ACTION optional. Wenn dieses Flag weggelassen wird, wird die Standardaktion (beenden) genutzt.
    • Andernfalls (Standard) ist das Flag --instance-termination-action=TERMINATION_ACTION erforderlich.

Weitere Informationen zu anderen Optionen, die Sie beim Erstellen einer VM angeben können, finden Sie unter VM-Instanz erstellen und starten.

REST

Wenn Sie eine VM mit der Compute Engine API erstellen möchten, verwenden Sie die Methode instances.insert. Sie müssen einen Namen, einen Maschinentyp und ein Bootlaufwerk für die VM angeben.

Um eine VM zu erstellen, die zu einer bestimmten Zeit automatisch beendet wird, müssen Sie das Feld terminationTime einfügen. Fügen Sie das Feld instanceTerminationAction ein, um die Beendigungsaktion anzugeben. Dieses Feld ist für Spot-VMs optional.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ]
  "scheduling":
  {
    "terminationTime": "TIME",
    "instanceTerminationAction": "TERMINATION_ACTION"
  },
}

Dabei gilt:

  • PROJECT_ID ist die Projekt-ID des Projekts, in dem die VM erstellt werden soll.
  • ZONE: die Zone, in der die VM erstellt werden soll. Diese Zone muss auch den Maschinentyp unterstützen, der für die neue VM verwendet werden soll.
  • MACHINE_TYPE: der vordefinierte oder benutzerdefinierte Maschinentyp für die neue VM.
  • VM_NAME: der Name der neuen VM.
  • IMAGE_PROJECT: das Projekt, das das Image enthält. Wenn Sie beispielsweise family/debian-10 als Image festlegen, geben Sie debian-cloud als Image-Projekt an.
  • IMAGE: Das Image für die neue VM. Sie können entweder eine bestimmte Version eines öffentlichen Images oder eine Image-Familie angeben. Wenn Sie beispielsweise family/debian-10 als Image und debian-cloud als Image-Projekt angeben, erstellt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie.
  • TIME: Die Uhrzeit, zu der diese VM automatisch beendet werden soll. Die von Ihnen angegebene Zeit muss mindestens 30 Sekunden in der Zukunft und höchstens 120 Tage in der Zukunft liegen. Formatieren Sie die Zeit als RFC 3339-Zeitstempel:

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Dabei gilt:

    • YYYY-MM-DD: ein Datum als vierstelliges Jahr formatiert, ein Monat zweistellig und ein Tag eines Monats zweistellig, getrennt durch Bindestriche.
    • HH:MM:SS: eine Zeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minute und zweistellige Sekunde formatiert und durch Doppelpunkte getrennt ist.
    • OFFSET: die Zeitzone formatiert als Versatz der koordinierten Weltzeit (Coordinated Universal Time, UTC) Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, das 8 Stunden vor UTC liegt, geben Sie -08:00 an. Wenn Sie keinen Versatz (UTC+0) verwenden möchten, geben Sie Z an.
  • TERMINATION_ACTION: Die Beendigungsaktion für diese VM, die entweder stoppen (STOP) oder löschen (DELETE) sein kann. Ob dieses Feld erforderlich ist oder einen Standardwert hat, variiert je nach Bereitstellungsmodell der VM:

    • Wenn dies eine Spot-VM ist, ist das Feld "instanceTerminationAction": "TERMINATION_ACTION" (wenn die VM das Feld "provisioningModel": "SPOT" verwendet) optional. Wenn Sie dieses Feld weggelassen, wird die Standardaktion (beenden) genutzt.
    • Andernfalls (Standard) ist das Feld "instanceTerminationAction": "TERMINATION_ACTION" erforderlich.

Weitere Informationen zu den Optionen, die Sie beim Erstellen einer VM angeben können, finden Sie unter VM-Instanz erstellen und starten.

Laufzeit einer vorhandenen VM begrenzen

Um die Laufzeit einer vorhandenen VM einschränken, können Sie den Zeitplan der VM aktualisieren. Wenn Sie noch nicht wissen, wie Sie Einstellungen für Zeitlimits konfigurieren, lesen Sie zuerst die vorherigen Abschnitte zum Begrenzen der Laufzeit einer neuen VM.

Sie können die Google Cloud Console, die Google Cloud CLI oder die Compute Engine API verwenden, um die planungsbezogenen Attribute der VM zu aktualisieren, wie in diesem Abschnitt beschrieben. Bei dieser Methode müssen Sie die VM zuerst beenden, ihre Eigenschaften aktualisieren und sie dann neu starten. Wenn Sie gleichzeitig zusätzliche VM-Attribute aktualisieren und eine VM automatisch beenden und neu starten möchten, lesen Sie stattdessen Instanzattribute aktualisieren.

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 der VM, die Sie aktualisieren möchten.

  3. Führen Sie auf der Seite VM-Instanzdetails folgende Schritte aus:

    1. Wenn die VM ausgeführt wird, klicken Sie auf Beenden, um die VM zu beenden.
    2. Klicken Sie zum Bearbeiten der VM auf  Bearbeiten.
    3. Führen Sie auf der Seite Instanz bearbeiten die folgenden Schritte aus:

      1. Passen Sie im Abschnitt Verfügbarkeitsrichtlinien das Kästchen Zeitlimit für die VM festlegen und alle darunterliegenden Felder wie erforderlich an.

        Weitere Informationen zum Konfigurieren der Attribute für Zeitlimits finden Sie unter Laufzeit einer neuen VM begrenzen.

      2. Um die Änderungen zu speichern, klicken Sie auf Speichern.

    4. Optional: Wenn Sie die VM jetzt ausführen möchten, klicken Sie auf Starten.

gcloud

Führen Sie die folgenden Schritte aus, um das Zeitlimit einer VM über die gcloud CLI zu aktualisieren:

  1. Wenn die VM ausgeführt wird, beenden Sie sie mit dem Befehl gcloud compute instances stop:

    gcloud compute instances stop VM_NAME
    

    Ersetzen Sie VM_NAME durch den Namen der VM, die Sie aktualisieren möchten.

  2. Aktualisieren Sie das Zeitlimit der VM mit dem Befehl gcloud compute instances set-scheduling.

    gcloud compute instances set-scheduling VM_NAME \
        --max-run-duration=DURATION \
        --termination-time=TIME \
        --instance-termination-action=TERMINATION_ACTION \
        --discard-local-ssds-at-termination-timestamp=true
    

    Konfigurieren Sie die folgenden Flags:

    • Sie müssen entweder das Flag --max-run-duration oder das Flag --termination-time weglassen, um das Zeitlimit als Zeitangabe bzw. Dauer festzulegen.
    • Fügen Sie das Flag --instance-termination-action ein, um die Beendigungsaktion festzulegen.
    • Wenn die VM lokale SSDs hat und die Beendigungsaktion (TERMINATION_ACTION) auf „Stopp“ (STOP) festgelegt ist, müssen Sie das Flag --discard-local-ssds-at-termination-timestamp=true angeben. Andernfalls lassen Sie das Flag --discard-local-ssds-at-termination-timestamp=true weg.

    Ersetzen Sie dann Folgendes:

    • VM_NAME: Der Name der VM, die Sie aktualisieren möchten.
    • DURATION: Die Dauer, über die diese VM hinweg ausgeführt werden soll, bevor sie automatisch beendet wird. Formatieren Sie die Dauer als Anzahl an Tagen, Stunden, Minuten und Sekunden gefolgt von d, h, m und s. Geben Sie beispielsweise 30m für eine Dauer von 30 Minuten oder 1d2h3m4s für eine Dauer von 1 Tag, 2 Stunden, 3 Minuten und 4 Sekunden an. Die Mindestdauer beträgt 30 Sekunden (30s) und die maximale Dauer 120 Tage (120d).
    • TIME: Die Uhrzeit, zu der diese VM automatisch beendet werden soll. Die von Ihnen angegebene Zeit muss mindestens 30 Sekunden in der Zukunft und höchstens 120 Tage in der Zukunft liegen. Formatieren Sie die Zeit als RFC 3339-Zeitstempel:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Dabei gilt:

      • YYYY-MM-DD: ein Datum als vierstelliges Jahr formatiert, ein Monat zweistellig und ein Tag eines Monats zweistellig, getrennt durch Bindestriche.
      • HH:MM:SS: eine Zeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minute und zweistellige Sekunde formatiert und durch Doppelpunkte getrennt ist.
      • OFFSET: die Zeitzone formatiert als Versatz der koordinierten Weltzeit (Coordinated Universal Time, UTC) Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, das 8 Stunden vor UTC liegt, geben Sie -08:00 an. Wenn Sie keinen Versatz (UTC+0) verwenden möchten, geben Sie Z an.
    • TERMINATION_ACTION: Die Beendigungsaktion für diese VM, die entweder stoppen (STOP) oder löschen (DELETE) sein kann. Ob dieses Feld erforderlich ist oder einen Standardwert hat, variiert je nach Bereitstellungsmodell der VM:

      • Wenn dies eine Spot-VM ist (wenn die VM das Flag --provisioning-model=SPOT verwendet), ist das Flag --instance-termination-action=TERMINATION_ACTION optional. Wenn dieses Flag weggelassen wird, wird die Standardaktion (beenden) genutzt.
      • Andernfalls (Standard) ist das Flag --instance-termination-action=TERMINATION_ACTION erforderlich.
  3. Wenn Sie möchten, dass die VM ausgeführt wird, starten Sie sie mit dem Befehl gcloud compute instances start:

    gcloud compute instances start VM_NAME
    

    Ersetzen Sie VM_NAME durch den Namen der VM.

REST

Führen Sie die folgenden Schritte aus, um das Zeitlimit einer VM mit der Compute Engine API zu aktualisieren:

  1. Wenn die VM ausgeführt wird, beenden Sie sie mithilfe der Methode instances.stop:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    

    Dabei gilt:

    • PROJECT_ID: die Projekt-ID des Projekts, das den Snapshot enthält.
    • ZONE: die Zone mit der VM
    • VM_NAME: Der Name der VM, die Sie aktualisieren möchten.
  2. Aktualisieren Sie das Attribut scheduling der VM, einschließlich der Felder für das Zeitlimit der VM, mithilfe der Methode instances.setScheduling. Verwenden Sie eines der Felder maxRunDuration oder terminationTime, um das Zeitlimit als Dauer bzw. Zeitangabe festzulegen:

    • Verwenden Sie die folgende Anfrage, um eine Dauer festzulegen:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "maxRunDuration":
        {
          "seconds": DURATION
        },
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      
    • Verwenden Sie die folgende Anfrage, um eine Zeitangabe festzulegen:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      {
        "terminationTime": "TIME",
        "instanceTerminationAction": "TERMINATION_ACTION"
      }
      

    Dabei gilt:

    • PROJECT_ID ist die Projekt-ID des Projekts, in dem die VM erstellt werden soll.
    • ZONE: die Zone, in der die VM erstellt werden soll. Diese Zone muss auch den Maschinentyp unterstützen, der für die neue VM verwendet werden soll.
    • MACHINE_TYPE: der vordefinierte oder benutzerdefinierte Maschinentyp für die neue VM.
    • VM_NAME: der Name der neuen VM.
    • IMAGE_PROJECT: das Projekt, das das Image enthält. Wenn Sie beispielsweise family/debian-10 als Image festlegen, geben Sie debian-cloud als Image-Projekt an.
    • IMAGE: Das Image für die neue VM. Sie können entweder eine bestimmte Version eines öffentlichen Images oder eine Image-Familie angeben. Wenn Sie beispielsweise family/debian-10 als Image und debian-cloud als Image-Projekt angeben, erstellt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie.
    • DURATION: Die Dauer in Sekunden, über die diese VM hinweg ausgeführt werden soll, bevor sie automatisch beendet wird. Die Mindestdauer beträgt 30 Sekunden (30s) und die maximale Dauer 120 Tage (120d).
    • TIME: Die Uhrzeit, zu der diese VM automatisch beendet werden soll. Die von Ihnen angegebene Zeit muss mindestens 30 Sekunden in der Zukunft und höchstens 120 Tage in der Zukunft liegen. Formatieren Sie die Zeit als RFC 3339-Zeitstempel:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Dabei gilt:

      • YYYY-MM-DD: ein Datum als vierstelliges Jahr formatiert, ein Monat zweistellig und ein Tag eines Monats zweistellig, getrennt durch Bindestriche.
      • HH:MM:SS: eine Zeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minute und zweistellige Sekunde formatiert und durch Doppelpunkte getrennt ist.
      • OFFSET: die Zeitzone formatiert als Versatz der koordinierten Weltzeit (Coordinated Universal Time, UTC) Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, das 8 Stunden vor UTC liegt, geben Sie -08:00 an. Wenn Sie keinen Versatz (UTC+0) verwenden möchten, geben Sie Z an.
    • TERMINATION_ACTION: Die Beendigungsaktion für diese VM, die entweder stoppen (STOP) oder löschen (DELETE) sein kann. Ob dieses Feld erforderlich ist oder einen Standardwert hat, variiert je nach Bereitstellungsmodell der VM:

      • Wenn dies eine Spot-VM ist, ist das Feld "instanceTerminationAction": "TERMINATION_ACTION" (wenn die VM das Feld "provisioningModel": "SPOT" verwendet) optional. Wenn Sie dieses Feld weggelassen, wird die Standardaktion (beenden) genutzt.
      • Andernfalls (Standard) ist das Feld "instanceTerminationAction": "TERMINATION_ACTION" erforderlich.
  3. Wenn Sie möchten, dass die VM ausgeführt wird, starten Sie sie mit der Methode instances.start:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    Dabei gilt:

    • PROJECT_ID: die Projekt-ID des Projekts, das den Snapshot enthält.
    • ZONE: die Zone mit der VM
    • VM_NAME: der Name der VM.

Laufzeit einer VM überwachen

Sie haben folgende Möglichkeiten, die Laufzeit einer VM mit Zeitlimit zu überwachen:

  • Wenn Sie sehen möchten, wann eine laufende VM automatisch beendet wird, rufen Sie den Beendigungszeitstempel der VM auf:

    1. Details einer VM ansehen
    2. Sehen Sie sich in der Ausgabe das Feld für den Beendigungszeitstempel der VM an:
      • Wenn Sie die Google Cloud Console verwenden, sehen Sie sich das Feld Maximale Dauer an.
      • Wenn Sie die Google Cloud CLI oder die Compute Engine API verwenden, sehen Sie sich das Feld terminationTimestamp an.
  • So prüfen Sie, ob eine VM automatisch beendet wurde:

    1. VM-Vorgänge ansehen
    2. In der Ausgabe können Sie VM-Vorgänge, die durch ein Zeitlimit verursacht werden, anhand der folgenden Vorgangstypen erkennen:

      • compute.instances.deferredStop gibt eine automatische Beendigungsaktion vom Typ „Beenden“ an.
      • compute.instances.deferredDelete gibt eine automatische Beendigungsaktion vom Typ „Löschen“ an.

Nächste Schritte