Auto-scaling Stacks


Über auto-scaling Stacks

Der auto-scaling Stack ist eine der Funktionen, die die Leistungsfähigkeit der Plattform im Praxiseinsatz zeigt. Der auto-scaling Stack nutzt mehrere Dienste der Plattform, um zusammen auf ein gemeinsames Ziel hinzuarbeiten. Mit dem auto-scaling Stack können Sie eine Infrastruktur für eine mehrschichtige Anwendung in wenigen Klicks aufbauen - Inklusive der Erstellung eines Load Balancers, Verbinden der Instanzen als Mitglieder dieses Load Balancers und der automatischen Hoch- oder Runter-Skalierung des gesamten Stacks je nach aktueller Auslastung.

An Anwendungen, die Daten (wie Dateien oder Datensätze) speichern müssen, ist zusätzlich die Anbindung eines Storage-Backends erforderlich, z.B. eine Datenbank oder ein Object Storage. Ein solches Speicher-Backend ist nicht Teil des auto-scaling Stacks, ist jedoch sehr einfach einzurichten und separat anzuschließen.


Aufbau und Verwaltung von auto-scaling Stacks

Wenn Sie einen auto-scaling Stack für einen Anwendungsfall erstellen (z. B. eine Anwendung, die automatisch hoch- und runterskalieren kann), können Sie das Verhalten der automatischen Skalierung (Größe und Anzahl der Instanzen, Skalierungs-Trigger usw.) über die Stack-Einstellungen steuern. Allerdings ist ein weiterer wichtiger und erforderlicher Teil die Konfiguration der Instanzen selbst, um sicherzustellen, dass sie für den Betrieb im Anwendungs-Stack vorbereitet sind. Schauen wir uns die dort verfügbaren Optionen an.

Vorbereiten des Instanz-Images und Konfigurieren der Instanzen in einem auto-scaling Stack

Ein Auto-Scaling-Stack ist darauf ausgelegt, vollautomatisch und unbeaufsichtigt zu laufen. Die Entscheidungen neue Instanzen bereitzustellen sobald die Last steigt oder einige zusätzliche Instanzen zu löschen wenn die Last sinkt, werden von der Plattform selbst im vollständig unbeaufsichtigten Modus durchgeführt. Das bedeutet, dass Sie als Benutzer keine Möglichkeit haben Komponenten des Stacks zu konfigurieren, nachdem sie bereitgestellt wurden. Sie müssen direkt nach dem aufsetzten automatisch konfiguriert werden.

Es gibt zwei Möglichkeiten, Ihre Instanzen als Mitglieder eines auto-scaling Stack vorzubereiten.

Erstens können Sie die Instanz so vorbereiten, wie sie in ihrer endgültigen Konfiguration erscheinen soll (manuell durch Einloggen, Bereitstellen und Konfigurieren der erforderlichen Anwendungen usw.), und dann einen Snapshot oder ein Image dieser Instanz erstellen und diese verwenden, um den Stack bereitzustellen.

Zweitens können Sie ein "bootstrap" Skript erstellen, um eine Stock-Instanz die aus einem vorhandenen Image erstellt wurde zu konfigurieren und dieses Skript während der Stack-Erstellung spezifizieren. Jedes Mal, wenn eine neue Instanz erstellt und zum Stack hinzugefügt wird, wird die Plattform dieses Skript und die Befehle aus dem Skript auf der Instanz ausführen.

Beachten Sie, dass es keine Garantie dafür gibt, dass die Ausführung des genannten Skripts beginnt, wenn die Instanz-Konfiguration vollständig abgeschlossen ist (Dienste sind hochgefahren, Netzwerk ist betriebsbereit usw.) - wenn Ihr Skript also von diesen Bedingungen abhängt, stellen Sie sicher, dass die Überprüfung und das Warten auf diese Bedingungen auch ein Teil des Skripts ist.

Und natürlich können Sie eine Kombination aus beiden Varianten verwenden - sowohl ein benutzerdefiniertes Image und ein Konfigurationsskript.

Starten eines auto-scaling Stacks

Um einen neuen auto-scaling Stack zu erstellen, erweitern Sie den Abschnitt "Stacks" im linken Navigationsmenü und klicken Sie auf "Automatische Skalierung". Klicken Sie dann auf die Schaltfläche "Automatisch skalierenden Stapel erstellen".

Sie können die folgenden Einstellungen vornehmen:

  • Name des Stacks.

  • Image der Instanzen, die zum Aufbau neuer Server im dem Stack genutzt werden. Sie können ein Image oder einen Snapshot auswählen.

  • Flavor, der die Instanz-Größe und die Leistung definiert.

  • Schlüsselpaar zum Hochladen auf die Instanzen, mit denen Sie sich an den Instanzen für die Fehlersuche und -behebung anmelden können.

  • Netzwerkkonfiguration des Stacks. Diese umfasst das Instanz-Netzwerk, Instanz und Load Balancer Port, und das Load Balancer Protokoll.

  • Skalierungsparameter: zu überwachende Metriken (Sie haben die Wahl zwischen CPU % Nutzung, Festplattenaktivität oder Netzwerkaktivität) und der "aktiven" Schwellenwerte für diese Metriken. Es gibt zwei Schwellenwerte: einen für die Hoch-Skalierung (wenn der Wert den Schwellenwert für eine konfigurierbare Zeitspanne überschreitet, werden neue Instanzen bis zum maximalen Grenzwert hinzugefügt) und für die Runter-Skalierung (wenn der Wert für denselben Zeitraum unter dem Schwellenwert liegt, werden entsprechende Instanzen eine nach der anderen solange bis entweder bis der Parameterwert zwischen den Schwellenwerten liegt oder die Mindestanzahl der Instanzen erreicht ist entfernt).

  • Minimale und Maximale Anzahl der Instanzen im Stack.

Beachten Sie, dass wenn mehrere Instanzen bereitgestellt werde und diese auf auto-scaling Ereignisse reagieren, Ihr Konto entsprechend der Anzahl der Instanzen berechnet wird. Weitere Details finden Sie im Abschnitt Abrechnung