Anhand von Zeitplänen skalieren


Mit dem zeitplanbasierten Autoscaling lässt sich die Verfügbarkeit von Arbeitslasten verbessern, da die Kapazität anhand der erwarteten Last im Voraus geplant werden kann. Wenn Sie Ihre Arbeitslast in einer verwalteten Instanzgruppe (Managed Instance Group, MIG) ausführen, können Sie eine erforderliche Anzahl von VM-Instanzen für wiederkehrende Lastmuster sowie einmalige Ereignisse planen. Verwenden Sie Skalierungspläne, wenn die Initialisierung Ihrer Arbeitslast sehr lange dauert und eine horizontale Skalierung vor erwarteten Lastspitzen erfolgen soll.

In diesem Dokument wird beschrieben, wie Sie Skalierungspläne für eine vorhandene MIG erstellen, auflisten, bearbeiten, deaktivieren und wieder aktivieren. Weitere Informationen zu MIGs und Autoscaling finden Sie unter Verwaltete Instanzgruppen erstellen und Autoscaling von Instanzgruppen.

Hinweise

  • Grundlagen von Autoscaling
  • 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 wie folgt bei 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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      Wenn Sie die Terraform-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Weitere Informationen unter Set up authentication for a local development environment.

      REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Beschränkungen

Für Skalierungspläne gelten dieselben Beschränkungen wie für alle Autoscalings sowie die folgenden Beschränkungen:

  • Pro MIG sind 128 Skalierungspläne möglich. Sie können dieses Limit umgehen, indem Sie Skalierungspläne löschen, die den Status OBSOLETE haben oder nicht noch einmal ausgeführt werden sollen.
  • Die Mindestdauer für Skalierungspläne beträgt fünf Minuten.

Skalierungsplan erstellen

Pro MIG können maximal 128 Skalierungspläne erstellt werden. Weitere Informationen finden Sie unter Skalierungsplaneinstellungen.

In der folgenden Anleitung wird erläutert, wie Sie einen Skalierungsplan für eine MIG erstellen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie in der Liste auf den Namen einer MIG.

  3. Klicken Sie auf  Bearbeiten.

  4. Wenn keine Autoscaling-Konfiguration vorhanden ist:

    1. Klicken Sie unter Autoscaling auf Autoscaling konfigurieren.
    2. Wählen Sie unter Autoscaling-Modus die Option Ein: Der Gruppe Instanzen hinzufügen und daraus entfernen aus, um Autoscaling zu aktivieren. Wenn Sie Ihre MIG nur anhand von Zeitplänen skalieren möchten, löschen Sie den Standardmesswert zur CPU-Auslastung, nachdem Sie die Zeitpläne hinzugefügt haben.
  5. Für jeden Skalierungsplan, den Sie hinzufügen möchten, gilt:

    1. Maximieren Sie den Bereich Autoscaling-Zeitpläne, klicken Sie auf Zeitpläne verwalten und dann auf Zeitplan erstellen.
    2. Geben Sie im neuen Bereich Zeitplan erstellen einen Namen ein.
    3. Optional: Geben Sie eine Beschreibung ein.
    4. Geben Sie die Mindestanzahl erforderlicher Instanzen ein, die von diesem Zeitplan bereitgestellt werden, wenn er aktiv ist.
    5. Geben Sie die Startzeit und Wiederholung Ihres Skalierungsplans entweder über die Standardschnittstelle oder, wenn Sie einen Zeitplan mit einer komplexeren Startzeit und Wiederholung konfigurieren möchten, mithilfe eines Cron-Ausdrucks an.
      • Standardschnittstelle
        1. Geben Sie im Feld Start einen Wert ein oder klicken Sie auf , um eine Startzeit auszuwählen.
        2. Wählen Sie im Feld Wiederholung aus, wie oft der Zeitplan wiederholt werden soll. Wenn Sie Jede Woche oder Jeden Monat auswählen, können Sie im zusätzlichen Drop-down-Menü auswählen, an welchen Tagen der Woche oder des Monats der Zeitplan beginnt.
      • CRON-Ausdruck
        1. Klicken Sie zum Aktivieren auf die Schaltfläche CRON-Ausdruck verwenden.
        2. Geben Sie einen CRON-Ausdruck ein.
    6. Wählen Sie im Feld Zeitzone eine Zeitzone aus.

    7. Geben Sie in den Feldern Dauer und Zeiteinheit eine Dauer ein und wählen Sie eine entsprechende Zeiteinheit aus.

    8. Klicken Sie auf Speichern. Der Bereich Skalierungspläne wird geöffnet.

    9. Optional: Sie können einen weiteren Skalierungsplan erstellen. Klicken Sie dazu auf Zeitplan erstellen.

  6. Klicken Sie abschließend auf Fertig.

  7. Klicken Sie zum Schließen der Seite Instanzgruppen auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud compute instance-groups managed set-autoscaling, um einer MIG einen Skalierungsplan in einer vorhandenen Autoscaling-Richtlinie hinzuzufügen.

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
    [--min-num-replicas=MIN_NUM_REPLICAS] \
    --max-num-replicas=MAX_NUM_REPLICAS \
    --set-schedule=SCHEDULE_NAME \
    --schedule-cron="CRON_EXPRESSION" \
    --schedule-duration-sec=DURATION \
    [--schedule-time-zone="TIME_ZONE"] \
    --schedule-min-required-replicas=MIN_REQ_REPLICAS \
    [--schedule-description="DESCRIPTION"] \
    [--zone=ZONE | --region=REGION]

Verwenden Sie den Befehl gcloud compute instance-groups managed update-autoscaling, um einer MIG mit einer vorhandenen Autoscaling-Richtlinie einen Skalierungsplan hinzuzufügen.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    [--min-num-replicas=MIN_NUM_REPLICAS] \
    [--max-num-replicas=MAX_NUM_REPLICAS] \
    --set-schedule=SCHEDULE_NAME \
    --schedule-cron="CRON_EXPRESSION" \
    --schedule-duration-sec=DURATION \
    [--schedule-time-zone="TIME_ZONE"] \
    --schedule-min-required-replicas=MIN_REQ_REPLICAS \
    [--schedule-description="DESCRIPTION"] \
    [--zone=ZONE | --region=REGION]

Ersetzen Sie Folgendes:

  • MIG_NAME: Name einer MIG mit einer vorhandenen Autoscaling-Richtlinie
  • MIN_NUM_REPLICAS (optional): Mindestanzahl von Instanzen, die für diese MIG erforderlich sind. Google empfiehlt, diesen Wert auf die Mindestanzahl von Instanzen zu setzen, die Sie benötigen, wenn kein Skalierungsplan aktiv ist. Wenn Sie diesen Wert auf 0 setzen und die automatische Skalierung mit Zeitplänen oder Cloud Monitoring-Messwerten mit einzelnen Zeitachsen pro Gruppe konfigurieren, kann Ihr MIG auf 0 VMs herunterskalieren. Das Herunterskalieren auf 0 VMs ist nicht möglich, wenn die Richtlinie andere Signale hat, die Daten von einzelnen VMs erfordern, z. B. CPU-Auslastung.
  • MAX_NUM_REPLICAS: Höchstanzahl von Instanzen, die jemals für diese MIG bereitgestellt werden können. Optional für eine MIG mit einer vorhandenen Autoscaling-Richtlinie.
  • SCHEDULE_NAME: Name des neuen Skalierungsplans
  • CRON_EXPRESSION: Startzeit und Wiederholung dieses Zeitplans im Format eines Cron-Ausdrucks
  • DURATION: Dauer in Sekunden, für die dieser Zeitplan aktiv ist
  • TIME_ZONE (optional): IANA-Zeitzone für die Startzeit des Zeitplans, z. B. Europe/Paris Der Standardwert ist UTC.
  • MIN_REQ_REPLICAS: Mindestanzahl erforderlicher Instanzen, die von diesem Zeitplan bereitgestellt werden, wenn er aktiv ist
  • DESCRIPTION (optional): Beschreibung des neuen Skalierungsplans
  • ZONE oder REGION (optional): Zone oder Region, in der sich die MIG befindet

Sie können Zeitpläne erstellen, die einmal ausgeführt werden oder sich regelmäßig wiederholen.

Sich wiederholender Zeitplan

Mit diesem Beispielbefehl wird ein Zeitplan erstellt, der sich wiederholt. Dieser Zeitplan legt fest, dass die MIG an jedem Montag, Dienstag, Mittwoch, Donnerstag und Freitag von 8:30 Uhr bis 17:00 Uhr UTC (Coordinated Universal Time, koordinierte Weltzeit) mindestens 10 VM-Instanzen enthalten muss. In diesem Befehl werden außerdem die Flags --min-num-replicas und --max-num-replicas verwendet, um die Mindest- und Höchstanzahl von Instanzen für alle Autoscaling-Signale der ausgewählten MIG auf 0 bzw. 30 zu aktualisieren. Bei diesem Befehl wird davon ausgegangen, dass Sie eine vorhandene MIG namens example-mig mit einer vorhandenen Autoscaling-Richtlinie haben.

gcloud compute instance-groups managed update-autoscaling example-mig \
    --min-num-replicas=0 \
    --max-num-replicas=30 \
    --set-schedule=workday-capacity \
    --schedule-cron="30 8 * * Mon-Fri" \
    --schedule-duration-sec=30600 \
    --schedule-min-required-replicas=10 \
    --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"

Einmaliger Zeitplan

Mit diesem Beispielbefehl wird ein Zeitplan erstellt, der einmalig ausgeführt wird. Dieser Zeitplan legt fest, dass die MIG am 30. Januar 2030 in der Zeitzone America/New_York den ganzen Tag über mindestens 30 VM-Instanzen enthalten muss. Bei diesem Befehl wird davon ausgegangen, dass Sie eine vorhandene MIG namens example-mig in us-east1-b mit einer vorhandenen Autoscaling-Richtlinie haben.

gcloud compute instance-groups managed update-autoscaling example-mig \
    --set-schedule=example-onetime-schedule \
    --schedule-cron="0 0 30 1 * 2030" \
    --schedule-duration-sec=86400 \
    --schedule-time-zone="America/New_York" \
    --schedule-min-required-replicas=30 \
    --schedule-description="Schedule a minimum of 30 VMs all day for January 30, 2030" \
    --zone=us-east1-b

Terraform

Verwenden Sie die Ressource google_compute_autoscaler, um einer MIG einen Skalierungsplan hinzuzufügen.

resource "google_compute_autoscaler" "default" {
  provider = google-beta
  name     = "my-autoscaler"
  zone     = "us-central1-f"
  target   = google_compute_instance_group_manager.default.id

  autoscaling_policy {
    max_replicas    = 5
    min_replicas    = 1
    cooldown_period = 60

    scaling_schedules {
      name                  = "every-weekday-morning"
      description           = "Increase to 2 every weekday at 7AM for 12 hours."
      min_required_replicas = 2
      schedule              = "0 7 * * MON-FRI"
      time_zone             = "America/New_York"
      duration_sec          = 43200
    }
  }
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

REST

Verwenden Sie die Betamethode autoscalers.insert für eine zonale MIG oder die Betamethode regionAutoscalers.insert für eine regionale MIG, um Autoscaling mit Skalierungsplänen für eine MIG zu erstellen.

Mit dem folgenden Aufruf können Sie einen Zeitplan für eine zonale MIG erstellen, die keine vorhandene Autoscaling-Richtlinie hat:

POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers/

{
  "name": "AUTOSCALER_NAME",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/MIG_NAME",
  "autoscalingPolicy": {
    "minNumReplicas": MIN_NUM_REPLICAS,
    "maxNumReplicas": MAX_NUM_REPLICAS,
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "minRequiredReplicas": MIN_REQ_REPLICAS,
        "schedule": "CRON_EXPRESSION",
        "timeZone": "TIME_ZONE",
        "durationSec": DURATION,
        "description": "DESCRIPTION"
      },
      ...
    }
  }
}

Verwenden Sie die Methode autoscalers.patch für eine zonale MIG oder die Methode regionAutoscalers.patch für eine regionale MIG, um Zeitpläne für eine MIG mit einer vorhandenen Autoscaling-Richtlinie zu erstellen.

Mit dem folgenden Aufruf können Sie beispielsweise einen Zeitplan für eine zonale MIG mit einer vorhandenen Autoscaling-Richtlinie erstellen:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "minNumReplicas": MIN_NUM_REPLICAS,
    "maxNumReplicas": MAX_NUM_REPLICAS,
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "minRequiredReplicas": MIN_REQ_REPLICAS,
        "schedule": "CRON_EXPRESSION",
        "timeZone": "TIME_ZONE",
        "durationSec": DURATION,
        "description": "DESCRIPTION"
      },
      ...
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT: Ihre Projekt-ID
  • ZONE: Zone, in der sich die MIG befindet
  • AUTOSCALER_NAME: Name eines vorhandenen Autoscalings (oft mit dem Namen der MIG identisch)
  • MIN_NUM_REPLICAS (optional): Mindestanzahl von Instanzen, die für diese MIG erforderlich sind. Google empfiehlt, diesen Wert auf die Mindestanzahl von Instanzen zu setzen, die Sie benötigen, wenn kein Skalierungsplan aktiv ist. Wenn Sie diesen Wert auf 0 setzen und die automatische Skalierung mit Zeitplänen oder Cloud Monitoring-Messwerten mit einzelnen Zeitachsen pro Gruppe konfigurieren, kann Ihr MIG auf 0 VMs herunterskalieren. Das Herunterskalieren auf 0 VMs ist nicht möglich, wenn die Richtlinie andere Signale hat, die Daten von einzelnen VMs erfordern, z. B. CPU-Auslastung.
  • MAX_NUM_REPLICAS: Höchstanzahl von Instanzen, die jemals für diese MIG bereitgestellt werden können. Optional für eine MIG mit einer vorhandenen Autoscaling-Richtlinie.
  • SCHEDULE_NAME: Name des neuen Skalierungsplans
  • MIN_REQ_REPLICAS: Mindestanzahl erforderlicher Instanzen, die von diesem Zeitplan bereitgestellt werden, wenn er aktiv ist
  • CRON_EXPRESSION: Startzeit und Wiederholung dieses Zeitplans im Format eines Cron-Ausdrucks
  • TIME_ZONE (optional): IANA-Zeitzone für die Startzeit des Zeitplans, z. B. Europe/Paris Der Standardwert ist UTC.
  • DURATION: Dauer in Sekunden, für die dieser Zeitplan aktiv ist
  • DESCRIPTION (optional): Beschreibung des neuen Skalierungsplans

Sie können Zeitpläne erstellen, die einmal ausgeführt werden oder sich regelmäßig wiederholen.

Sich wiederholender Zeitplan

Mit diesem exemplarischen API-Aufruf wird ein Zeitplan erstellt, der sich wiederholt. Dieser Zeitplan legt fest, dass eine zonale MIG an jedem Montag, Dienstag, Mittwoch, Donnerstag und Freitag von 8:30 Uhr bis 17:00 Uhr UTC (Coordinated Universal Time, koordinierte Weltzeit) mindestens 10 VM-Instanzen enthalten muss. In diesem API-Aufruf werden außerdem die Felder minNumReplicas und maxNumReplicas verwendet, um die Mindest- und Höchstanzahl von Instanzen für alle Autoscaling-Signale der ausgewählten MIG auf 0 bzw. 30 zu aktualisieren. Bei diesem API-Aufruf wird davon ausgegangen, dass Sie ein vorhandenes Projekt namens example-project mit einer zonalen MIG haben, die sich in us-east1-b befindet und ein Autoscaling namens example-autoscaler mit einer vorhandenen Autoscaling-Richtlinie hat.

PATCH https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler

{
  "autoscalingPolicy": {
    "minNumReplicas": 0,
    "maxNumReplicas": 30,
    "scalingSchedules": {
      "workday-capacity": {
        "minRequiredReplicas": 10,
        "schedule": "30 8 * * Mon-Fri",
        "durationSec": 30600,
        "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
      }
    }
  }
}

Wenn Sie dieses Beispiel für eine regionale MIG verwenden möchten, stellen Sie eine ähnliche Anfrage mit der Methode regionAutoscalers.patch und geben Sie eine Region anstelle einer Zone an.

Einmaliger Zeitplan

Mit diesem exemplarischen API-Aufruf wird ein Zeitplan erstellt, der einmalig ausgeführt wird. Dieser Zeitplan legt fest, dass eine zonale MIG am 30. Januar 2030 in der Zeitzone America/New_York den ganzen Tag über mindestens 30 VM-Instanzen enthalten muss. Bei diesem API-Aufruf wird davon ausgegangen, dass Sie ein vorhandenes Projekt namens example-project mit einer zonalen MIG haben, die sich in us-east1-b befindet und ein Autoscaling namens example-autoscaler mit einer vorhandenen Autoscaling-Richtlinie hat.

PATCH https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "example-onetime-schedule": {
        "minRequiredReplicas": 30,
        "schedule": "0 0 30 1 * 2030",
        "timeZone": "America/New_York",
        "durationSec": 86400,
        "description": "Schedule a minimum of 30 VMs all day for January 30, 2030"
      }
    }
  }
}

Wenn Sie dieses Beispiel für eine regionale MIG verwenden möchten, stellen Sie eine ähnliche Anfrage mit der Methode regionAutoscalers.patch und geben Sie eine Region anstelle einer Zone an.

Mehrere Zeitpläne

In diesem exemplarischen API-Aufruf wird die Methode autoscalers.patch für die zwei Zeitpläne workday-capacity und january-30-2030-schedule in einem einzigen Aufruf verwendet. Bei diesem API-Aufruf wird davon ausgegangen, dass Sie ein vorhandenes Projekt namens example-project mit einer zonalen MIG haben, die sich in us-east1-b befindet und ein Autoscaling namens example-autoscaler mit einer vorhandenen Autoscaling-Richtlinie hat.

PATCH https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "workday-capacity": {
        "minRequiredReplicas": 10,
        "schedule": "30 8 * * Mon-Fri",
        "durationSec": 30600,
        "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
      },
      "january-30-2030-schedule": {
        "minRequiredReplicas": 30,
        "schedule": "0 0 30 1 * 2030",
        "timeZone": "America/New_York",
        "durationSec": 86400,
        "description": "Schedule a minimum of 30 VMs all day for January 30, 2030"
      }
    }
  }
}

Wenn Sie dieses Beispiel für eine regionale MIG verwenden möchten, stellen Sie eine ähnliche Anfrage mit der Methode regionAutoscalers.patch und geben Sie eine Region anstelle einer Zone an.

Nach dem Erstellen eines Zeitplans müssen Sie eventuell einige Minuten warten, bis dessen Statusinformationen angezeigt werden.

Skalierungspläne auflisten

Sie können eine Liste der Zeitpläne für eine MIG aufrufen. Die Liste enthält die Einstellungen und Statusinformationen jedes Zeitplans.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie in der Liste auf den Namen einer MIG.

  3. Klicken Sie auf  Bearbeiten.

  4. Die Gesamtzahl der Zeitpläne finden Sie unter Autoscaling-Zeitpläne. Klicken Sie auf Zeitpläne verwalten, um die Liste Ihrer vorhandenen Skalierungspläne aufzurufen.

Wenn Sie fertig sind, können Sie die Liste schließen. Klicken Sie dazu auf Fertig.

gcloud

Verwenden Sie den Befehl gcloud compute instance-groups managed describe, um Details zu einer MIG abzurufen, einschließlich der Konfigurationen und Statuswerte der zugehörigen Skalierungspläne.

gcloud compute instance-groups managed describe MIG_NAME \
    [--zone=ZONE | --region=REGION]

Ersetzen Sie Folgendes:

  • MIG_NAME: Name einer MIG mit einer vorhandenen Autoscaling-Richtlinie
  • ZONE oder REGION (optional): Zone oder Region, in der sich die MIG befindet

Alle Skalierungspläne für die MIG werden wie im folgenden Beispiel gezeigt in der Ausgabe aufgeführt.

...
autoscalingPolicy:
  ...
  maxNumReplicas: 30
  minNumReplicas: 0
  ...
  scalingSchedules:
    example-onetime-schedule:
      description: Schedule a minimum of 30 VMs all day for January 30, 2030
      disabled: false
      durationSec: 86400
      minRequiredReplicas: 30
      schedule: 0 0 30 1 * 2030
      timeZone: America/New_York
    workday-capacity:
      description: Have at least 10 VMs every Monday through Friday from 8:30
        AM to 5 PM UTC
      disabled: false
      durationSec: 30600
      minRequiredReplicas: 10
      schedule: 30 8 * * Mon-Fri
      timeZone: UTC
...
scheduledScalingStatus:
    example-onetime-schedule:
        state: READY
        nextStartTime: '2030-01-30T00:00:00.000-05:00'
        lastStartTime: ''
    workday-capacity:
        state: READY
        nextStartTime: '2020-11-04T08:30:00.000-00:00'
        lastStartTime: '2020-11-03T08:30:00.000-00:00'
...

REST

Verwenden Sie die Methode autoscalers.get für eine zonale MIG oder die Methode regionAutoscalers.get für eine regionale MIG, um Details zu einem Autoscaling abzurufen, einschließlich der Konfigurationen und Statuswerte der zugehörigen Skalierungspläne.

Mit dem folgenden Aufruf können Sie beispielsweise die Zeitpläne für eine zonale MIG mit einer vorhandenen Autoscaling-Richtlinie auflisten:

GET https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

Ersetzen Sie Folgendes:

  • PROJECT: Ihre Projekt-ID
  • ZONE: Zone, in der sich die MIG befindet
  • AUTOSCALER_NAME: Name eines vorhandenen Autoscalings (oft mit dem Namen der MIG identisch)

Alle Skalierungspläne für die MIG werden wie im folgenden Beispiel gezeigt in der Ausgabe aufgeführt.

{
  ...
  "autoscalingPolicy": {
    ...
    "minNumReplicas": 0,
    "maxNumReplicas": 30,
    ...
    "scalingSchedules": {
      "example-onetime-schedule": {
        "minRequiredReplicas": 30,
        "schedule": "0 0 30 1 * 2030",
        "timeZone": "America/New_York",
        "durationSec": 86400,
        "description": "Schedule a minimum of 30 VMs all day for January 30, 2030",
        "disabled": false
      },
      "workday-capacity": {
        "minRequiredReplicas": 10,
        "schedule": "30 8 * * Mon-Fri",
        "timeZone": "",
        "durationSec": 30600,
        "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC",
        "disabled": false
      },
      ...
    }
  },
  "scheduledScalingStatus": {
    "example-onetime-schedule": {
      "state": "READY",
      "nextStartTime": "2030-01-30T00:00:00.000-05:00",
      "lastStartTime": ''
    },
    "workday-capacity": {
      "state": "READY",
      "nextStartTime": "2020-11-04T08:30:00.000",
      "lastStartTime": "2020-11-03T08:30:00.000"
    },
    ...
  },
...
}

Skalierungsplan bearbeiten

Sie können einen vorhandenen Skalierungszeitplan bearbeiten, um alle Einstellungen außer dem Namen des Zeitplans zu ändern. Außerdem haben Sie die Möglichkeit, einen Skalierungsplan zu deaktivieren oder wieder zu aktivieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie in der Liste auf den Namen einer MIG.

  3. Klicken Sie auf  Bearbeiten.

  4. Die Gesamtzahl der Zeitpläne finden Sie unter Autoscaling-Zeitpläne. Klicken Sie auf Zeitpläne verwalten, um die Liste Ihrer vorhandenen Skalierungspläne aufzurufen.

  5. Klicken Sie das Kästchen für den Skalierungsplan an, den Sie bearbeiten möchten.

  6. Klicken Sie oben im Bereich Skalierungspläne auf Bearbeiten.

  7. Ändern Sie im neuen Bereich Skalierungsplan bearbeiten die Felder, die Sie ändern möchten. Weitere Informationen zu den einzelnen Feldern finden Sie unter Skalierungsplan erstellen.

  8. Wenn Sie fertig sind, klicken Sie auf Speichern.

Es kann einige Minuten dauern, bis die Änderungen wirksam werden. Sie können den Status Ihrer Zeitpläne überwachen. Klicken Sie dazu oben im Bereich Skalierungspläne auf Aktualisieren.

Wenn Sie fertig sind, können Sie die Liste schließen. Klicken Sie dazu auf Fertig.

gcloud

Verwenden Sie den Befehl gcloud compute instance-groups managed update-autoscaling, um einen vorhandenen Skalierungsplan zu aktualisieren. Mit dem Flag --update-schedule geben Sie den Namen des zu aktualisierenden Zeitplans an. Fügen Sie die anderen Flags entsprechend den erforderlichen Änderungen hinzu.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    --update-schedule=SCHEDULE_NAME \
    [--schedule-cron="CRON_EXPRESSION"] \
    [--schedule-duration-sec=DURATION] \
    [--schedule-time-zone="TIME_ZONE"] \
    [--schedule-min-required-replicas=MIN_REQ_REPLICAS] \
    [--schedule-description="DESCRIPTION"] \
    [--zone=ZONE | --region=REGION]

Ersetzen Sie Folgendes:

  • MIG_NAME: Name einer MIG mit einem vorhandenen Skalierungsplan
  • SCHEDULE_NAME: Name des vorhandenen Skalierungsplans
  • CRON_EXPRESSION (optional): neue Startzeit und Wiederholung dieses Zeitplans im Format eines Cron-Ausdrucks
  • DURATION (optional): neue Dauer in Sekunden, für die dieser Zeitplan aktiv ist
  • TIME_ZONE (optional): neue IANA-Zeitzone für die Startzeit des Zeitplans, z. B. Europe/Paris Der Standardwert ist UTC.
  • MIN_REQ_REPLICAS (optional): neue Mindestanzahl erforderlicher Instanzen, die von diesem Zeitplan bereitgestellt werden, wenn er aktiv ist
  • DESCRIPTION (optional): neue Beschreibung des Skalierungsplans
  • ZONE oder REGION (optional): Zone oder Region, in der sich die MIG befindet

REST

Verwenden Sie die Methode autoscalers.patch für eine zonale MIG oder die Methode regionAutoscalers.patch für eine regionale MIG, um die vorhandenen Skalierungspläne für eine MIG zu aktualisieren.

Mit dem folgenden Aufruf können Sie beispielsweise einen Zeitplan für eine zonale MIG mit einer vorhandenen Autoscaling-Richtlinie bearbeiten:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "minRequiredReplicas": MIN_REQ_REPLICAS,
        "schedule": "CRON_EXPRESSION",
        "timeZone": "TIME_ZONE",
        "durationSec": DURATION,
        "description": "DESCRIPTION"
      },
      ...
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT: Ihre Projekt-ID
  • ZONE: Zone, in der sich die MIG befindet
  • AUTOSCALER_NAME: Name eines vorhandenen Autoscalings (oft mit dem Namen der MIG identisch)
  • SCHEDULE_NAME: Name des vorhandenen Skalierungsplans
  • MIN_REQ_REPLICAS (optional): neue Mindestanzahl erforderlicher Instanzen, die von diesem Zeitplan bereitgestellt werden, wenn er aktiv ist
  • CRON_EXPRESSION (optional): neue Startzeit und Wiederholung dieses Zeitplans im Format eines Cron-Ausdrucks
  • TIME_ZONE (optional): neue IANA-Zeitzone für die Startzeit des Zeitplans, z. B. Europe/Paris Der Standardwert ist UTC.
  • DURATION (optional): neue Dauer in Sekunden, für die dieser Zeitplan aktiv ist
  • DESCRIPTION (optional): neue Beschreibung des Skalierungsplans

Skalierungsplan deaktivieren und wieder aktivieren

Skalierungspläne sind standardmäßig aktiviert. Deaktivieren Sie einen Zeitplan, wenn er nicht aktiv sein soll, seine Konfiguration aber gespeichert werden soll. Wenn Sie einen deaktivierten Zeitplan noch einmal verwenden möchten, aktivieren Sie ihn wieder.

Löschen Sie den Zeitplan, wenn Sie den Zeitplan nicht speichern müssen oder das Zeitplanlimit von 128 für die jeweilige MIG erreicht haben. Wenn Sie Autoscaling für eine MIG deaktivieren möchten, deaktivieren Sie das Autoscaling.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie in der Liste auf den Namen einer MIG.

  3. Klicken Sie auf  Bearbeiten.

  4. Die Gesamtzahl der Zeitpläne finden Sie unter Autoscaling-Zeitpläne. Klicken Sie auf Zeitpläne verwalten, um die Liste Ihrer vorhandenen Skalierungspläne aufzurufen.

  5. Klicken Sie die Kästchen für die Skalierungspläne an, die Sie deaktivieren oder aktivieren möchten.

  6. Die ausgewählten Zeitpläne deaktivieren oder aktivieren.

    • So deaktivieren Sie die ausgewählten Zeitpläne:
      1. Klicken Sie oben im Bereich Skalierungspläne auf Deaktivieren.
      2. Klicken Sie im neuen Dialogfeld Zeitpläne deaktivieren auf Deaktivieren.
    • So aktivieren Sie die ausgewählten Zeitpläne:
      1. Klicken Sie oben im Bereich Skalierungspläne auf Aktivieren.
      2. Klicken Sie im neuen Dialogfeld Zeitpläne aktivieren auf Aktivieren.

Es kann einige Minuten dauern, bis die Änderungen wirksam werden. Sie können den Status Ihrer Zeitpläne überwachen. Klicken Sie dazu oben im Bereich Skalierungspläne auf Aktualisieren.

Wenn Sie fertig sind, können Sie die Liste schließen. Klicken Sie dazu auf Fertig.

gcloud

Verwenden Sie den Befehl gcloud compute instance-groups managed update-autoscaling, um einen Skalierungsplan zu deaktivieren oder wieder zu aktivieren.

Skalierungsplan deaktivieren

Verwenden Sie das Flag --disable-schedule, um einen Skalierungsplan zu deaktivieren.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    --disable-schedule=SCHEDULE_NAME \
    [--zone=ZONE | --region=REGION]

Ersetzen Sie Folgendes:

  • MIG_NAME: Name einer MIG mit einem vorhandenen Skalierungsplan
  • SCHEDULE_NAME: Name des Skalierungsplans, den Sie deaktivieren möchten
  • ZONE oder REGION (optional): Zone oder Region, in der sich die MIG befindet

Skalierungsplan wieder aktivieren

Mit dem Flag --enable-schedule können Sie einen Skalierungsplan wieder aktivieren.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    --enable-schedule=SCHEDULE_NAME \
    [--zone=ZONE | --region=REGION]

Ersetzen Sie Folgendes:

  • MIG_NAME: Name einer MIG mit einem vorhandenen Skalierungsplan
  • SCHEDULE_NAME: Name des Skalierungsplans, den Sie wieder aktivieren möchten
  • ZONE oder REGION (optional): Zone oder Region, in der sich die MIG befindet

REST

Verwenden Sie die Methode autoscalers.patch für eine zonale MIG oder die Methode regionAutoscalers.patch für eine regionale MIG, um Skalierungspläne für eine MIG zu deaktivieren oder wieder zu aktivieren.

Skalierungspläne deaktivieren

Legen Sie für jeden Skalierungsplan, den Sie deaktivieren möchten, das Feld disabled auf true fest. Mit dem folgenden Aufruf können Sie beispielsweise einen Zeitplan für eine zonale MIG mit einer vorhandenen Autoscaling-Richtlinie deaktivieren:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "disabled": true
      },
      ...
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT: Ihre Projekt-ID
  • ZONE: Zone, in der sich die MIG befindet
  • AUTOSCALER_NAME: Name eines vorhandenen Autoscalings (oft mit dem Namen der MIG identisch)
  • SCHEDULE_NAME: Name des Skalierungsplans, den Sie deaktivieren möchten

Skalierungspläne wieder aktivieren

Legen Sie für jeden Skalierungsplan, den Sie wieder aktivieren möchten, das Feld disabled auf false fest. Mit dem folgenden Aufruf können Sie beispielsweise einen Zeitplan für eine zonale MIG mit einer vorhandenen Autoscaling-Richtlinie wieder aktivieren:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "disabled": false
      },
      ...
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT: Ihre Projekt-ID
  • ZONE: Zone, in der sich die MIG befindet
  • AUTOSCALER_NAME: Name eines vorhandenen Autoscalings (oft mit dem Namen der MIG identisch)
  • SCHEDULE_NAME: Name des Skalierungsplans, den Sie wieder aktivieren möchten

Skalierungsplan löschen

Zum Entfernen von Skalierungsplänen aus einer MIG müssen Sie diese löschen. Sie können Zeitpläne löschen, die Sie nicht mehr benötigen, beispielsweise Zeitpläne mit dem Status OBSOLETE.

Eine Autoscaling-Richtlinie muss immer mindestens ein Skalierungssignal haben. Wenn kein anderes Autoscaling-Signal vorhanden ist, können Sie nicht alle Skalierungspläne löschen, ohne die gesamte Autoscaling-Richtlinie zu löschen. Wenn Sie alle Skalierungspläne löschen möchten, aber die Autoscaling-Richtlinie beibehalten möchten, müssen Sie mindestens ein Skalierungssignal hinzufügen, bevor Sie alle Zeitpläne löschen.

Falls ein Zeitplan nicht aktiv werden soll und Sie ihn für die zukünftige Verwendung speichern möchten, deaktivieren Sie den Zeitplan. Wenn Sie die Autoscaling-Konfiguration für eine MIG löschen möchten, löschen Sie das Autoscaling.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie in der Liste auf den Namen einer MIG.

  3. Klicken Sie auf  Bearbeiten.

  4. Die Gesamtzahl der Zeitpläne finden Sie unter Autoscaling-Zeitpläne. Klicken Sie auf Zeitpläne verwalten, um die Liste Ihrer vorhandenen Skalierungspläne aufzurufen.

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

  6. Klicken Sie oben im Bereich Skalierungspläne auf Löschen.

  7. Klicken Sie im neuen Dialogfeld Zeitpläne löschen auf Löschen.

Es kann einige Minuten dauern, bis die Änderungen wirksam werden. Sie können den Status Ihrer Zeitpläne überwachen. Klicken Sie dazu oben im Bereich Skalierungspläne auf Aktualisieren.

Wenn Sie fertig sind, können Sie die Liste schließen. Klicken Sie dazu auf Fertig.

gcloud

Verwenden Sie den Befehl gcloud compute instance-groups managed update-autoscaling mit dem Flag --remove-schedule, um einen Skalierungsplan zu löschen.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    --remove-schedule=SCHEDULE_NAME \
    [--zone=ZONE | --region=REGION]

Ersetzen Sie Folgendes:

  • MIG_NAME: Name einer MIG mit einem vorhandenen Skalierungsplan
  • SCHEDULE_NAME: Name des Skalierungsplans, den Sie löschen möchten
  • ZONE oder REGION (optional): Zone oder Region, in der sich die MIG befindet

REST

Verwenden Sie die Methode autoscalers.patch für eine zonale MIG oder die Methode regionAutoscalers.patch für eine regionale MIG, um Skalierungspläne einer MIG zu löschen. Legen Sie für jeden Skalierungsplan, den Sie löschen möchten, die Zeitplankonfiguration auf null fest.

Mit dem folgenden Aufruf können Sie beispielsweise einen Zeitplan einer zonalen MIG mit einer vorhandenen Autoscaling-Richtlinie löschen:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "SCHEDULE_NAME": null
      ...
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT: Ihre Projekt-ID
  • ZONE: Zone, in der sich die MIG befindet
  • AUTOSCALER_NAME: Name eines vorhandenen Autoscalings (oft mit dem Namen der MIG identisch)
  • SCHEDULE_NAME: Name des Skalierungsplans, den Sie löschen möchten

Konzepte

In diesem Abschnitt werden Konzepte in Bezug auf das Erstellen und Verwenden von Skalierungsplänen beschrieben, einschließlich Zeitplaneinstellungen und Details zur Funktionsweise.

Zeitplaneinstellungen

Wenn Sie die Skalierungspläne für eine MIG erstellen und ändern, enthält jeder Skalierungsplan die folgenden Einstellungen:

  • Mindestanzahl erforderlicher Instanzen: die Anzahl von VMs, die Sie in der MIG benötigen, wenn dieser Skalierungsplan aktiv ist

    Wenn dieser Zeitplan aktiv ist, enthält die MIG mindestens diese Anzahl von VMs, kann aber auch abhängig von anderen Autoscaling-Einstellungen mehr haben. Außerdem wird die MIG-Größe immer durch die Mindest- und Höchstanzahl von Instanzen beschränkt, die in den Autoscaling-Einstellungen der MIG konfiguriert sind.

  • Zeitzone: die standortbasierte IANA-Zeitzone zur Interpretation der Startzeit des Zeitplans

    Eine Liste der verfügbaren Werte wird durch die IANA-Zeitzonendatenbank definiert, z. B. Europe/Paris. Wenn keine Zeitzone angegeben ist, wird standardmäßig UTC verwendet. Einige IANA-Zeitzonen berücksichtigen die Sommerzeit. Wie sich die Sommerzeit auf die Skalierungszeitpläne auswirkt, erfahren Sie unter Sommerzeit.

  • Dauer: der Zeitraum, während dessen der Skalierungsplan aktiv sein soll

    Der Skalierungsplan ist ab seiner Startzeit während der konfigurierten Dauer aktiv. Die Mindestdauer beträgt 5 Minuten. Während dieser Zeit wird die MIG vom Autoscaling so skaliert, dass sie mindestens so viele VM-Instanzen enthält, wie im Zeitplan als erforderlich definiert sind. Wenn die aktuelle Kapazität nach der angegebenen Dauer nicht mehr benötigt wird, beginnt das Autoscaling nach einem standardmäßigen 10-minütigen Stabilisierungszeitraum mit dem Entfernen von VM-Instanzen, wobei alle eventuell konfigurierten Steuerelemente für die Herunterskalierung berücksichtigt werden.

    Skalierungspläne sind bidirektional. VMs werden zu der von Ihnen angegebenen Haltezeit entfernt und die Gruppengröße wird auf die von Ihnen festgelegte Mindestgröße verringert, sofern Sie keine anderen Autoscaling-Signale angegeben haben.

Bei Verwendung der Google Cloud CLI oder REST müssen Sie die Startzeit und Wiederholung eines Skalierungsplans mithilfe eines Cron-Ausdrucks konfigurieren. In der Google Cloud Console können Sie jedoch die Startzeit und Wiederholung eines Skalierungszeitplans mithilfe eines Cron-Ausdrucks oder der folgenden Einstellungen konfigurieren:

  • Startzeit: Die Tageszeit, zu der der Skalierungsplan aktiv werden soll.

    Zu Beginn werden mit dem Skalierungsplan VMs erstellt, wenn die MIG kleiner ist als die erforderlichen Instanzen des Zeitplans. Legen Sie die Startzeit fest, damit genug Zeit zum Starten und Initialisieren neuer VMs bleibt. Wenn die Arbeitslast beispielsweise 10 Minuten ab der Erstellung der VM benötigt, um mit der Bereitstellung zu beginnen, setzen Sie die Startzeit auf 10 Minuten vor dem Zeitpunkt, zu dem die VMs bereit sein sollen.

  • Wiederholung: Ob und wenn ja, wie oft der Skalierungsplan wiederholt wird, wie durch die folgenden Optionen definiert:

    • Einmal: Ein einmaliger Zeitplan, der nur an dem ausgewählten Datum beginnt.
    • Täglich: Ein sich wiederholender Zeitplan, der jeden Tag beginnt.
    • Jede Woche: Ein sich wiederholender Zeitplan, der jede Woche an den ausgewählten Wochentagen beginnt, z. B. jeden Montag bis Freitag.
    • Jeden Monat: Ein sich wiederholender Zeitplan, der jeden Monat an den ausgewählten Tagen des Monats beginnt, z. B. am ersten Tag jedes Monats Die letzten Tage des Monats (29. bis 31. Tag) gelten nur in den Monaten, in denen diese Tage auftreten.

Cron-Ausdrücke

Die Startzeit und Wiederholung eines Skalierungsplans können mit einem Cron-Ausdruck konfiguriert werden. Cron ist ein zeitbasierter Jobplaner, der ursprünglich in Unix-ähnlichen Computerbetriebssystemen verwendet wurde.

Syntax

Ein Cron-Ausdruck ist ein String, der aus fünf oder sechs durch Leerzeichen getrennten Feldern besteht. In der folgenden Tabelle werden die Felder eines Cron-Ausdrucks und die möglichen Werte für jedes Feld definiert.

Minute Stunde Tag des Monats Monat Wochentag Jahr (optional)
0–59 0–23 1–31 1–12 (Jan–Dec),

wobei 1=Jan, 2=Feb, … 12=Dec
0–6 (Sun–Sat) oder 1–7 (Mon–Sun),

wobei 0=Sun, 1=Mon, … 6=Sat, 7=Sun
2000–2036

oder jährlich (*), falls nicht angegeben

Neben diesen Werten kann jedes Feld in einem Cron-Ausdruck auch Sonderzeichen enthalten:

Sonderzeichen Bedeutung Beispiel
* Beliebig Wenn die Felder für den Tag des Monats, den Wochentag und das Jahr (sofern angegeben) jeweils auf * festgelegt sind, beginnt der Zeitplan täglich.
- Bereich Wenn das Feld für den Wochentag auf 1-5 oder Mon-Fri festgelegt ist, beginnt der Zeitplan jede Woche von Montag bis Freitag.
, list Wenn das Feld für den Monat auf 5,7,9 oder May,Jul,Sep festgelegt ist, beginnt der Zeitplan jeden Mai, Juli und September.
/ Schritt Wenn das Feld für den Monat auf */3 festgelegt ist, beginnt der Zeitplan im ersten Monat und alle drei Monate danach: Januar, April, Juli und Oktober.

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 8:00 Uhr. Dieser Zeitplan beginnt nicht nur an Montagen um 8:00 Uhr, die gleichzeitig der erste Tag des Monats sind.
  • Sie können null oder mehr Sonderzeichen in jedem Feld eines Cron-Ausdrucks verwenden. Wenn ein Zeitplan beispielsweise jeden Monat außer Mai beginnen soll, können Sie das Feld für den Monat auf 1-4,6-12 festlegen, also auf eine Liste mit zwei Bereichen ohne Leerzeichen.
  • Bei Verwendung von Bereichen (-) können Sie weder 0-7 noch Sun-Sun im Feld für den Wochentag angeben. Verwenden Sie zum Festlegen jedes Wochentags stattdessen *, 0-6, 1-7, Sun-Sat oder Mon-Sun.
  • Denken Sie bei Verwendung von Schritten (/) daran, dass Cron-Ausdrücke zustandslos sind, sodass Schritte manchmal ungleichmäßig sein können. Wenn ein Zeitplan beispielsweise alle 6 Stunden ausgeführt werden soll, können Sie das Feld für die Stunden auf */6 festlegen. Das entspricht der Auflistung aller gültigen Vielfachen von 6 (0,6,12,18). Die Schritte sind gleichmäßig, weil sich 24 Stunden leicht in 6-Stunden-Abschnitte unterteilen lassen. Wenn Sie das Feld für die Stunden jedoch auf */7 festlegen, beginnt der Zeitplan nicht immer in 7-Stunden-Intervallen. In diesem Fall verhält sich */7 wie die Auflistung aller gültigen Vielfachen von 7 (0,7,14,21). Dies bedeutet, dass der Zeitplan um 0:00 Uhr, 7:00 Uhr, 14:00 Uhr und 21:00 Uhr gestartet werden kann.

Sich wiederholende Zeitpläne im Vergleich zu einmaligen Zeitplänen

Je nachdem, wie Sie den Cron-Ausdruck schreiben, kann Ihr Zeitplan einmalig ausgeführt werden oder sich regelmäßig wiederholen. Wenn Sie einen Zeitplan erstellen möchten, der nur einmal ausgeführt wird, müssen Sie das Feld für das Jahr angeben. Der Cron-Ausdruck 0 0 30 1 * 2030 konfiguriert beispielsweise einen Zeitplan, der nur einmal um Mitternacht am 30. Januar 2030 beginnt. Wenn Sie einen Zeitplan erstellen möchten, der sich wiederholt, geben Sie mithilfe von Sonderzeichen an, wann der Zeitplan wiederholt werden soll. Der Cron-Ausdruck 30 8 * * Mon-Fri konfiguriert beispielsweise einen Zeitplan, der jeden Montag, Dienstag, Mittwoch, Donnerstag und Freitag um 8:30 Uhr beginnt.

Informationen zum Zeitplanstatus

Listen Sie die Skalierungspläne auf, um ihren Status anzusehen. Ein Skalierungszeitplan hat folgende Statusinformationen:

  • Status (state): der aktuelle Status des Skalierungsplans, dargestellt durch einen der folgenden Statuswerte:
    • Bereit (READY): Dieser Zeitplan ist bereit, aber noch nicht aktiv. Das Autoscaling wartet auf das nächste Auftreten dieses Zeitplans.
    • Aktiv (ACTIVE): Dieser Zeitplan ist gerade aktiv. Das Autoscaling versucht, für die jeweilige MIG die in diesem Zeitplan angegebene Mindestanzahl erforderlicher Instanzen bereitzustellen.
    • Veraltet (OBSOLETE): Dieser Zeitplan ist abgelaufen und wird nicht wieder aktiviert. Das Autoscaling ignoriert diesen Zeitplan, da es kein zukünftiges Auftreten gibt.
    • Deaktiviert (DISABLED): Dieser Zeitplan kann nicht aktiv sein, da er manuell deaktiviert wurde. Das Autoscaling ignoriert diesen Zeitplan, bis er wieder aktiviert wird.
  • Letztes Auftreten (lastStartTime): Der Zeitstempel der letzten Aktivierung dieses Skalierungsplans. Dies ist das tatsächliche Datum und die tatsächliche Uhrzeit der letzten Aktivierung. Wenn Sie beispielsweise einen deaktivierten Skalierungsplan mit einer täglichen Wiederholung, einer Startzeit von 10:00 Uhr und einer zweistündigen Dauer haben und den Zeitplan heute um 11:00 Uhr wieder aktivieren, ist die lastStartTime heute um 11:00 Uhr.
  • Nächstes Auftreten (nextStartTime): Der Zeitstempel des nächsten Zeitpunkts, zu dem dieser Zeitplan aktiv werden soll.

Sich überschneidende Zeitpläne

Je nach Startzeit, Wiederholung, Dauer und Zeitzone können sich zwei oder mehr Skalierungspläne überschneiden. Wenn mehrere Zeitpläne aktiv sind, verwendet das Autoscaling die größte Anzahl erforderlicher VM-Instanzen aus allen aktiven Skalierungsplänen. Dadurch wird gewährleistet, dass immer genügend Kapazität vorhanden ist, um den Anforderungen eines beliebigen aktiven Zeitplans zu entsprechen. Wenn Sie beispielsweise sowohl einen Zeitplan mit mindestens 10 erforderlichen VMs haben, der jeden Tag von 8:00 Uhr bis 10:00 Uhr wiederholt wird, als auch einen einmaligen ganztägigen Zeitplan mit mindestens 20 erforderlichen VMs, skaliert das Autoscaling die MIG an diesem Tag auf mindestens 20 VMs. Dies ist nützlich, wenn Sie regelmäßig wiederkehrende Kapazitätsanforderungen haben, aber manchmal mehr Kapazität für einmalige Ereignisse benötigen. Mit diesem Verhalten können Sie Kapazitäten planen, ohne befürchten zu müssen, dass diese von anderen Zeitplänen mit kleineren VM-Anforderungen überschrieben werden.

Darüber hinaus bietet das Autoscaling immer die größte Anzahl von VM-Instanzen, die für jedes aktive Autoscaling-Signal erforderlich sind. Weitere Informationen finden Sie unter Autoscaling-Richtlinie mit mehreren Signalen verwenden.

Sommerzeit

Die Details zur Sommerzeit unterscheiden sich je nach der standortbasierten IANA-Zeitzone Ihres Skalierungsplans. Wenn in der Zeitzone DST berücksichtigt wird, wird die Startzeit des Zeitplans automatisch angepasst, sodass sie mit der Zeit für den ausgewählten Standort synchronisiert ist. Wenn Sie beispielsweise einen Skalierungsplan erstellen, der jeden Tag um 7:00 Uhr in der Zeitzone America/New_York beginnt, beginnt dieser Zeitplan jedes Mal, wenn es in New York 07:00 Uhr ist, wobei entsprechend Eastern Daylight Time bzw. Eastern Standard Time angewendet wird.

Skalierungspläne werden immer für die gesamte Dauer ausgeführt, die Sie konfigurieren. An den Tagen der Umstellung der Sommerzeit (Daylight Saving Time, DST) können aber kleinere Abweichungen von Start- und Endzeit auftreten. Das liegt daran, dass es bei der Sommerzeitumstellung zu Umstellungszeiträumen kommt, also zu Zeitspannen, die am ersten Tag der Sommerzeit übersprungen werden und am letzten Tag der Sommerzeit zweimal auftreten. Wenn die Sommerzeit beispielsweise für Ihre Zeitzone um 2:00 Uhr beginnt und die Zeit um eine Stunde umgestellt wird, wird die Uhr um 1:59:59 Uhr auf 3:00 Uhr vorgestellt, sodass die Zeitspanne von 2:00 Uhr bis 2:59:59 Uhr wegfällt. Wenn die Sommerzeit für diese Zeitzone um 2:00 Uhr endet, wird die Uhr um 2:59:59 Uhr auf 2:00 Uhr zurückgestellt, sodass die Zeitspanne von 2:00 Uhr bis 2:59:59 Uhr zweimal auftritt. Bei den folgenden Erläuterungen wird davon ausgegangen, dass in der Zeitzone Ihres Zeitplans eine Sommerzeitumstellung von 1 Stunde gilt.

Am ersten Tag der Sommerzeit, wenn also 1 Stunde übersprungen wird, ergeben sich folgende Änderungen für die Skalierungspläne:

  • Zeitpläne, die während der übersprungenen Stunde aktiv sind, werden für ihre gesamte Dauer ausgeführt. Zum Ausgleich für die übersprungene Stunde enden diese Zeitpläne aber eine Stunde später als die Endzeit an Tagen ohne Sommerzeitumstellung. Normalerweise ergibt sich die Endzeit eines Zeitplans aus der Startzeit plus der Dauer des Zeitplans. Wenn aber bei aktivem Zeitplan durch den Beginn der Sommerzeit eine Stunde übersprungen wird und die Dauer sowie die Startzeit konstant sind, ist die Endzeit eine Stunde später als die Startzeit des Zeitplans plus die Dauer.
  • Zeitpläne, die so konfiguriert sind, dass sie während der übersprungenen Stunde beginnen, starten 1 Stunde später als an Tagen ohne Sommerzeitumstellung.

Am letzten Tag der Sommerzeit, also wenn 1 Stunde wiederholt wird, werden die Skalierungspläne so geändert:

  • Zeitpläne, die während der wiederholten Stunde aktiv sind, werden weiter für ihre vorgesehene Dauer ausgeführt. Als Ausgleich für die wiederholte Stunde enden diese Zeitpläne aber eine Stunde früher als die Endzeit an Tagen ohne Sommerzeitumstellung. Normalerweise ergibt sich die Endzeit eines Zeitplans aus dem Startzeitpunkt plus der Dauer des Zeitplans. Wenn jedoch wegen des Endes der Sommerzeit eine Stunde wiederholt wird, während ein Zeitplan aktiv ist, bleiben Dauer und Startzeit konstant, die Endzeit ist aber dann für diesen Zeitplan um eine Stunde früher als die Startzeit plus die Dauer des Zeitplans.
  • Zeitpläne, die so konfiguriert sind, dass sie während des Umstellungszeitraums zur festgelegten Zeit starten, werden bei der wiederholten Startzeit nicht neu gestartet.

Für die meisten Zeitzonen mit Sommerzeit gilt ein Umstellungszeitraum von einer Stunde. Wenn die Zeitzone für Ihren Zeitplan jedoch einen anderen Umstellungszeitraum verwendet, z. B. die Zeitzone Australia/Lord_Howe mit einer 30-minütigen Umstellung, ist das Verhalten grundsätzlich das gleiche. Ersetzen Sie dann einfach 1 Stunde durch die entsprechende Umstellungszeit.

Nächste Schritte