Starten und Beenden einer VM-Instanz planen


Mit Instanzzeitplänen können Sie VM-Instanzen automatisch starten und beenden. Die Verwendung von Instanzzeitplänen zur Automatisierung der Bereitstellung Ihrer VM-Instanzen kann Ihnen helfen, Kosten zu optimieren und VM-Instanzen effizienter zu verwalten. Sie können Instanzzeitpläne sowohl für wiederkehrende als auch für einmalige Arbeitslasten verwenden. Sie können beispielsweise Instanzzeitpläne verwenden, um VM-Instanzen nur während der Arbeitszeit auszuführen oder um Kapazitäten für ein einmaliges Ereignis bereitzustellen.

Erstellen Sie eine Ressourcenrichtlinie, die das Start- und Stoppverhalten beschreibt, um Instanzzeitpläne zu verwenden und hängen Sie dann die Richtlinie an eine oder mehrere VM-Instanzen an.

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

Erforderliche Rollen

Damit Sie Instanzzeitpläne verwenden können, müssen Sie folgenden Hauptkonten die erforderlichen IAM-Rollen (Identity and Access Management) zuweisen:

  • Dem Compute Engine-Dienst-Agent für Ihr Projekt. Das ist erforderlich, damit der Instanzzeitplan auf einer VM ausgeführt wird.

    Wenn Sie diese Berechtigungen nach dem Erstellen von Instanzzeitplänen widerrufen, hören Ihre Instanzzeitpläne möglicherweise ohne Benachrichtigung auf zu funktionieren. Sie sollten regelmäßig über Audit-Logs prüfen, ob die Instanzzeitpläne erfolgreich ausgeführt werden.

  • Das Nutzerkonto oder Dienstkonto, das den Instanzzeitplan erstellt, verwaltet oder verwendet.

Compute Engine-Dienst-Agent: erforderliche Rollen

Bitten Sie Ihren Administrator, dem Compute Engine-Dienst-Agent die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für das Projekt zuzuweisen, damit der Compute Engine-Dienst-Agent die erforderlichen Berechtigungen zum Ausführen von Instanzzeitplänen hat. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Ausführen des Instanzzeitplans erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Zum Ausführen des Instanzzeitplans sind die folgenden Berechtigungen erforderlich:

  • compute.instances.start
  • compute.instances.stop

Ihr Administrator kann dem Compute Engine-Dienst-Agent diese Berechtigungen möglicherweise auch über benutzerdefinierte Rollen oder anderen vordefinierte Rollen zuweisen.

Nutzer oder Dienstkonto: erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen oder Ihrem Dienstkonto die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für Ihr Projekt oder Ihre Organisation zuzuweisen, damit Sie oder Ihr Dienstkonto die erforderlichen Berechtigungen zum Erstellen und Verwalten von Instanzzeitplänen haben. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen und Verwalten von Instanzzeitplänen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Erstellen und Verwalten von Instanzzeitplänen erforderlich:

  • Instanzzeitplan erstellen: compute.resourcePolicies.create
  • Instanzzeitplan auflisten: compute.resourcePolicies.list
  • Instanzzeitplan beschreiben: compute.resourcePolicies.get
  • Instanzzeitplan löschen: compute.resourcePolicies.delete
  • Einen Instanzzeitplan an eine neue VM anhängen:
    • compute.instances.create
    • compute.resourcePolicies.use
    • compute.instances.addResourcePolicies
  • Einen Instanzzeitplan an eine vorhandene VM anhängen:
    • compute.resourcePolicies.use
    • compute.instances.addResourcePolicies
  • Einen Instanzzeitplan von einer VM entfernen:
    • compute.resourcePolicies.use
    • compute.instances.removeResourcePolicies

Ihr Administrator kann Ihnen oder Ihrem Dienstkonto diese Berechtigungen möglicherweise auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen zuweisen.

Beschränkungen

  • Ein Instanzzeitplan lässt sich nur an VM-Instanzen anhängen, die sich in derselben Region wie der Instanzzeitplan befinden.
  • Jede VM-Instanz kann nur einem Instanzzeitplan folgen, aber Sie können jeden Instanzzeitplan bis zu 1.000 VM-Instanzen anhängen.
  • Instanzpläne bieten keine Kapazitätsgarantien. Wenn die für eine geplante VM-Instanz erforderlichen Ressourcen also zum geplanten Zeitpunkt nicht verfügbar sind, wird eine geplante VM-Instanz möglicherweise nicht gestartet. Obwohl Sie VM-Instanzen reservieren können, bevor Sie sie bereitstellen, um Kapazitätsgarantien zu gewährleisten, können Reservierungen nicht automatisch geplant werden.
  • Instanzzeitpläne starten und stoppen VM-Instanzen nur zu den angegebenen Zeiten, aber Sie können VM-Instanzen jederzeit manuell starten und beenden. Angenommen, Sie haben einen Zeitplan, der täglich um 08:00 Uhr beginnt und um 17:00 Uhr endet. Wenn Sie diesen um 16:00 Uhr an eine gestoppte VM-Instanz anhängen, wird diese VM-Instanz erst am nächsten Tag um 08:00 Uhr gestartet, sofern Sie die VM-Instanz nicht vorher manuell starten.
  • Geplante VM-Instanzen können nach dem geplanten Zeitpunkt bis zu 15 Minuten dauern, um einen Start- oder Stoppvorgang zu starten. Wenn Sie VM-Instanzen zu einem bestimmten Zeitpunkt starten oder stoppen möchten, planen Sie den Vorgang 15Minuten früher als erforderlich und planen Sie jeden Vorgang mindestens 15 Minuten voneinander entfernt.
  • Der Planer kann fehlschlagen, wenn zwischen dem Start- und dem Stoppvorgang eine Lücke von weniger als 15 Minuten besteht. Dies liegt daran, dass der Stoppvorgang vor dem Startvorgang erfolgen kann, wodurch der Startvorgang verhindert wird.
  • Jeder Instanzzeitplan kann bis zu einem Startvorgang und bis zu einem Stoppvorgang pro Stunde haben.
  • Instanzzeitpläne können nicht bearbeitet werden. Wenn Sie einen vorhandenen Instanzzeitplan für eine oder mehrere VM-Instanzen ändern möchten, entfernen und löschen Sie den vorhandenen Instanzzeitplan und erstellen und hängen Sie einen neuen Instanzzeitplan an.

Instanzzeitpläne verwalten

Mit der Google Cloud Console, dem Google Cloud CLI oder der Compute Engine API können Sie Instanzzeitpläne erstellen, auflisten, beschreiben und löschen.

Instanzzeitplan erstellen

Erstellen Sie einen Instanzzeitplan, der beschreibt, wann Ihre VM-Instanzen automatisch gestartet oder beendet werden sollen. Der von Ihnen erstellte Instanzzeitplan ist eine Ressourcenrichtlinie, die Sie verwenden, indem Sie sie von VM-Instanzen anhängen oder davon entfernen.

Console

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

    Zu Seite „VM-Instanzen“

  2. Klicken Sie oben auf der Seite auf den Tab Instanzzeitpläne.

  3. Klicken Sie auf Zeitplan erstellen. Der Bereich Zeitplan erstellen wird geöffnet.

  4. Geben Sie einen Namen ein.

  5. Optional: Geben Sie eine Beschreibung ein.

  6. Wählen Sie im Drop-down-Menü Region den Speicherort für diesen Instanzzeitplan aus.

  7. Legen Sie fest, wann der Instanzzeitplan verbundene VM-Instanzen startet und stoppt. Wenn Sie möchten, dass VM-Instanzen zu einer bestimmten Zeit gestartet oder beendet werden, planen Sie den Vorgang 15 Minuten früher als erforderlich. Start- und Stoppvorgänge müssen mindestens 15 Minuten voneinander entfernt sein.

    Verwenden Sie die Standardfelder Startzeit, Stoppzeit und Häufigkeit oder verwenden Sie, falls Sie einen komplexeren Zeitplan konfigurieren möchten, Cron-Ausdrücke.

    • Standardfelder:

      1. Geben Sie eine Startzeit, eine Stoppzeit oder beides ein.
        • Geben Sie im Feld Startzeit die Uhrzeit ein oder klicken Sie auf , um die Zeit zum Starten von VM-Instanzen auszuwählen.
        • Geben Sie im Feld Stoppzeit die Uhrzeit ein oder klicken Sie auf , um die Zeit für das Beenden von VM-Instanzen auszuwählen.
      2. Wählen Sie im Drop-down-Menü Häufigkeit im unteren Bereich aus, wie oft die Startzeit und die Stoppzeit wiederholt wird.
    • Cron-Ausdrücke:

      1. Klicken Sie zum Aktivieren von Cron-Ausdrücken auf die Taste CRON-Ausdruck verwenden oben im Bereich.
      2. Geben Sie einen Start-CRON-Ausdruck, einen Stopp-CRON-Ausdruck oder beides ein.
        • Geben Sie im Feld Start-CRON-Ausdruck einen Cron-Ausdruck ein, der beschreibt, wann VM-Instanzen gestartet werden sollen.
        • Geben Sie im Feld Stopp-CRCR-Ausdruck einen Cron-Ausdruck ein, der beschreibt, wann VM-Instanzen angehalten werden sollen.
  8. Wählen Sie im Drop-down-Menü Zeitzone die Zeitzone für dieStartzeit und die Stoppzeit aus.

  9. Optional: Geben Sie im Feld Initierungsdatum den Wert ein oder klicken Sie auf , um Datum und Uhrzeit für den Start des Instanzzeitplans auszuwählen. Wenn nichts angegeben ist, tritt der Zeitplan sofort in Kraft.

  10. Optional: Geben Sie im Feld Enddatum den Wert ein oder klicken Sie auf , um Datum und Uhrzeit für das Ende des Instanzzeitplans auszuwählen. Wenn nichts angegeben ist, gilt der Zeitplan unbegrenzt.

  11. Klicken Sie auf Senden.

gcloud

Verwenden Sie den Befehl gcloud compute resource-policies create instance-schedule, um einen Instanzzeitplan mit der gcloud CLI zu erstellen:

gcloud compute resource-policies create instance-schedule SCHEDULE_NAME \
    [--description='SCHEDULE_DESCRIPTION'] \
    [--region=REGION] \
    [--vm-start-schedule='START-OPERATION_SCHEDULE'] \
    [--vm-stop-schedule='STOP-OPERATION_SCHEDULE'] \
    [--timezone=TIME_ZONE] \
    [--initiation-date=INITIATION_DATE] \
    [--end-date=END_DATE]

Ersetzen Sie Folgendes:

  • SCHEDULE_NAME: Name des neuen Instanzzeitplans.
  • SCHEDULE_DESCRIPTION (optional): Beschreibung des neuen Instanzzeitplans
  • REGION: Optional: Die Region, in der sich die VM-Instanzen befinden, die Sie an diesen Instanzzeitplan anhängen möchten.
  • Ersetzen Sie mindestens eines der folgenden:
    • START-OPERATION_SCHEDULE: ein Zeitplan, der beschreibt, wann die angehängten VM-Instanzen gestartet werden, als Cron-Ausdruck formatiert. Wenn Sie möchten, dass VM-Instanzen zu einem bestimmten Zeitpunkt gestartet werden, planen Sie den Vorgang 15 Minuten früher als erforderlich. Weitere Informationen finden Sie unter Zeitplan für den Startvorgang.
    • STOP-OPERATION_SCHEDULE: ein Zeitplan, der beschreibt, wann die zugeordneten VM-Instanzen gestoppt werden, als Cron-Ausdruck formatiert. Wenn Sie möchten, dass VM-Instanzen zu einem bestimmten Zeitpunkt beendet werden, planen Sie den Vorgang 15 Minuten früher als erforderlich. Weitere Informationen finden Sie unter Zeitplan für den Stoppvorgang.
  • TIME_ZONE: Optional: die standortbasierte Zeitzone für diesen Instanzplan. Wenn keine Angabe gemacht wird, wird der Standardwert UTC verwendet. Weitere Informationen finden Sie unter Zeitzone.
  • INITIATION_DATE: Optional: Das erste Datum, an dem der Instanzzeitplan gültig ist, formatiert als RFC 3339-Zeitstempel. Wenn nichts angegeben ist, tritt der Zeitplan sofort in Kraft. Weitere Informationen finden Sie unter Einführungsdatum.
  • END_DATE: Optional: Das Datum, bis zu dem der Instanzzeitplan gültig ist, als RFC 3339-Zeitstempel formatiert. Wenn nichts angegeben ist, gilt der Zeitplan unbegrenzt. Weitere Informationen finden Sie unter Enddatum.

REST

Um einen Instanzzeitplan mit der Compute Engine API zu erstellen, stellen Sie eine Anfrage mit der Methode resourcePolicies.insert:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies
{
  "name": "SCHEDULE_NAME",
  "description": "SCHEDULE_DESCRIPTION",
  "instanceSchedulePolicy": {
    "vmStartSchedule": {
      "schedule": "START-OPERATION_SCHEDULE"
    },
    "vmStopSchedule": {
      "schedule": "STOP-OPERATION_SCHEDULE"
    },
    "timeZone": "TIME_ZONE",
    "startTime":"INITIATION_DATE",
    "expirationTime":"END_DATE"
  }
}

Dabei gilt:

  • PROJECT: Ihre Projekt-ID
  • REGION: Die Region, in der sich die VM-Instanzen befinden, die Sie an diesen Instanzzeitplan anhängen möchten.
  • SCHEDULE_NAME: Name des neuen Instanzzeitplans.
  • SCHEDULE_DESCRIPTION (optional): Beschreibung des neuen Instanzzeitplans
  • START-OPERATION_SCHEDULE oder STOP-OPERATION_SCHEDULE: Geben Sie mindestens eine der folgenden Optionen an:
    • START-OPERATION_SCHEDULE: ein Zeitplan, der beschreibt, wann die angehängten VM-Instanzen gestartet werden, als Cron-Ausdruck formatiert. Wenn Sie möchten, dass VM-Instanzen zu einem bestimmten Zeitpunkt gestartet werden, planen Sie den Vorgang 15 Minuten früher als erforderlich. Weitere Informationen finden Sie unter Zeitplan für den Startvorgang.
    • STOP-OPERATION_SCHEDULE: ein Zeitplan, der beschreibt, wann die zugeordneten VM-Instanzen gestoppt werden, als Cron-Ausdruck formatiert. Wenn Sie möchten, dass VM-Instanzen zu einem bestimmten Zeitpunkt beendet werden, planen Sie den Vorgang 15 Minuten früher als erforderlich. Weitere Informationen finden Sie unter Zeitplan für den Stoppvorgang.
  • TIME_ZONE: die standortbasierte IANA-Zeitzone für diesen Instanzplan Weitere Informationen finden Sie unter Zeitzone.
  • INITIATION_DATE: Optional: Das erste Datum, an dem der Instanzzeitplan gültig ist, formatiert als RFC 3339-Zeitstempel. Wenn nichts angegeben ist, tritt der Zeitplan sofort in Kraft. Weitere Informationen finden Sie unter Einführungsdatum.
  • END_DATE: Optional: Das Datum, bis zu dem der Instanzzeitplan gültig ist, als RFC 3339-Zeitstempel formatiert. Wenn nichts angegeben ist, gilt der Zeitplan unbegrenzt. Weitere Informationen finden Sie unter Enddatum.

Jeder Instanzzeitplan hat die folgenden Einstellungen:

Zeitplan für den Start- und Stoppvorgang

Zeitpläne, die beschreiben, wann der Instanzzeitplan angehängte VM-Instanzen startet und beendet. Ein Instanzplan kann entweder einen dieser Zeitpläne oder beides haben.

Beim Erstellen von Instanzplänen mit der Google Cloud Console können Sie entweder eine Startzeit, eine Endzeit und eine Häufigkeit auswählen oder jeden Zeitplan als Cron-Ausdruck formatieren. Wenn Sie Instanzzeitpläne mit der gcloud CLI oder der Compute Engine API erstellen, müssen Sie die Zeitpläne als Cron-Ausdrücke formatieren.

In der folgenden Tabelle werden die Felder eines Cron-Ausdrucks und die unterstützten Werte für jedes Feld definiert.

Minute Stunde Tag des Monats Monat Wochentag
0–59 0–23 1-31

29–31 sind nur für relevante Monate gültig

1–12 0–6 oder SUN-SAT (Sonntag–Samstag)

Wobei: 0=SUN, 1=MON, ... 6=SAT

Zusätzlich zu diesen Werten können in jedem Feld eines Cron-Ausdrucks auch die folgenden Sonderzeichen verwendet werden.
Sonderzeichen Bedeutung Beispiel
* Beliebig Wenn das Feld für den Tag des Monats, das Feld für den Monat und das Wochentag alle * sind, wird der Zeitplan jeden Tag wiederholt.
- range Wenn das Feld für den Wochentag auf MON-FRI (oder 1-5) gesetzt ist, wird der Zeitplan jede Woche von Montag bis Freitag wiederholt.
, list Wenn das Feld für den Monat auf 1-6,8-12 festgelegt ist, wird der Zeitplan jeden Monat außer im Juli wiederholt.

Beachten Sie beim Schreiben eines Cron-Ausdrucks Folgendes:

  • Zum Trennen der Felder eines Cron-Ausdrucks werden Leerzeichen verwendet. Fügen Sie keine zusätzlichen Leerzeichen in ein Feld ein, in dem Sonderzeichen verwendet werden.
  • Wenn Sie sowohl einen Wochentag als auch einen Tag des Monats angeben und keines der Felder auf * festgelegt ist, verwendet der Zeitplan die Vereinigungsmenge dieser Werte, nicht die Schnittmenge. Beispiel: Der Zeitplan 0 8 1 * MON beginnt an jedem Montag sowie an jedem ersten Tag des Monats um 08:00 Uhr. Dieser Zeitplan beginnt nicht an Montagen um 08:00 Uhr, die gleichzeitig der erste Tag des Monats sind.
Zeitzone

Die standortbasierte IANA-Zeitzone für den Zeitplan für den Start- und Stoppvorgang. In der IANA-Zeitzonendatenbank wird eine Liste der verfügbaren Werte definiert. Diese Zeitzone wird nur als Referenz für den Start- und Stoppvorgang verwendet. Sie wird nicht für das Start- und Enddatum verwendet. Die Zeitzone ist bei Verwendung der gcloud CLI oder der Compute Engine API optional. Wenn keine Angabe gemacht wird, wird der Standardwert UTC verwendet.

Einige IANA-Zeitzonen berücksichtigen die Sommerzeit, was sich auf Ihre Instanzzeitpläne auswirken kann. Die Details der Sommerzeit sind unterschiedlich, zum Beispiel die Zeit, zu der die Sommerzeit beginnt und endet und wie viel Zeit übersprungen und wiederholt wird. Diese richtet sich nach der jeweiligen Zeitzone.

Startdatum, Enddatum

Der Zeitrahmen, in dem der Instanzzeitplan wirksam ist. Beide Werte sind optional. Vorgänge werden jährlich wiederholt, wenn Sie diese Werte nicht so angeben, dass der Zeitplan auf ein Jahr zu beschränkt wird.

Wählen Sie beim Erstellen von Instanzplänen mit der Google Cloud Console ein Datum, eine Uhrzeit und eine Zeitzone mithilfe der Felder Startdatum und Enddatum aus.

Beim Erstellen von Instanzzeitplänen mit der gcloud CLI oder der Compute Engine API werden diese Werte als RFC 3339-Zeitstempel formatiert:

  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) Die Pacific Standard Time (PST), die 8 Stunden vor UTC liegt, wird als -08:00 geschrieben. Wenn Sie keinen zeitlichen Versatz (die UTC-Zeitzone) verwenden möchten, schreiben Sie einfach Z.

Instanzzeitpläne auflisten

Listen Sie die Instanzpläne auf, um alle vorhandenen Instanzzeitpläne für Ihr Projekt anzuzeigen.

Console

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

    Zu Seite „VM-Instanzen“

  2. Klicken Sie oben auf der Seite auf den Tab Instanzzeitpläne. Dadurch wird eine Liste aller Instanzpläne für dieses Projekt angezeigt.

gcloud

Verwenden Sie den Befehl gcloud compute resource-policies list, um über die gcloud CLI eine Liste aller Ressourcenrichtlinien aufzurufen, einschließlich der Instanzzeitpläne. Optional können Sie das Flag --filter einfügen, um die Ergebnisse auf eine bestimmte Region zu beschränken.

gcloud compute resource-policies list \
    [--filter="region:(REGION)"]

Dabei gilt:

  • REGION: Optional: Die Region, in der sich die Instanzzeitpläne befinden, die Sie auflisten möchten.

REST

Wenn Sie eine Liste aller Ressourcenrichtlinien, einschließlich der Instanzzeitpläne, in einer bestimmten Region über die Compute Engine API aufrufen möchten, stellen Sie eine Anfrage mit der Methode resourcePolicies.list:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies

Dabei gilt:

  • PROJECT: Ihre Projekt-ID
  • REGION: Die Region, in der sich die Instanzzeitpläne befinden, die Sie auflisten möchten.

Instanzzeitplan beschreiben

Beschreiben Sie einen Instanzzeitplan, um die Beschreibung, den Zeitpunkt, die Vorgänge und eine Liste aller VM-Instanzen aufzurufen, mit denen er verknüpft ist.

Console

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

    Zu Seite „VM-Instanzen“

  2. Klicken Sie oben auf der Seite auf den Tab Instanzzeitpläne. Dadurch wird eine Liste aller Instanzpläne für dieses Projekt angezeigt.

  3. Klicken Sie auf den Namen des Instanzzeitplans, den Sie beschreiben möchten. Die Seite mit den Details für diesen Instanzzeitplan wird geöffnet.

gcloud

Verwenden Sie den Befehl gcloud compute resource-policies describe, um einen Instanzzeitplan mit der gcloud CLI zu beschreiben:

gcloud compute resource-policies describe SCHEDULE_NAME \
    [--region=REGION]

Ersetzen Sie Folgendes:

  • SCHEDULE_NAME: der Name des Instanzzeitplans, den Sie beschreiben möchten.
  • REGION: Optional: Region, in der sich der Instanzzeitplan befindet.

Die Ausgabe sieht in etwa so aus:

...
description: Every Monday to Friday in 2022, start VMs at 8 AM and stop VMs at 5 PM.
...
instanceSchedulePolicy:
 expirationTime: '2022-12-31T23:59:59Z'
 startTime: '2022-01-01T00:00:00Z'
 timeZone: UTC
 vmStartSchedule:
   schedule: 0 8 * * MON-FRI
 vmStopSchedule:
   schedule: 0 17 * * MON-FRI
...
name: example-instance-schedule
region: https://www.googleapis.com/compute/v1/projects/example-project/regions/us-west1
resourceStatus:
 instanceSchedulePolicy:
   nextRunStartTime: '2022-01-03T08:00:00Z'
...
status: READY

REST

Damit Sie einen Instanzzeitplan mithilfe der Compute Engine API beschreiben können, stellen Sie eine Anfrage mithilfe der Methode resourcePolicies.get:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME

Dabei gilt:

  • PROJECT: Ihre Projekt-ID
  • REGION: Region, in der sich der Instanzzeitplan befindet.
  • SCHEDULE_NAME: der Name des Instanzzeitplans, den Sie beschreiben möchten.

Die Ausgabe sieht etwa so aus:

{
  ...
  "description": "Every Monday to Friday in 2022, start VMs at 8 AM and stop VMs at 5 PM.",
  "name": "example-instance-schedule",
  "instanceSchedulePolicy": {
    "vmStartSchedule": {
      "schedule": "0 8 * * MON-FRI"
    },
    "vmStopSchedule": {
      "schedule": "0 17 * * MON-FRI"
    },
    "timeZone": "UTC",
    "startTime": "2022-01-01T00:00:00Z",
    "expirationTime": "2022-12-31T23:59:59Z"
  },
  "status": "READY",
  "resourceStatus": {
    "instanceSchedulePolicy": {
      "nextRunStartTime": "2022-01-03T08:00:00Z"
    }
  },
  ...
}

Instanzzeitplan löschen

Löschen Sie einen Instanzzeitplan, wenn Sie ihn nicht mehr benötigen. Entfernen Sie dazu alle angehängten VM-Instanzen und löschen Sie die Ressourcenrichtlinie.

Console

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

    Zu Seite „VM-Instanzen“

  2. Klicken Sie oben auf der Seite auf den Tab Instanzzeitpläne. Dadurch wird eine Liste aller Instanzpläne für dieses Projekt angezeigt.

  3. Klicken Sie die Kästchen für die Instanzzeitpläne an, die Sie löschen möchten.

  4. Klicken Sie oben auf der Seite auf  Löschen. Ein neues Dialogfeld wird geöffnet, in dem die Aktion bestätigt wird.

  5. Klicken Sie im Dialogfeld auf Löschen.

gcloud

  1. Wenn dieser Instanzzeitplan an alle VM-Instanzen angehängt ist, entfernen Sie ihn.
    1. Um zu prüfen, mit welchen VM-Instanzen dieser Zeitplan verknüpft ist, prüfen Sie den Instanzzeitplan.
    2. Entfernen Sie den Instanzzeitplan für jede VM-Instanz, an die dieser Zeitplan angehängt ist.
  2. Verwenden Sie den Befehl gcloud compute resource-policies delete, um einen Instanzzeitplan mit der gcloud CLI zu löschen:

    gcloud compute resource-policies delete SCHEDULE_NAME \
       [--region=REGION]
    

    Ersetzen Sie Folgendes:

    • SCHEDULE_NAME ist der Name des Instanzzeitplans, den Sie löschen möchten.
    • REGION: Optional: Region, in der sich der Instanzzeitplan befindet.

REST

  1. Wenn dieser Instanzzeitplan an alle VM-Instanzen angehängt ist, entfernen Sie ihn.
    1. Um zu prüfen, mit welchen VM-Instanzen dieser Zeitplan verknüpft ist, prüfen Sie den Instanzzeitplan.
    2. Entfernen Sie den Instanzzeitplan für jede VM-Instanz, an die dieser Zeitplan angehängt ist.
  2. Wenn Sie einen Instanzzeitplan mit der Compute Engine API löschen möchten, stellen Sie eine Anfrage mit der Methode resourcePolicies.delete:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME
    

    Dabei gilt:

    • PROJECT: Ihre Projekt-ID
    • REGION: Region, in der sich der Instanzzeitplan befindet.
    • SCHEDULE_NAME ist der Name des Instanzzeitplans, den Sie löschen möchten.

Instanzzeitpläne mit VM-Instanzen verwenden

Wenn Sie einen Instanzzeitplan verwenden möchten, hängen Sie ihn an eine oder mehrere VM-Instanzen an, die diesem Zeitplan folgen sollen. Sie können einen Instanzzeitplan an eine vorhandene VM-Instanz anhängen oder wenn Sie eine neue VM-Instanz erstellen. Wenn Sie verhindern möchten, dass eine VM-Instanz einem angehängten Instanzzeitplan folgt, entfernen Sie den Zeitplan für diese VM-Instanz.

Instanzzeitplan beim Erstellen einer neuen VM-Instanz anhängen

Erstellen Sie die VM-Instanz in derselben Region wie den von Ihnen verwendeten Zeitplan, um einen Instanzzeitplan an eine neue VM-Instanz anzuhängen. VM-Instanz erstellen

Console

Beim Erstellen einer Instanz mit der Google Cloud Console können Sie Instanz-Zeitpläne nicht anhängen. Wenn Sie in der Google Cloud Console einen Instanzzeitplan an eine neue VM-Instanz anhängen möchten, erstellen Sie eine VM-Instanz und hängen Sie einen Zeitplan an die VM-Instanz:

gcloud

Verwenden Sie den Befehl gcloud compute instances create mit dem Flag --resource-policies, wenn Sie mit der gcloud CLI einen Instanzzeitplan an eine VM-Instanz anhängen möchten. Mit dem folgenden Befehl können Sie beispielsweise eine VM-Instanz aus einem öffentlichen Image mit einem angehängten Instanzplan erstellen:

gcloud compute instances create VM_NAME \
    --resource-policies=SCHEDULE_NAME \
    [--zone=ZONE] \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    [--image-project IMAGE_PROJECT]

Dabei gilt:

  • VM_NAME: der Name der VM-Instanz, an die Sie einen Instanzzeitplan anhängen möchten.
  • SCHEDULE_NAME ist der Name des Instanzzeitplans, den Sie anhängen möchten.
  • ZONE: Optional: Zone, in der sich Ihre Instanz befindet.
  • Optional: Erstellen Sie eine VM-Instanz aus einem öffentlichen Image:
    • Für IMAGE oder IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:
    • IMAGE: die erforderliche Version eines öffentlichen Image. Beispiel: --image debian-10-buster-v20200309
    • IMAGE_FAMILY: eine Image-Familie. Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise --image-family debian-10 angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie an.
    • IMAGE_PROJECT ist das Projekt, das das Image enthält.

REST

Wenn Sie mithilfe der Compute Engine API einen Instanzzeitplan an eine VM-Instanz anhängen möchten, stellen Sie eine Anfrage mit der Methode instances.insert und fügen Sie das Attribut resourcePolicies ein. Wenn Sie beispielsweise eine VM-Instanz aus einem öffentlichen Image mit einem angehängten Instanzplan erstellen möchten, stellen Sie folgende Anfrage:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "resourcePolicies": [
    "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME"
  ]
}

Dabei gilt:

  • PROJECT_ID ist die ID des Projekts, in dem die VM erstellt werden soll.
  • ZONE ist die Zone, in der die VM erstellt werden soll.
  • MACHINE_TYPE_ZONE ist die Zone mit dem Maschinentyp, der für die neue VM verwendet werden soll.
  • MACHINE_TYPE legt einen vordefinierten oder benutzerdefinierten Maschinentyp für die neue VM fest.
  • VM_NAME ist der Name der neuen VM.
  • Optional: Erstellen Sie eine VM-Instanz aus einem öffentlichen Image:
    • IMAGE_PROJECT ist das Projekt, das das Image enthält. Wenn Sie beispielsweise debian-10 als Image-Familie angeben, geben Sie debian-cloud als Image-Projekt an.
    • Für IMAGE oder IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:
    • IMAGE: die erforderliche Version eines öffentlichen Image. Beispiel: "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY ist eine Image-Familie. Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise "sourceImage": "projects/debian-cloud/global/images/family/debian-10" angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie an.
  • REGION: Region, in der sich der Instanzzeitplan befindet.
  • SCHEDULE_NAME ist der Name des Instanzzeitplans, den Sie anhängen möchten.

Sie können überprüfen, ob der Instanzzeitplan erfolgreich ausgeführt wird. Sehen Sie sich dazu die Audit-Logs für die Ressourcenrichtlinie der Instanzzeitplanung und die angehängte VM-Instanz an. Sie müssen möglicherweise bis zu 15 Minuten nach der geplanten Zeit auf jeden Vorgang warten.

Instanzzeitplan an eine vorhandene VM-Instanz anhängen

Sie können einen Instanzzeitplan an jede vorhandene VM-Instanz anhängen, die sich in derselben Region wie der Instanzzeitplan befindet.

Console

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

    Zu Seite „VM-Instanzen“

  2. Klicken Sie oben auf der Seite auf den Tab Instanzzeitpläne. Dadurch wird eine Liste aller Instanzpläne für dieses Projekt angezeigt.

  3. Klicken Sie auf den Namen des Instanzzeitplans, den Sie anhängen möchten. Die Seite mit den Details des Instanzzeitplans wird geöffnet.

  4. Klicken Sie auf Instanzen zum Zeitplan hinzufügen. Der Bereich Instanzen zum Zeitplan hinzufügen wird geöffnet.

  5. Klicken Sie das Kästchen für jede VM-Instanz an, der Sie diesen Zeitplan hinzufügen möchten.

  6. Klicken Sie auf Add.

gcloud

Verwenden Sie den Befehl gcloud compute instances add-resource-policies, um mit der gcloud CLI einen Instanzzeitplan an eine VM-Instanz anzuhängen:

gcloud compute instances add-resource-policies VM_NAME \
    --resource-policies=SCHEDULE_NAME \
    [--zone=ZONE]

Ersetzen Sie Folgendes:

  • VM_NAME: der Name der VM-Instanz, an die Sie einen Instanzzeitplan anhängen möchten.
  • SCHEDULE_NAME ist der Name des Instanzzeitplans, den Sie anhängen möchten.
  • ZONE: Optional: Zone, in der sich Ihre Instanz befindet.

REST

Um mithilfe der Compute Engine API einen Instanzzeitplan an eine VM-Instanz anzuhängen, stellen Sie eine Anfrage mit der Methode instances.addResourcePolicies:

POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/addResourcePolicies
{
  "resourcePolicies": "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME"
}

Dabei gilt:

  • PROJECT: Ihre Projekt-ID
  • ZONE: Zone, in der sich Ihre VM-Instanz befindet.
  • VM_NAME: der Name der VM-Instanz, an die Sie einen Instanzzeitplan anhängen möchten.
  • REGION: Region, in der sich der Instanzzeitplan befindet.
  • SCHEDULE_NAME ist der Name des Instanzzeitplans, den Sie anhängen möchten.

Sie können überprüfen, ob der Instanzzeitplan erfolgreich ausgeführt wird. Sehen Sie sich dazu die Audit-Logs für die Ressourcenrichtlinie der Instanzzeitplanung und die angehängte VM-Instanz an. Sie müssen möglicherweise bis zu 15 Minuten nach der geplanten Zeit auf jeden Vorgang warten.

Instanzzeitplan aus einer VM-Instanz entfernen

Wenn Sie eine VM-Instanz nicht mehr nach einem Instanzzeitplan halten möchten, entfernen Sie diesen aus der VM-Instanz.

Console

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

    Zu Seite „VM-Instanzen“

  2. Klicken Sie oben auf der Seite auf den Tab Instanzzeitpläne. Eine Liste aller Instanzzeitpläne für dieses Projekt wird angezeigt.

  3. Klicken Sie auf den Namen des Instanzzeitplans, den Sie entfernen möchten. Die Seite mit den Details des Instanzzeitplans wird geöffnet.

  4. Klicken Sie unter Angehängte Instanzen das Kästchen für jede VM-Instanz an, die Sie aus diesem Zeitplan entfernen möchten.

  5. Klicken Sie auf Instanzen aus dem Zeitplan entfernen. Dadurch wird ein neues Dialogfeld zur Bestätigung dieser Aktion geöffnet.

  6. Klicken Sie im Dialogfeld auf Entfernen.

gcloud

Verwenden Sie den Befehl gcloud compute instances remove-resource-policies, um einen Instanzzeitplan aus einer VM-Instanz mit der gcloud CLI zu entfernen:

gcloud compute instances remove-resource-policies VM_NAME \
    --resource-policies=SCHEDULE_NAME \
    [--zone=ZONE]

Ersetzen Sie Folgendes:

  • VM_NAME: Der Name der VM-Instanz, aus der Sie einen Instanzzeitplan entfernen möchten.
  • SCHEDULE_NAME: der Name des Instanzzeitplans, den Sie entfernen möchten.
  • ZONE: Optional: Zone, in der sich Ihre Instanz befindet.

REST

Wenn Sie mithilfe der Compute Engine API einen Instanzzeitplan aus einer VM-Instanz entfernen möchten, stellen Sie eine Anfrage mit der Methode instances.removeResourcePolicies:

POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/removeResourcePolicies
{
  "resourcePolicies": "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME"
}

Dabei gilt:

  • PROJECT: Ihre Projekt-ID
  • ZONE: Zone, in der sich Ihre Instanz befindet.
  • VM_NAME: Der Name der VM-Instanz, aus der Sie einen Instanzzeitplan entfernen möchten.
  • REGION: Region, in der sich der Instanzzeitplan befindet.
  • SCHEDULE_NAME: der Name des Instanzzeitplans, den Sie entfernen möchten.

Nächste Schritte