Laufzeit einer VM beschränken


In diesem Dokument wird erläutert, wie Sie die automatische Beendigung verwenden, um die Laufzeit neuer oder vorhandener VM-Instanzen zu begrenzen und anschließend die Laufzeit dieser VMs zu überwachen.

Um temporäre Arbeitslasten zu optimieren, können Sie VM-Laufzeiten automatisch begrenzen. Dadurch werden Kosten minimiert und Kontingente freigegeben. Mit der automatischen Beendigung können Sie eine VM so einstellen, dass sie beendet (gestoppt oder gelöscht) wird, wenn ein bestimmtes Zeitlimit (Dauer oder Zeit) erreicht ist.

Weitere Informationen zum Beenden einer VM finden Sie unter VM stoppen und starten. Weitere Informationen zum Löschen einer VM finden Sie unter VM löschen.

Informationen zum Planen von VM-Laufzeiten für wiederkehrende Arbeitslasten finden Sie unter VM starten und beenden.

Hinweise

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Instanzadministrator (v1) (roles/compute.instanceAdmin.v1) für das Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zur automatischen Beendigung benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff 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.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Einschränkungen

Für die automatische Beendigung gelten die folgenden Einschränkungen:

  • Die automatische Beendigung wird automatisch jederzeit gelöscht, wenn die VM gestoppt oder angehalten wird. Mit dieser Einschränkung wird verhindert, dass eine VM versehentlich beendet wird, die entweder abgeschlossen oder unterbrochen wurde und dann ohne Aktualisierung wieder gestartet wird.

  • Für die automatische Beendigung gilt ein Mindestzeitlimit von 30 Sekunden und ein maximales Zeitlimit von 120 Tagen.

  • 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 die automatische Beendigung nicht mit Legacy-VMs auf Abruf verwenden. Verwenden Sie stattdessen die automatische Beendigung mit Spot-VMs.

Wenn Sie den Stopp einer VM unabhängig von Unterbrechungen oder einem größeren maximalen Zeitlimit planen möchten, verwenden Sie stattdessen Instanzzeitpläne.

Laufzeit einer neuen VM beschränken

In den folgenden Abschnitten wird beschrieben, wie Sie die automatische Beendigung beim Erstellen einer neuen VM konfigurieren.

Um anzugeben, wann die VM beendet werden soll, legen Sie das Zeitlimit über eine Dauer oder eine Zeitangabe fest.

Dauer festlegen

Eine Dauer stellt die gewünschte Gesamtlaufzeit für eine VM dar. Verwenden Sie die Google Cloud Console, die Google Cloud CLI 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, um die automatische Beendigung zu aktivieren. 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 passiert, 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 beta 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. Wenn Sie die Beendigungsaktion angeben möchten, fügen Sie das Flag --instance-termination-action ein, das für Spot-VMs optional ist.

gcloud beta compute instances create VM_NAME \
    --max-run-duration=DURATION \
    --instance-termination-action=TERMINATION_ACTION

Dabei gilt:

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

REST

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

Um eine VM zu erstellen, die nach einer bestimmten Dauer automatisch beendet wird, müssen Sie das Feld maxRunDuration 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/beta/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, die 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 (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, um die automatische Beendigung zu aktivieren. 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 das Datum, die Uhrzeit und die Zeitzone für die automatische Beendigung 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.
    • 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 beta 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. Wenn Sie die Beendigungsaktion angeben möchten, fügen Sie das Flag --instance-termination-action ein, das für Spot-VMs optional ist.

gcloud beta compute instances create VM_NAME \
    --termination-time=TIME \
    --instance-termination-action=TERMINATION_ACTION

Dabei gilt:

  • 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 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 Betamethode 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/beta/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 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 Einstellungen für die automatische Beendigung konfiguriert werden, sollten Sie die vorherigen Abschnitte zur Einschränkung der Laufzeit einer neuen VM lesen.

Sie können die Google Cloud Console, die Google Cloud CLI oder die Compute Engine API verwenden, um den Zeitplan der VM zu aktualisieren, wie in diesem Abschnitt beschrieben. Bei dieser Methode müssen Sie jedoch die VM zuerst beenden, ihren Zeitplan festlegen und sie dann neu starten. Wenn Sie mehrere VM-Attribute gleichzeitig aktualisieren und eine VM beim Beenden ihrer Attribute 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 die automatische Beendigung finden Sie unter Laufzeit einer neuen VM beschränken.

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

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

gcloud

Führen Sie die folgenden Schritte aus, um den Zeitplan einer VM für die automatische Beendigung ü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 die Einstellungen der VM für die automatische Beendigung mit dem Befehl gcloud beta compute instances set-scheduling. Sie müssen eines der Flags --max-run-duration oder --termination-time angeben, um das Zeitlimit als Dauer oder als Zeitangabe festzulegen:

    • Verwenden Sie den folgenden Befehl, um eine Dauer festzulegen:

      gcloud beta compute instances set-scheduling VM_NAME \
          --max-run-duration=DURATION \
          --instance-termination-action=TERMINATION_ACTION
      
    • Verwenden Sie den folgenden Befehl, um eine Zeitangabe festzulegen:

      gcloud beta compute instances set-scheduling VM_NAME \
          --termination-time=TIME \
          --instance-termination-action=TERMINATION_ACTION
      

    Dabei gilt:

    • 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 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 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 den Zeitplan einer VM für die automatische Beendigung mit der Compute Engine API zu aktualisieren:

  1. Wenn die VM ausgeführt wird, beenden Sie die VM 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 die automatische Beendigung, mit der Betamethode 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/beta/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/beta/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, die 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: 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 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 die VM gestartet 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

Wenn Sie die Laufzeit einer VM überwachen möchten, können Sie die VM-Vorgänge aufrufen. So können Sie beispielsweise feststellen, ob eine VM unterbrochen wurde, bevor sie automatisch beendet wird. Suchen Sie nach den folgenden Vorgangstypen, um VM-Vorgänge zu identifizieren, die durch die automatische Beendigung verursacht werden:

  • compute.instances.deferredStop für die Beendigungsaktion "Beenden"
  • compute.instances.deferredDelete für die Beendigungsaktion "Löschen"

Nächste Schritte