Autoscale-Architektur für AWS
Das folgende Diagramm veranschaulicht die Architektur des automatischen Skalierungs-Features mit DNS als Traffic-Distributor.
Das folgende Diagramm veranschaulicht die Architektur des automatischen Skalierungs-Features mit NLB als Traffic-Verteiler.
NetScaler-Konsole
NetScaler Console ist eine webbasierte Lösung für die Verwaltung aller NetScaler-Bereitstellungen, die on-premises oder in der Cloud bereitgestellt werden. Mit dieser Cloud-Lösung können Sie die gesamte globale Anwendungsbereitstellungsinfrastruktur über eine einzige, einheitliche und zentrale cloudbasierte Konsole verwalten, überwachen und beheben. NetScaler Console bietet alle Funktionen, die für die schnelle Einrichtung, Bereitstellung und Verwaltung der Anwendungsbereitstellung in NetScaler-Bereitstellungen erforderlich sind, und bietet umfangreiche Analysen zu Zustand, Leistung und Sicherheit von Anwendungen.
Die Autoscale-Gruppen werden in NetScaler Console erstellt und die NetScaler VPX-Instanzen werden über NetScaler Console bereitgestellt. Die Anwendung wird dann über StyleBooks in NetScaler Console bereitgestellt.
Verkehrsverteiler (NLB oder DNS/Route53)
NLB oder DNS/Route53 wird verwendet, um den Datenverkehr auf alle Knoten in einer Autoscale-Gruppe zu verteilen. Weitere Informationen finden Sie unter Autoscale Traffic-Verteilungsmodi.
Die NetScaler Console kommuniziert mit dem Datenverkehrsverteiler, um die Anwendungsdomäne und die IP-Adressen der virtuellen Lastausgleichsserver zu aktualisieren, die das Frontend der Anwendung verwenden.
NetScaler Console Autoscale-Gruppe
Autoscale-Gruppe ist eine Gruppe von NetScaler-Instanzen, die Anwendungen als einzelne Entität Lastausgleich auslösen und basierend auf den konfigurierten Schwellenwertparameterwerten die automatische Skalierung auslösen.
NetScaler Cluster
Ein NetScaler-Cluster ist eine Gruppe von NetScaler VPX-Instanzen, und jede Instanz wird als Knoten bezeichnet. Der Clientdatenverkehr wird über die Knoten verteilt, um hohe Verfügbarkeit, hohen Durchsatz und Skalierbarkeit zu gewährleisten.
Hinweis
- Autoscaling-Entscheidungen werden auf Clusterebene und nicht auf Knotenebene getroffen.
Unabhängige Cluster werden in verschiedenen Availability Zones gehostet und daher ist die Unterstützung für einige der Shared State Features begrenzt.
Persistenzsitzungen wie Quell-IP-Persistenz und andere, mit Ausnahme der Cookie-basierten Persistenz, können nicht clusterübergreifend gemeinsam genutzt werden. Alle statuslosen Features wie Load Balancing-Methoden funktionieren jedoch in den verschiedenen Availability Zones erwartungsgemäß.
AWS Auto Scaling-Gruppen
AWS Auto Scaling Group ist eine Sammlung von EC2-Instanzen, die ähnliche Merkmale aufweisen und für die Zwecke der Instanzskalierung und -verwaltung als logische Gruppierung behandelt werden.
AWS-Verfügbarkeitszonen
AWS Availability Zone ist ein isolierter Standort innerhalb einer Region. Jede Region besteht aus mehreren Availability Zones. Jede Verfügbarkeitszone gehört zu einer einzelnen Region.
Modi der Verkehrsverteilung
Wenn Sie Ihre Anwendungsbereitstellung in die Cloud verlagern, wird Autoscaling Teil der Infrastruktur. Wenn die Anwendungen mithilfe der automatischen Skalierung skalieren oder skalieren, müssen diese Änderungen an den Client weitergegeben werden. Diese Weitergabe wird mittels DNS-basierter oder NLB-basierter Autoskalierung erreicht.
NLB-basiertes Autoscaling
Im NLB-basierten Bereitstellungsmodus ist die Verteilungsebene für die Clusterknoten der AWS-Netzwerklastenausgleich.
Bei NLB-basierter Autoskalierung wird pro Verfügbarkeitszone nur eine statische IP-Adresse angeboten. Dies ist die öffentliche IP-Adresse, die route53 hinzugefügt wird, und die Backend-IP-Adressen können privat sein. Bei dieser öffentlichen IP-Adresse arbeitet jede neue NetScaler-Instanz, die während der automatischen Skalierung bereitgestellt wird, mit privaten IP-Adressen und erfordert keine zusätzlichen öffentlichen IP-Adressen.
Sie können NLB-basiertes Autoscaling verwenden, um sowohl TCP- als auch UDP-Datenverkehr zu verwalten.
DNS-basiertes Autoscaling
Bei der DNS-basierten Autoskalierung fungiert DNS als Verteilungsebene für die NetScaler Clusterknoten. Die Skalierungsänderungen werden an den Client weitergegeben, indem der Domänenname aktualisiert wird, der der Anwendung entspricht. Derzeit ist der DNS-Anbieter AWS Route53.
Hinweis
Bei DNS-basierter Autoskalierung erfordert jede NetScaler-Instanz eine öffentliche IP-Adresse.
So funktioniert Autoscaling
Das folgende Flussdiagramm veranschaulicht den automatischen Skalierungsworkflow.
Die NetScaler Console erfasst Statistiken (CPU-Auslastung, Speicherauslastung, Durchsatz) aus den von Autoscale bereitgestellten Clustern in einem Zeitintervall von einer Minute.
Die Statistiken werden anhand der Konfigurationsschwellenwerte ausgewertet. Je nachdem, ob die Statistiken den maximalen Schwellenwert überschreiten oder unterhalb des Minimalschwellenwerts operieren, wird Scale-Out bzw. Scale-In ausgelöst.
-
Wenn ein Scale-Out ausgelöst wird:
- Neue Knoten werden bereitgestellt.
- Die Knoten sind mit dem Cluster verbunden und die Konfiguration wird vom Cluster zum neuen Knoten synchronisiert.
- Die Knoten sind bei NetScaler Console registriert.
- Die neuen Knoten IP-Adressen werden in DNS/NLB aktualisiert.
Wenn die Anwendung bereitgestellt wird, wird IPset
auf Clustern in jeder Availability Zone erstellt und die Domäne und die Instanz IP-Adressen werden bei DNS/NLB registriert.
- Wenn ein Scale-In ausgelöst wird:
- Die IP-Adressen der zum Entfernen identifizierten Knoten werden entfernt.
- Die Knoten werden vom Cluster getrennt, die Bereitstellung aufgehoben und dann von der NetScaler Console abgemeldet.
Wenn die Anwendung entfernt wird, werden die Domäne und die Instanz IP-Adressen von DNS/NLB abgemeldet und die IPset
gelöscht.
Beispiel
Beachten Sie, dass Sie eine Autoscale-Gruppe mit dem Namen asg_arn in einer einzelnen Availability Zone mit der folgenden Konfiguration erstellt haben.
- Schwellenwertparameter — Speicherauslastung
- Mindestgrenze: 40
- Höchstgrenze: 85
- Wiedergabezeit — 3 Minuten
- Abklingzeit — 10 Minuten
- Zeitüberschreitung der Drain-Verbindung — 10 Minuten
- TTL-Zeitüberschreitung — 60 Sekunden
Nachdem die Gruppe “Autoscale” erstellt wurde, werden Statistiken aus der Gruppe “Autoscale” gesammelt. Die Autoscale-Richtlinie wertet auch aus, ob ein Autoscale-Ereignis in Bearbeitung ist, und wenn eine Autoskalierung im Gange ist, wartet auf den Abschluss dieses Ereignisses, bevor die Statistiken gesammelt werden.
Reihenfolge der Ereignisse:
- T1 und T2: Die Speicherbelegung überschreitet den maximalen Schwellenwert.
- T3 - Die Speichernutzung liegt unter den maximalen Schwellenwerten.
-
T6, T5, T4: Die Speichernutzung hat die maximale Schwellenwertgrenze nacheinander für drei Wiedergabezeitdauern überschritten.
- Ein Scale-Out wird ausgelöst.
- Die Provisioning von Knoten erfolgt.
- Die Abklingzeit ist gültig.
-
T7 — T16: Die Autoscale Skalenauswertung wird für diese Verfügbarkeitszone von T7 bis T16 übersprungen, da die Abkühlzeit in Kraft ist.
- T18, T19, T20 — Die Speichernutzung hat die Mindestschwellengrenze nacheinander für drei Wiedergabezeitdauern überschritten.
- Scale-In wird ausgelöst.
- Das Zeitlimit für die Drain-Verbindung ist in Kraft.
- IP-Adressen werden vom DNS/NLB entlastet.
-
T21 — T30: Die Autoscale Skalenauswertung wird für diese Verfügbarkeitszone von T21 bis T30 übersprungen, da das Timeout der Drain-Verbindung in Kraft ist.
- T31
- Bei der DNS-basierten Autoskalierung ist TTL wirksam.
- Bei NLB-basiertem Autoscaling erfolgt die Aufhebung der Bereitstellung der Instanzen.
- T32
- Beim NLB-basierten Autoscaling beginnt die Auswertung der Statistiken.
- Bei DNS-basiertem Autoscaling erfolgt die Aufhebung der Bereitstellung der Instanzen.
- T33: Für die DNS-basierte Autoskalierung beginnt die Auswertung der Statistiken.