Autoscale-Architektur für Microsoft Azure

NetScaler Console verarbeitet die Verteilung des Client-Datenverkehrs mithilfe von Azure DNS oder Azure Load Balancer (ALB).

Verkehrsverteilung mithilfe von Azure DNS

Das folgende Diagramm veranschaulicht, wie die DNS-basierte automatische Skalierung mit dem Azure-Verkehrs-Manager als Verkehrsverteiler erfolgt:

Verteilung des Datenverkehrs Citrix Autoscale mit Azure Traffic Manager

Bei der DNS-basierten Autoskalierung fungiert DNS als Verteilungsebene. Der Azure Traffic Manager ist der DNS-basierte Load Balancer in Microsoft Azure. Traffic Manager leitet den Client-Verkehr an die entsprechende NetScaler-Instanz weiter, die in der Autoscaling-Gruppe der NetScaler Console verfügbar ist.

Azure Traffic Manager löst den FQDN in die VIP-Adresse der NetScaler-Instanz auf.

Hinweis

Beim DNS-basierten Autoscaling benötigt jede NetScaler-Instanz in der NetScaler Console Autoscale-Gruppe eine öffentliche IP-Adresse.

NetScaler Console löst die Scale-Out- oder Scale-In-Aktion auf Clusterebene aus. Wenn ein Scale-Out ausgelöst wird, werden die registrierten virtuellen Maschinen bereitgestellt und dem Cluster hinzugefügt. Wenn ein Scale-In ausgelöst wird, werden die Knoten entfernt und aus den NetScaler VPX Clustern entfernt.

Traffic-Verteilung mit Azure Load Balancer

Das folgende Diagramm veranschaulicht, wie die automatische Skalierung mit dem Azure Load Balancer als Traffic Distributor erfolgt:

Verkehrsverteilung Citrix Autoscale mit Azure Load Balancer

Azure Load Balancer ist die Verteilungsebene für die Clusterknoten. ALB verwaltet den Clientdatenverkehr und verteilt ihn an NetScaler VPX Cluster. ALB sendet den Client-Verkehr an NetScaler VPX-Clusterknoten, die in der NetScaler Console-Autoscaling-Gruppe für alle Verfügbarkeitszonen verfügbar sind.

Hinweis:

Die öffentliche IP-Adresse ist Azure Load Balancer zugewiesen. NetScaler VPX Instanzen benötigen keine öffentliche IP-Adresse.

NetScaler Console löst die Scale-Out- oder Scale-In-Aktion auf Clusterebene aus. Wenn ein Scale-out ausgelöst wird, werden die registrierten virtuellen Maschinen bereitgestellt und dem Cluster hinzugefügt. Wenn ein Scale-In ausgelöst wird, werden die Knoten entfernt und aus den NetScaler VPX Clustern entfernt.

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.

Ressourcen-Gruppe

Ressourcengruppe enthält die Ressourcen, die mit der automatischen NetScaler Skalierung zusammenhängen. Diese Ressourcengruppe hilft Ihnen bei der Verwaltung der für Autoscaling erforderlichen Ressourcen. Weitere Informationen finden Sie unter Verwalten von Ressourcengruppen.

Azure-Back-End-Skalierungssatz

Die Azure Virtual Machine Scale ist eine Sammlung identischer VM-Instanzen. Je nach Clientdatenverkehr kann die Anzahl der VM-Instanzen erhöht oder verringert werden. Dieses Set bietet Hochverfügbarkeit für Ihre Anwendungen. Weitere Informationen finden Sie unter Maßstabssätze für virtuelle Maschinen.

Verfügbarkeitszonen

Availability Zones sind isolierte Standorte in einer Azure-Region. Jede Region besteht aus mehreren Availability Zones. Jede Verfügbarkeitszone gehört zu einer einzelnen Region. Jede Availability Zone verfügt über einen NetScaler VPX Cluster. Weitere Informationen finden Sie unter Availability Zones in Azure.

Verfügbarkeits-Sets

Ein Verfügbarkeitssatz ist eine logische Gruppierung eines NetScaler VPX Clusters und Anwendungsservers. Verfügbarkeitssätze sind hilfreich, um NetScaler-Instanzen auf mehreren isolierten Hardwareknoten in einem Cluster bereitzustellen. Mit einer festgelegten Verfügbarkeit können Sie eine zuverlässige automatische Skalierung der NetScaler Console sicherstellen, wenn in Azure Hardware- oder Softwarefehler auftreten. Weitere Informationen finden Sie unter Verfügbarkeitssätze.

Das folgende Diagramm veranschaulicht die automatische Skalierung in einem Verfügbarkeitssatz:

Verfügbarkeit festgelegt

Die Azure-Infrastruktur (ALB oder Azure Traffic Manager) sendet den Client-Verkehr an eine NetScaler Console-Autoscaling-Gruppe in der Verfügbarkeitsgruppe. NetScaler Console löst die Scale-Out- oder Scale-In-Aktion auf Clusterebene aus.

So funktioniert die automatische Skalierung

Das folgende Flussdiagramm veranschaulicht den automatischen Skalierungsworkflow:

Citrix Autoscale-Flussdiagramm

Die NetScaler Console erfasst die Statistiken (CPU, Arbeitsspeicher und Durchsatz) der von Autoscale bereitgestellten Cluster für jede Minute.

Die Statistiken werden anhand der Konfigurationsschwellenwerte ausgewertet. Abhängig von der Statistik wird Scale-Out oder Scale-In ausgelöst. Scale-out wird ausgelöst, wenn die Statistik den maximalen Schwellenwert überschreitet. Die Skalierung wird ausgelöst, wenn die Statistik unter dem Mindestschwellenwert liegt.

Wenn ein Scale-Out ausgelöst wird:

  1. Ein neuer Knoten wurde bereitgestellt.

  2. Der Knoten ist mit dem Cluster verbunden und die Konfiguration wird vom Cluster mit dem neuen Knoten synchronisiert.

  3. Der Knoten ist bei NetScaler Console registriert.

  4. Die neuen Knoten-IP-Adressen werden im Azure Traffic Manager aktualisiert.

Wenn ein Scale-In ausgelöst wird:

  1. Der zu entfernende Knoten wurde identifiziert.

  2. Stoppen Sie neue Verbindungen zum ausgewählten Knoten.

  3. Wartet für den angegebenen Zeitraum, bis die Verbindungen leer sind. Im DNS-Datenverkehr wartet es auch auf den angegebenen Time-To-Live (TTL) -Zeitraum.

  4. Der Knoten wird vom Cluster getrennt, von NetScaler Console abgemeldet und dann von Microsoft Azure aus der Bereitstellung entfernt.

Hinweis

Wenn die Anwendung bereitgestellt wird, wird ein IP-Satz auf Clustern in jeder Availability Zone erstellt. Anschließend werden die Domänen- und Instanz-IP-Adressen beim Azure-Verkehrs-Manager oder ALB registriert. Wenn die Anwendung entfernt wird, werden die Domänen- und Instanz-IP-Adressen vom Azure-Verkehrs-Manager oder ALB abgemeldet. Dann wird der IP-Satz gelöscht.

Beispielszenario für Autoscaling

Beachten Sie, dass Sie eine Autoscale-Gruppe mit dem Namen asg_arn in einer einzelnen Availability Zone mit der folgenden Konfiguration erstellt haben.

  • Ausgewählte Schwellenwertparameter — Speicherbelegung.

  • Auf Speicher eingestellter Schwellenwert:

    • Mindestgrenze: 40

    • Höchstgrenze: 85

  • Wiedergabezeit — 2 Minuten.

  • Abklingzeit — 10 Minuten.

  • Wartezeit während der Aufhebung der Bereitstellung — 10 Minuten.

  • DNS-Lebenszeit — 10 Sekunden.

Nachdem die Gruppe “Autoscale” erstellt wurde, werden Statistiken aus der Gruppe “Autoscale” gesammelt. Die Autoscale-Richtlinie bewertet auch, ob ein Autoscale-Ereignis ausgeführt wird. Wenn die automatische Skalierung ausgeführt wird, warten Sie, bis das Ereignis abgeschlossen ist, bevor Sie die Statistiken erfassen.

Liniendiagramm Citrix Autoscale

Die Abfolge der Ereignisse

  1. Die Speicherauslastung überschreitet den Schwellenwert bei T2. Das Scale-Out wird jedoch nicht ausgelöst, da es für die angegebene Wiedergabezeit nicht verletzt wurde.

  2. Scale-out wird bei T5 ausgelöst, nachdem ein maximaler Schwellenwert für 2 Minuten (Wiedergabezeit) kontinuierlich überschritten wurde.

  3. Es wurden keine Maßnahmen für den Verstoß zwischen T5-T10 ergriffen, da die Node-Bereitstellung im Gange ist.

  4. Node wird bei T10 bereitgestellt und dem Cluster hinzugefügt. Die Abklingzeit wurde gestartet.

  5. Aufgrund der Abklingzeit wurden keine Maßnahmen für den Verstoß zwischen T10-T20 ergriffen. Dieser Zeitraum gewährleistet das organische Wachstum von Instanzen einer Autoscale-Gruppe. Bevor die nächste Skalierungsentscheidung ausgelöst wird, wird darauf gewartet, dass sich der aktuelle Datenverkehr stabilisiert und auf den aktuellen Satz von Instanzen durchdurchschnittlich wird.

  6. Die Speicherauslastung sinkt unter den Mindestschwellenwert bei T23. Das Scale-In wird jedoch nicht ausgelöst, da es für die angegebene Wiedergabezeit nicht verletzt wurde.

  7. Die Skalierung wird bei T26 ausgelöst, nachdem der Mindestschwellenwert für 2 Minuten (Wiedergabezeit) kontinuierlich überschritten wurde. Ein Knoten im Cluster wird für die Aufhebung der Bereitstellung identifiziert.

  8. Für den Verstoß zwischen T26-T36 wurden keine Maßnahmen ergriffen, da NetScaler Console darauf wartet, bestehende Verbindungen abzubauen. Bei der DNS-basierten Autoskalierung ist TTL wirksam.

    Hinweis

    Bei DNS-basiertem Autoscaling wartet NetScaler Console auf den angegebenen Time-To-Live-Zeitraum (TTL). Anschließend wartet es, bis vorhandene Verbindungen abgeleitet werden, bevor die Node-Bereitstellung initiiert wird.

  9. Für den Verstoß zwischen T37-T39 wurden keine Maßnahmen ergriffen, da die Node-Bereitstellung im Gange ist.

  10. Knoten wird entfernt und bei T40 aus dem Cluster entfernt.

Alle Verbindungen zum ausgewählten Knoten wurden entleert, bevor die Node-Bereitstellung initiiert wurde. Daher wird die Abklingzeit übersprungen, nachdem das Provisioning des Knotens aufgehoben wurde.

Autoscale-Architektur für Microsoft Azure