Autoscaling von Instanzgruppen

Verwaltete Instanzgruppen bieten Autoscaling-Funktionen, mit denen Sie automatisch Instanzen lastabhängig hinzufügen oder entfernen können. Mit Autoscaling können Ihre Anwendungen Zunahmen von Traffic reibungslos bewältigen. In Zeiten eines geringeren Ressourcenbedarfs werden außerdem die Kosten gesenkt. Dazu definieren Sie eine Autoscaling-Richtlinie zur automatischen Skalierung anhand der gemessenen Last.

Beim Autoscaling werden bei höherer Last mehr Instanzen zu Ihrer Instanzgruppe hinzugefügt (Hochskalierung) und Instanzen gelöscht, wenn die Anzahl der benötigten Instanzen abnimmt (Herunterskalierung).

Grundlagen

Autoscaling nutzt die folgenden grundlegenden Konzepte und Dienste.

Verwaltete Instanzgruppen

Autoscaling ist ein Merkmal verwalteter Instanzgruppen. Diese umfassen eine Reihe homogener Instanzen, die aus einer gemeinsamen Instanzvorlage erstellt wurden. Beim Autoscaling werden Instanzen zu einer verwalteten Instanzgruppe hinzugefügt oder daraus entfernt. Compute Engine hat zwar sowohl verwaltete als auch nicht verwaltete Instanzgruppen, aber nur bei Ersteren ist Autoscaling möglich.

Welche Unterschiede es zwischen verwalteten und nicht verwalteten Instanzgruppen gibt, lesen Sie in der Dokumentation zu Instanzgruppen.

Autoscaling-Richtlinie und Zielauslastung

Für das Autoscaling müssen Sie eine Autoscaling-Richtlinie und ein Zielauslastungslevel festlegen, anhand dessen ermittelt wird, wann eine Skalierung der Gruppe notwendig ist. Die Skalierung kann abhängig von den folgenden Elementen erfolgen:

  • Durchschnittliche CPU-Auslastung
  • Bereitstellungskapazität des HTTP-Lastenausgleichs, die auf der Auslastung oder den Anfragen pro Sekunde basieren kann
  • Stackdriver Monitoring-Messwerte

Das Autoscaling sammelt fortlaufend Nutzungsinformationen entsprechend der Richtlinie, vergleicht die tatsächliche Auslastung mit der gewünschten Zielauslastung und bestimmt, ob die Gruppe vergrößert oder verkleinert werden muss.

Die Zielauslastung bestimmt das gewünschte Auslastungslevel Ihrer VM-Instanzen. Wenn Sie zum Beispiel basierend auf der CPU-Auslastung skalieren möchten, können Sie als Zielauslastungslevel den Wert 75 % festlegen. Das Autoscaling sorgt dann dafür, dass die CPU-Auslastung der Instanzgruppe immer ungefähr bei 75 % liegt. Das Auslastungslevel für den jeweiligen Messwert wird auf Grundlage der Autoscaling-Richtlinie interpretiert.

Eine kurze Zusammenfassung der einzelnen Richtlinien finden Sie unter Load-Balancing und Skalierung im Abschnitt Autoscaling-Richtlinien. Detaillierte Informationen zu den einzelnen Richtlinien finden Sie hier:

Wartezeit

Geben Sie beim Einrichten des Autoscalings eine Wartezeit an, damit Ihre Instanzen die Initialisierung abschließen können, bevor das Autoscaling mit dem Erfassen von Informationen auf den Instanzen beginnt. Informationen aus der Bootphase einer Instanz könnten für Autoscaling-Entscheidungen zu unzuverlässig sein, sodass es sich empfiehlt, diese Daten zu übergehen. Die Standardwartezeit beträgt 60 Sekunden.

Stabilisierungszeitraum

Zum Herunterskalieren wird beim Autoscaling die empfohlene Zielgröße der Gruppe anhand der Spitzenlast in den letzten zehn Minuten berechnet. Diese letzten zehn Minuten werden als Stabilisierungszeitraum bezeichnet.

Dieser Stabilisierungszeitraum von zehn Minuten kann beim Herunterskalieren als Verzögerung wahrgenommen werden. Tatsächlich handelt es sich jedoch um ein integriertes Feature des Autoscalings. Durch die Verzögerung wird gewährleistet, dass die kleinere Gruppengröße ausreicht, um die Spitzenlast der letzten zehn Minuten zu unterstützen.

Spezifikationen

  • Autoscaling funktioniert nur mit verwalteten Instanzgruppen. Nicht verwaltete Instanzgruppen werden nicht unterstützt.
  • Autoscaling funktioniert nicht mit verwalteten Instanzgruppen, wenn die proaktive Weiterverteilung von Instanzen deaktiviert ist.
  • Verwenden Sie Compute Engine-Autoscaling nicht mit verwalteten Instanzgruppen, die zu Google Kubernetes Engine gehören. Verwenden Sie für Google Kubernetes Engine-Gruppen stattdessen Cluster-Autoscaling.

    Wenn Sie sich nicht sicher sind, ob Ihre Gruppe Teil eines Google Kubernetes Engine-Clusters ist, suchen Sie nach dem Präfix gke im Namen der verwalteten Instanzgruppe. Beispiel: gke-test-1-3-default-pool-eadji9ah

  • Ein Autoscaling kann Entscheidungen bezüglich Skalierung anhand von mehreren Messwerten treffen, jedoch nur eine Richtlinie pro Messwerttyp verarbeiten. Eine Ausnahme sind Stackdriver Monitoring-Messwerte, für die bis zu fünf Richtlinien ausgewählt werden können. Das Autoscaling berechnet die empfohlene Anzahl virtueller Maschinen für jede Richtlinie und skaliert dann anhand der Richtlinie, die die höchste Anzahl virtueller Maschinen in der Gruppe angibt.

  • Das Autoscaling arbeitet unabhängig von der automatischen Reparatur. Wenn Sie die automatische Reparatur für Ihre Gruppe konfiguriert haben und eine Instanz die Systemdiagnose nicht besteht, versucht die automatische Reparatur, die Instanz neu zu erstellen. Dies kann dazu führen, dass die Anzahl der Instanzen in der Gruppe unter den von Ihnen angegebenen Autoscaling-Schwellenwert (minNumReplicas) fällt.

Hinweise

  1. Informationen zu verwalteten Instanzgruppen

    Autoscaling ist ein Merkmal verwalteter Instanzgruppen, daher sollten Sie wissen, wie diese funktionieren, ehe Sie das Autoscaling verwenden.

  2. Name oder URL einer verwalteten Instanzgruppe abrufen

    Für alle Autoscaling-Anfragen müssen Sie entweder den Namen oder die URL einer verwalteten Instanzgruppe angeben. Im gcloud-Befehlszeilentool können Sie den Namen einer verwalteten Instanzgruppe verwenden, während in der API eine vollständig qualifizierte URL erforderlich ist.

    Die URL einer bestehenden verwalteten Instanzgruppe können Sie mit dem Befehl instance-groups managed list --uri oder instance-groups managed list [INSTANCE_GROUP] --uri abrufen. Mit dem folgenden Befehl erhalten Sie zum Beispiel die URL einer verwalteten Instanzgruppe in der Zone us-central1-f:

    gcloud compute instance-groups managed list example-group --uri --filter="zone:(us-central1-f)"
    

    Das Tool gcloud gibt die URL der verwalteten Instanzgruppe aus:

    https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-group
    

    Falls Sie noch keine Gruppe haben, lesen Sie, wie Sie eine verwaltete Instanzgruppe erstellen.

Weitere Informationen

Als Nächstes können Sie das Autoscaling so einrichten, dass Instanzen anhand der CPU- oder Load-Balancing-Bereitstellungskapazität bzw. anhand eines Stackdriver Monitoring-Messwerts skaliert werden.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation