Laufzeit einer VM beschränken


In diesem Dokument wird beschrieben, wie Sie die Laufzeit neuer oder vorhandener VM-Instanzen (virtuelle Maschinen) begrenzen und die Laufzeit dieser VMs überwachen. Informationen zu verwalteten Instanzgruppen (MIGs) finden Sie unter Laufzeit einer verwalteten Instanzgruppe 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. Verwenden Sie Zeitlimits, um temporäre Arbeitslasten zu optimieren. Durch die 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

Beim Begrenzen der Laufzeit einer VM gelten die folgenden Einschränkungen:

  • Die automatische Beendigungsaktion muss entweder „stop“ oder „delete“ 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 alten 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 lokalem 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 von der Art der Unterbrechung und dem Zeitlimit 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 Zeitstempel für die Beendigung ändert sich jedoch nicht, wenn Sie die VM zurücksetzen oder neu starten.

  • Der Beendigungszeitstempel wird automatisch neu definiert, wenn die VM neu gestartet oder fortgesetzt wird. Dabei wird die Art des von Ihnen festgelegten Zeitlimits berücksichtigt:

    • Wenn Sie eine Dauer für die VM festlegen, wird der Zeitstempel für die Beendigung neu berechnet, indem die Dauer zur letzten Startzeit der VM addiert wird.
    • Wenn Sie eine Uhrzeit für die VM festlegen, wird der Zeitstempel für die Beendigung auf diese Uhrzeit 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 -Konsole 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 (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 passieren soll, wenn die Laufzeit der VM das angegebene Zeitlimit erreicht:

    • Wählen Sie Beenden (Standardeinstellung) aus, um die VM automatisch zu beenden.
    • Wählen Sie Löschen aus, um die VM zu löschen.
  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 angeben.
  • 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, ist das Flag --instance-termination-action=TERMINATION_ACTION (wenn die VM das Flag --provisioning-model=SPOT verwendet) 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. Geben Sie das Feld instanceTerminationAction an, um die Beendigungsaktion anzugeben. Dies 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 -Konsole 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 Art 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 die Zeitbeschränkung aus.

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

    • Wählen Sie Beenden (Standardeinstellung) aus, um die VM automatisch zu beenden.
    • Wählen Sie Löschen aus, um die VM zu löschen.
  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. Dies 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) gesetzt 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 Zeit, 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 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 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 Flag --instance-termination-action=TERMINATION_ACTION (wenn die VM das Flag --provisioning-model=SPOT verwendet) 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. Geben Sie das Feld instanceTerminationAction an, um die Beendigungsaktion anzugeben. Dies 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 Zeit, 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 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 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 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 Eigenschaften der VM zu aktualisieren, wie in diesem Abschnitt beschrieben. Bei dieser Methode müssen Sie zuerst die VM beenden, dann ihre Eigenschaften aktualisieren und sie dann neu starten. Wenn Sie gleichzeitig zusätzliche VM-Eigenschaften aktualisieren und eine VM automatisch beenden und neu starten möchten, lesen Sie stattdessen den Hilfeartikel Instanzeigenschaften 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 Eigenschaften 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 starten 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 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“ (STOP) gesetzt 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 Zeit, 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 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 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 Flag --instance-termination-action=TERMINATION_ACTION (wenn die VM das Flag --provisioning-model=SPOT verwendet) optional. Wenn dieses Flag weggelassen wird, wird die Standardaktion (beenden) genutzt.
      • Andernfalls (Standard) ist das Flag --instance-termination-action=TERMINATION_ACTION erforderlich.
  3. Wenn die VM gestartet werden soll, 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 Zeit, 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 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 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 die VM gestartet werden soll, 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 können die Laufzeit einer VM mit Zeitlimit mithilfe der folgenden Optionen überwachen:

  • Wenn Sie wissen möchten, wann eine laufende VM automatisch beendet werden soll, sehen Sie sich den Beendigungszeitstempel der VM an:

    1. Details einer VM ansehen
    2. Suchen Sie in der Ausgabe im Feld der VM nach dem Zeitstempel der Beendigung:
      • Wenn Sie die Google Cloud -Konsole verwenden, sehen Sie im Feld Maximale Dauer nach.
      • 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, rufen Sie die Vorgänge der VM auf:

    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 identifizieren:

      • 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