In diesem Dokument wird beschrieben, wie Sie VMs in einer verwalteten Instanzgruppe (MIG) automatisch beenden, indem Sie ein Zeitlimit für die VMs festlegen. Außerdem wird beschrieben, wie das Zeitlimit für VMs in einer MIG funktioniert.
Sie können temporäre Arbeitslasten optimieren, indem Sie ein Zeitlimit für die VMs in einer MIG angeben. Wenn eine VM ihr Zeitlimit erreicht, wird sie von der MIG automatisch beendet (gelöscht). Durch das Begrenzen der Laufzeit von VMs in einer MIG durch ein Zeitlimit können die Kosten minimiert und Kontingente freigegeben werden.
Informationen zum Angeben eines Zeitlimits für eine eigenständige VM finden Sie unter Laufzeit einer VM begrenzen. Wenn Sie möchten, dass einer MIG automatisch VMs basierend auf Ihren Arbeitslasten hinzugefügt oder daraus entfernt werden, lesen Sie den Abschnitt Autoscaling von Instanzgruppen.
Hinweise
-
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.
Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei der Compute Engine authentifizieren:
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
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud init
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
- Set a default region and zone.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud init
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Laufzeit von VMs in einer verwalteten Instanzgruppe begrenzen
Sie können die Laufzeit von VMs in einer MIG begrenzen, indem Sie in der Instanzvorlage, die für die MIG verwendet wird, ein Zeitlimit angeben. Wenn die MIG VMs auf Grundlage der Vorlage erstellt, wird das Zeitlimit auf jede VM angewendet.
Sie können eine von zwei Arten von Zeitlimits angeben:
- Zeitlimit als Laufzeit
- Zeitlimit als Beendigungszeitpunkt
So geben Sie ein Zeitlimit für die VMs in einer verwalteten Instanzgruppe an:
Erstellen Sie eine Instanzvorlage mit einer Laufzeit für VMs oder mit einer Beendigungszeit für VMs.
Verwenden Sie die Instanzvorlage, um eine MIG zu erstellen oder eine vorhandene MIG zu aktualisieren.
Beschränkungen
Sie müssen die Einschränkungen für das Begrenzen der Laufzeit von eigenständigen VMs einhalten.
Wenn Sie eine Instanzvorlage erstellen, um ein Zeitlimit für VMs in einer MIG festzulegen, gelten die folgenden Einschränkungen:
Sie können die Beendigungsaktion nur auf
DELETE
festlegen.Sie können die Instanzvorlage nur verwenden, wenn darin das Standard- oder Flex-Start-Bereitstellungsmodell angegeben ist.
Sie können die Laufzeit von VMs in einer regionalen MIG nicht begrenzen, wenn für die MIG beides angegeben ist:
Form der Zielverteilung
EVEN
Instanzvorlage mit einer Laufzeit für VMs erstellen
Wenn VMs in einer MIG nach einer bestimmten Ausführungsdauer automatisch beendet werden sollen, legen Sie in der Instanzvorlage eine maximale Ausführungsdauer (
maxRunDuration
) fest.Console
Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
Klicken Sie auf Instanzvorlage erstellen.
Wählen Sie den Standort so aus:
- Wenn Sie die Instanzvorlage regionenübergreifend verwenden möchten, wählen Sie Global.
- Wenn Sie die regionsübergreifende Abhängigkeit reduzieren möchten, wählen Sie Regional.
Wenn Sie "Regional" ausgewählt haben, wählen Sie die Region, in der Sie die Instanzvorlage erstellen möchten.
Erweitern Sie im Abschnitt Verfügbarkeitsrichtlinien die Option Erweiterte Einstellungen für das VM-Bereitstellungsmodell.
Klicken Sie auf das Kästchen Zeitlimit für die VM festlegen.
Wählen Sie im Feld Zeitlimit-Typ die Option Nach Stunden (Standard) aus, um das Zeitlimit als Dauer anzugeben. Geben Sie im nächsten Feld die Dauer in Stunden ein.
Wählen Sie in der Liste Bei VM-Beendigung den Wert Löschen aus.
Übernehmen Sie für die anderen Felder die Standardwerte oder ändern Sie sie je nach Bedarf.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl
instance-templates create
aus. Wenn Sie VMs nach einer bestimmten Dauer automatisch löschen möchten, geben Sie das Flag--max-run-duration
an und legen Sie das Flag--instance-termination-action
wie folgt aufDELETE
fest:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --max-run-duration=DURATION \ --instance-termination-action=DELETE
Ersetzen Sie Folgendes:
INSTANCE_TEMPLATE_NAME
ist der Name der Instanzvorlage.DURATION
: durch die Dauer, für die die VMs ausgeführt werden sollen. Die MIG löscht die VM nach der angegebenen Dauer automatisch.Formatieren Sie die Dauer als Anzahl an Tagen, Stunden, Minuten und Sekunden gefolgt von
d
,h
,m
unds
. Geben Sie beispielsweise30m
für eine Dauer von 30 Minuten oder1d2h3m4s
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
).
Terraform
Verwenden Sie zum Erstellen einer Instanzvorlage mit Terraform die Ressource
google_compute_instance_template
. Zum Erstellen einer Instanzvorlage, die VMs nach einer bestimmten Dauer automatisch löscht, müssen Sie das Argumentmax_run_duration
angeben und das Argumentinstance_termination_action
aufDELETE
festlegen.Weitere Informationen finden Sie in der Terraform-Dokumentation zur Ressource
google_compute_instance_template
.REST
Verwenden Sie die Methode
instanceTemplates.insert
. Wenn Sie VMs nach einer bestimmten Dauer automatisch löschen möchten, fügen Sie das FeldmaxRunDuration
ein und legen Sie das FeldinstanceTerminationAction
so aufDELETE
fest:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "DELETE" } } }
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts, in dem Sie die Instanzvorlage erstellen möchten.INSTANCE_TEMPLATE_NAME
ist der Name der Instanzvorlage.MACHINE_TYPE
: der vordefinierte oder benutzerdefinierte Maschinentyp für die VMs in der Gruppe.IMAGE_PROJECT
: Das Image-Projekt, das das Image enthält, z. B.debian-cloud
.Für
IMAGE
oderIMAGE_FAMILY
muss eine der folgenden Optionen angegeben werden:IMAGE
ist eine bestimmte Version des Betriebssystem-Images; Beispiel:debian-10-buster-v20200309
.IMAGE_FAMILY
ist eine Image-Familie. Diese gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Siefamily/debian-10
angeben, wird die aktuelle Version in der Debian 10-Image-Familie verwendet.
DURATION
: durch die Dauer, für die die VMs ausgeführt werden sollen. Die MIG löscht die VM nach der angegebenen Dauer automatisch.Formatieren Sie die Dauer als Anzahl an Tagen, Stunden, Minuten und Sekunden gefolgt von
d
,h
,m
unds
. Geben Sie beispielsweise30m
für eine Dauer von 30 Minuten oder1d2h3m4s
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
).
Instanzvorlage mit einer Beendigungszeit für VMs erstellen
Wenn Sie VMs in einer MIG zu einem bestimmten Zeitpunkt automatisch beenden möchten, legen Sie in der Instanzvorlage eine Beendigungszeit (
terminationTime
) fest. Sie können ein Datum und eine Uhrzeit festlegen, zu der eine MIG die VMs beenden soll.Console
Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
Klicken Sie auf Instanzvorlage erstellen.
Wählen Sie den Standort so aus:
- Wenn Sie die Instanzvorlage regionenübergreifend verwenden möchten, wählen Sie Global.
- Wenn Sie die regionsübergreifende Abhängigkeit reduzieren möchten, wählen Sie Regional.
Wenn Sie "Regional" ausgewählt haben, wählen Sie die Region, in der Sie die Instanzvorlage erstellen möchten.
Erweitern Sie im Abschnitt Verfügbarkeitsrichtlinien die Option Erweiterte Einstellungen für das VM-Bereitstellungsmodell.
Wählen Sie im Feld Typ des Zeitlimits die Option Nach Datum aus, um das Zeitlimit als Uhrzeit und Datum anzugeben. Klicken Sie im nächsten Feld auf
Datum und Uhrzeit auswählen und wählen Sie das Datum, die Uhrzeit und die Zeitzone für die automatische Beendigung aus.Wählen Sie in der Liste Bei VM-Beendigung den Wert Löschen aus.
Übernehmen Sie für die anderen Felder die Standardwerte oder ändern Sie sie je nach Bedarf.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl
instance-templates create
aus. Wenn Sie VMs zu einem bestimmten Zeitpunkt automatisch löschen möchten, fügen Sie das Flag--termination-time
ein und setzen Sie das Flag--instance-termination-action
aufDELETE
, wie unten dargestellt:gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --termination-time=TIME \ --instance-termination-action=DELETE
Ersetzen Sie Folgendes:
INSTANCE_TEMPLATE_NAME
ist der Name der Instanzvorlage.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 SieZ
an.
REST
Verwenden Sie die Methode
instanceTemplates.insert
. Wenn Sie VMs zu einem bestimmten Zeitpunkt automatisch löschen möchten, fügen Sie das FeldterminationTime
ein und legen Sie das FeldinstanceTerminationAction
wie folgt aufDELETE
fest:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "terminationTime": TIME, "instanceTerminationAction": "DELETE" } } }
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts, in dem Sie die Instanzvorlage erstellen möchten.INSTANCE_TEMPLATE_NAME
ist der Name der Instanzvorlage.MACHINE_TYPE
: der vordefinierte oder benutzerdefinierte Maschinentyp für die VMs in der Gruppe.IMAGE_PROJECT
: Das Image-Projekt, das das Image enthält, z. B.debian-cloud
.Für
IMAGE
oderIMAGE_FAMILY
muss eine der folgenden Optionen angegeben werden:IMAGE
ist eine bestimmte Version des Betriebssystem-Images; Beispiel:debian-10-buster-v20200309
.IMAGE_FAMILY
ist eine Image-Familie. Diese gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Siefamily/debian-10
angeben, wird die aktuelle Version in der Debian 10-Image-Familie verwendet.
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 SieZ
an.
Funktionsweise des Zeitlimits für VMs in einer verwalteten Instanzgruppe
Wenn Sie ein Zeitlimit für VMs in einer MIG angeben, wird die Zeit, zu der eine MIG eine VM beendet, automatisch im Feld „Beendigungszeitstempel“ (
terminationTimestamp
) der VM festgelegt.Je nach Art des von Ihnen angegebenen Zeitlimits wird der Beendigungszeitstempel einer VM so festgelegt:
Zeitlimit als Laufzeit (
maxRunDuration
):terminationTimestamp
einer VM = Letzte Erstellungs- oder Startzeit der VM +maxRunDuration
Wenn Sie eine Dauer angeben, wird der Zeitstempel für die Beendigung relativ zur letzten Erstellungs- oder Startzeit der VM festgelegt. Wenn die VM neu erstellt, neu gestartet, fortgesetzt oder ersetzt wird, wird der Zeitstempel für die Beendigung neu berechnet. Der Zeitstempel für die Beendigung kann je nach VM in einer MIG variieren, je nachdem, wann die jeweilige VM zuletzt erstellt oder gestartet wurde. Wenn eine VM beispielsweise repariert wird, wird der Beendigungszeitstempel der VM neu berechnet, indem die Dauer zu dem Zeitpunkt addiert wird, zu dem die VM während der Reparatur neu erstellt wurde.
Zeitlimit als Beendigungszeitpunkt (
terminationTime
):terminationTimestamp
einer VM =terminationTime
Wenn Sie eine Zeit angeben, wird der Kündigungszeitstempel auf diese Zeit festgelegt, sofern sie in der Zukunft liegt. Wenn die Beendigungszeit überschritten ist, schlägt jede MIG-Aktion, mit der versucht wird, eine VM zu erstellen, neu zu starten oder zu ersetzen, mit einem Fehler fehl. Um einen solchen Fehler zu beheben, müssen Sie eine neue Instanzvorlage mit einer Beendigungszeit in der Zukunft erstellen und diese Vorlage auf die MIG anwenden. Wenn Sie die vorhandenen Vorlageneigenschaften in der neuen Vorlage verwenden möchten, erstellen Sie eine Instanzvorlage auf der Grundlage der vorhandenen Vorlage.
Bei einer VM-Aktualisierung ändert sich der Beendigungszeitstempel nicht. Wenn Sie beispielsweise den Unterbrechungsgrad für Updates auf
REFRESH
festlegen, wird der Beendigungs-Zeitstempel beibehalten, wenn die MIG die VM aktualisiert.Wenn Sie eine VM in einer MIG sperren oder beenden, wird der Zeitstempel für die Beendigung automatisch gelöscht, unabhängig vom Typ des Zeitlimits. Wenn Sie eine VM fortsetzen oder starten, wird der Zeitstempel für die Beendigung noch einmal auf Grundlage des Typs des Zeitlimits festgelegt, wie weiter oben in diesem Abschnitt beschrieben.
So funktioniert das Autoscaling, wenn ein Zeitlimit festgelegt ist
Mit Autoscaling können Sie VMs in Ihrer MIG automatisch hinzufügen oder entfernen, wenn die Last zu- oder abnimmt. Wenn eine MIG VMs löscht, die ihren Zeitstempel für die Beendigung erreicht haben, erstellt die MIG neue VMs, um die vom Autoscaling empfohlene Größe beizubehalten. Die neuen VMs werden für das angegebene Zeitlimit ausgeführt. Wenn das Autoscaling empfiehlt, die Anzahl der VMs zu verringern, werden VMs in der MIG gelöscht, bevor sie ihre Zeitlimits erreichen.
Wenn Sie Skalierungszeitpläne konfiguriert haben, werden die VMs nur bis zum Ende eines Zeitplans oder bis eine VM ihren Beendigungszeitstempel erreicht ausgeführt, je nachdem, was zuerst eintritt.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-08-18 (UTC).
-