Autoscaling von Instanzgruppen

Verwaltete Instanzgruppen (MIGs) bieten Autoscaling-Funktionen, mit denen VM-Instanzen automatisch je nach Last zur MIG hinzugefügt oder daraus entfernt werden. Mit Autoscaling können Ihre Anwendungen zunehmenden Traffic reibungslos bewältigen. In Zeiten geringeren Ressourcenbedarfs werden außerdem die Kosten gesenkt. Sie definieren die Autoscaling-Richtlinie und dann wird automatisch anhand der gemessenen Last skaliert.

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

Spezifikationen

  • Autoscaling funktioniert nur mit zonal und regional verwalteten Instanzgruppen (MIGs). Nicht verwaltete Instanzgruppen werden nicht unterstützt.
  • Autoscaling funktioniert nicht mit regionalen MIGs, wenn die proaktive Umverteilung von Instanzen deaktiviert ist.
  • Autoscaling funktioniert nicht mit zustandsorientierten MIGs.
  • Sie können keine Instanzen mit spezifischen Namen erstellen, während Autoscaling aktiviert ist. Sie haben aber die Möglichkeit, das Autoscaling erst nach der Erstellung von VM-Instanzen mit bestimmten Namen zu aktivieren.
  • Sie können Autoscaling nicht verwenden, wenn Ihre MIG eine zustandsorientierte Konfiguration hat.
  • Verwenden Sie Compute Engine-Autoscaling nicht mit MIGs, die zu Google Kubernetes Engine gehören. Verwenden Sie für Google Kubernetes Engine-Gruppen stattdessen Cluster-Autoscaling.

    Wenn Sie nicht sicher sind, ob Ihre Gruppe Teil eines GKE-Clusters ist, suchen Sie im MIG-Namen nach dem Präfix gke. Beispiel: gke-test-1-3-default-pool-eadji9ah

  • Das Autoscaling kann Entscheidungen zur Skalierung anhand von mehreren Messwerten treffen, jedoch nur eine Richtlinie pro Messwerttyp verarbeiten. Eine Ausnahme sind Cloud Monitoring-Messwerte, für die bis zu fünf Richtlinien auf Basis von Monitoring-Messwerten verarbeitet 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 konfigurieren und eine Instanz die Systemdiagnose nicht besteht, versucht die automatische Reparatur, die Instanz neu zu erstellen. Das erneute Erstellen einer Instanz kann dazu führen, dass die Anzahl der Instanzen in der Gruppe unter den von Ihnen angegebenen Autoscaling-Schwellenwert (minNumReplicas) fällt.

  • Wenn Sie eine regionale MIG automatisch skalieren, kann eine Instanz hinzugefügt und dann sofort aus einer der Zonen gelöscht werden. Dies geschieht, wenn die Auslastung in der Zone ein Hochskalieren auslöst, die Gesamtauslastung in der regionalen MIG jedoch keine zusätzliche Instanz erfordert oder die zusätzliche Instanz in einer anderen Zone erforderlich ist.

Grundlagen

Autoscaling nutzt die folgenden grundlegenden Konzepte und Dienste.

Verwaltete Instanzgruppen

Autoscaling ist ein Feature verwalteter Instanzgruppen (Managed Instance Groups, MIGs). Eine verwaltete Instanzgruppe ist eine Sammlung von VM-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.

Informationen zum Unterschied zwischen einer verwalteten Instanzgruppe und einer nicht verwalteten Instanzgruppe finden Sie unter Instanzgruppen.

Autoscaling-Richtlinie und Zielauslastung

Um Autoscaling einzusetzen, geben Sie die Autoscaling-Richtlinie und eine Zielauslastungsstufe an, die das Autoscaling verwendet, um zu bestimmen, wann die Gruppe skaliert werden soll. 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.
  • Cloud Monitoring-Messwerte

Das Autoscaling sammelt kontinuierlich Nutzungsinformationen entsprechend der Richtlinie, vergleicht die tatsächliche Auslastung mit der gewünschten Zielauslastung und bestimmt anhand dieser Informationen, ob die Gruppe Instanzen entfernen (Herunterskalieren) oder hinzufügen (Hochskalieren) muss.

Die Zielauslastungsstufe ist das Level, das Sie mit Ihren VM-Instanzen beibehalten möchten. 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 in den Richtlinien. Detaillierte Informationen zu den einzelnen Richtlinien finden Sie hier:

Wartezeit

Während eine Instanz initialisiert wird, spiegeln Informationen zu ihrer Nutzung möglicherweise nicht die normalen Gegebenheiten wider. Die Nutzungsinformationen sind also möglicherweise nicht zuverlässig für Autoscaling-Entscheidungen und Sie möchten diese Daten unter Umständen ausklammern. Legen Sie eine Wartezeit fest, damit Ihre Instanzen die Initialisierung abschließen können, bevor das Autoscaling beginnt, Nutzungsinformationen von ihnen zu erfassen. Standardmäßig beträgt die Wartezeit 60 Sekunden.

Die tatsächlichen Initialisierungszeiten variieren aufgrund zahlreicher Faktoren. Wir empfehlen Ihnen, zu testen, wie lange Ihre Anwendung zur Initialisierung benötigt. Erstellen Sie dazu eine Instanz und bestimmen Sie die Dauer des Startvorgangs von dem Moment, in dem die Instanz in den Status RUNNING wechselt, bis zu dem Moment, in dem die Anwendung bereit ist.

Wenn Sie einen Wert für die Wartezeit festlegen, der erheblich länger ist als die Initialisierungszeit einer Instanz, ignoriert Ihr Autoscaling möglicherweise legitime Nutzungsdaten und unterschätzt möglicherweise die erforderliche Größe Ihrer Gruppe, was zu einer Verzögerung beim Hochskalieren führt.

Stabilisierungszeitraum

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

Mithilfe des stabilisierten Zeitraums sorgt das Autoscaling dafür, dass die empfohlene Größe für Ihre verwaltete Instanzgruppe immer ausreicht, um die in den letzten 10 Minuten festgestellte Spitzenlast zu bewältigen.

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 sichergestellt, dass die kleinere Gruppengröße ausreicht, um die Spitzenlast der letzten 10 Minuten zu unterstützen.

Autoscaling-Modus

Wenn Sie Ihre Gruppe ohne Störungen durch Autoscaling-Vorgänge untersuchen oder konfigurieren möchten, können Sie die Autoscaling-Aktivitäten vorübergehend deaktivieren oder einschränken. Die Konfiguration des Autoscalings bleibt bestehen, solange es deaktiviert oder eingeschränkt ist. Alle Autoscaling-Aktivitäten werden fortgesetzt, wenn Sie es wieder aktivieren oder die Einschränkung aufheben.

Steuerelemente für die Herunterskalierung

Wenn die Initialisierung Ihrer Arbeitslasten mehrere Minuten dauert (z. B. aufgrund langwieriger Installationsaufgaben), können Sie das Risiko von Antwortlatenz und Ausfällen aufgrund abrupter Skalierungsereignisse reduzieren. Konfigurieren Sie dazu die Steuerelemente für das Herunterskalieren. Insbesondere wenn Sie erwarten, dass bald nach dem Rückgang Lastspitzen auftreten. Sie können das Herunterskalieren begrenzen, um zu verhindern, dass das Autoscaling die Größe eines MIG um mehr VM-Instanzen verringert, als Ihre Arbeitslast tolerieren kann.

Sie müssen die Steuerelemente für das Herunterskalieren nicht konfigurieren, wenn Ihre Anwendung schnell genug initialisiert wird, um Lastspitzen beim Hochskalieren abzufangen.

Legen Sie in Ihrer Autoscaling-Richtlinie zum Konfigurieren von Steuerelementen für das Herunterskalieren die folgenden Eigenschaften fest.

  • Maximal zulässige Reduzierung. Die Anzahl der VM-Instanzen, die Ihre Arbeitslast innerhalb des angegebenen Nachlaufzeitfensters maximal verlieren darf (aus seiner Spitzengröße). Verwenden Sie diesen Parameter, um einzuschränken, in welchem Umfang Ihre Gruppe skaliert werden kann. Auf diese Weise kann weiterhin ein wahrscheinlicher Lastanstieg bedient werden, bis mehr Instanzen bereitstehen. Je kleiner Sie die maximal zulässige Reduzierung festlegen, desto länger dauert es, bis Ihre Gruppe herunterskaliert ist.

  • Nachlaufzeitfenster. Der Verlauf, in dem das Autoscaling die für Ihre Arbeitslast erforderliche Spitzengröße prüft. Autoscaling verkleinert die Größe nicht unter die maximal zulässige Reduzierung, die von der in diesem Zeitraum beobachteten Spitzengröße abgezogen wird. Mit diesem Parameter können Sie festlegen, wie lange das Autoscaling warten soll, bevor Instanzen gemäß der maximal zulässigen Reduzierung entfernt werden. Bei einem längeren Zeitraum berücksichtigt das Autoscaling mehr historische Spitzen, wodurch die Skalierung konservativer und stabiler wird.

Weitere Informationen finden Sie unter Steuerelemente für das Herunterskalieren konfigurieren und Autoscaling-Entscheidungen.

Die empfohlene Gruppengröße ist die vom Autoscaling empfohlene Anzahl von VMs, die die verwaltete Instanzgruppe auf Basis der in den letzten 10 Minuten beobachteten Spitzenlast verwalten sollte. Diese letzten 10 Minuten werden als Stabilisierungszeitraum bezeichnet. Die empfohlene Zielgröße wird ständig neu berechnet. Wenn Sie eine Autoscaling-Richtlinie mit Steuerelementen für das Herunterskalieren festlegen, wird recommendedSize durch Ihre Steuerelemente für das Herunterskalieren eingeschränkt.

Weitere Informationen

  1. Wenn Sie noch keine MIG haben, erstellen Sie eine verwaltete Instanzgruppe.
  2. Erstellen Sie ein Autoscaling, das basierend auf folgendes skaliert:

  3. Verwalten Sie Ihr Autoscaling, um beispielsweise Informationen darüber zu erhalten, um Steuerelemente für das Herunterskalieren zu konfigurieren oder um das Autoscaling vorübergehend einzuschränken.