Laufzeit einer VM beschränken


In diesem Dokument wird erläutert, wie Sie die Laufzeit neuer oder vorhandener VM-Instanzen begrenzen und die Laufzeit dieser VMs überwachen. Informationen zu verwalteten Instanzgruppen (MIGs) finden Sie 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 erreicht ist. (Dauer oder Zeit). Verwenden Sie Zeitlimits, um temporäre Arbeitslasten zu optimieren. Durch automatische Begrenzung der 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

Beschränkungen

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

  • Die automatische Beendigungsaktion muss entweder stoppen oder löschen sein. Sie können eine VM nicht so konfigurieren, dass sie bei Erreichen des Zeitlimits automatisch gesperrt wird.

  • 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 lokalen SSD-Daten 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 ein Zeitlimit beim Erstellen einer neuen VM 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 variiert je nach Art der Unterbrechung und der Art des Zeitlimits:

  • 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. Der Beendigungszeitstempel ändert sich jedoch nicht, wenn Sie eine VM zurücksetzen oder eine VM neu starten.

  • Der Beendigungszeitstempel wird bei jedem Neustart oder Fortsetzen der VM entsprechend dem von Ihnen festgelegten Zeitlimit automatisch neu definiert:

    • Wenn Sie eine Dauer für die VM festlegen, wird der Beendigungszeitstempel neu berechnet, indem diese Dauer zur letzten Startzeit der VM hinzugefügt wird.
    • Wenn Sie eine Zeit für die VM festlegen, wird der Beendigungszeitstempel auf diese Zeit festgelegt. Der Zeitpunkt 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 Zeitlimittyp die Option Nach Stunden (Standardeinstellung) 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 Ausführungszeit der VM das angegebene Zeitlimit erreicht:

    • Wählen Sie Beenden (Standardeinstellung) aus, um die VM automatisch zu beenden.
    • Wählen Sie zum Löschen der VM 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:

  • Sie müssen das Flag --max-run-duration einfügen, um eine VM zu erstellen, die nach einer bestimmten Dauer automatisch beendet wird.
  • Fügen Sie das Flag --instance-termination-action hinzu, 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 (Standardeinstellung) 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.

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

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, nach der diese VM 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 (Standardeinstellung) 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 Zeitlimittyp 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 Datum, Uhrzeit und Zeitzone für das Zeitlimit aus.

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

    • Wählen Sie Beenden (Standardeinstellung) aus, um die VM automatisch zu beenden.
    • Wählen Sie zum Löschen der VM 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 hinzu, das für Spot-VMs optional ist, 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) auf Stoppen setzt (STOP), müssen Sie das Flag --discard-local-ssds-at-termination-timestamp=true einfügen.
    • 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: Der Zeitpunkt, zu dem 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 Uhrzeit 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 zeitlichen 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 (Standardeinstellung) 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, das für Spot-VMs optional ist, um die Beendigungsaktion anzugeben.

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: Der Zeitpunkt, zu dem 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 Uhrzeit 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 zeitlichen 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 (Standardeinstellung) 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 die Einstellungen für Zeitlimits konfigurieren, lesen Sie zuerst die vorherigen Abschnitte zum Begrenzen der Laufzeit einer neuen VM.

Mit der Google Cloud Console, der Google Cloud CLI oder der Compute Engine API können Sie die Planungsattribute der VM aktualisieren, wie in diesem Abschnitt beschrieben. Bei dieser Methode müssen Sie zuerst Ihre VM beenden, dann ihre Attribute 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 die Informationen unter Instanzattribute aktualisieren.

Console

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

    Zu Seite „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 die VM 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 entweder als Zeit oder 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 setzt (STOP), 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: Der Zeitpunkt, zu dem 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 Uhrzeit 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 zeitlichen 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 (Standardeinstellung) ist das Flag --instance-termination-action=TERMINATION_ACTION erforderlich.
  3. Wenn die VM ausgeführt werden soll, starten Sie die VM 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 mithilfe der Compute Engine API zu aktualisieren:

  1. Wenn die VM ausgeführt wird, beenden Sie die VM mit 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, nach der diese VM ausgeführt werden soll, bevor sie automatisch beendet wird. Die Mindestdauer beträgt 30 Sekunden (30s) und die maximale Dauer 120 Tage (120d).
    • TIME: Der Zeitpunkt, zu dem 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 Uhrzeit 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 zeitlichen 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 (Standardeinstellung) ist das Feld "instanceTerminationAction": "TERMINATION_ACTION" erforderlich.
  3. Wenn die VM ausgeführt werden soll, starten Sie die VM 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 können die Laufzeit einer VM mit einem Zeitlimit mit den folgenden Optionen überwachen:

  • Sehen Sie sich den Beendigungszeitstempel der VM an, um festzustellen, wann eine laufende VM planmäßig automatisch beendet wird:

    1. Details einer VM ansehen
    2. Sehen Sie sich in der Ausgabe das Feld der VM für den Beendigungszeitstempel 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.
  • Wenn Sie prüfen möchten, ob eine VM automatisch beendet wurde, sehen Sie sich die Vorgänge der VM an:

    1. VM-Vorgänge ansehen
    2. In der Ausgabe können Sie VM-Vorgänge identifizieren, die durch ein Zeitlimit verursacht werden, indem Sie nach den folgenden Arten von Vorgängen suchen:

      • compute.instances.deferredStop bezeichnet eine automatische Beendigungsaktion des Vorgangs.
      • compute.instances.deferredDelete gibt eine automatische Beendigungsaktion des Löschvorgangs an.

Nächste Schritte