Autoscale-Architektur für Microsoft Azure

NetScaler ADM verarbeitet die Verteilung des Clientdatenverkehrs 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 Clientdatenverkehr an die entsprechende NetScaler-Instanz weiter, die in der Autoskalierungsgruppe NetScaler ADM verfügbar ist.

Azure流量管理器在死VIP-Adr失去了窝FQDNesse der NetScaler-Instanz auf.

Hinweis

Bei der DNS-basierten automatischen Skalierung erfordert jede NetScaler-Instanz in der NetScaler ADM Autoscale-Gruppe eine öffentliche IP-Adresse.

NetScaler ADM 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 Clientdatenverkehr an NetScaler VPX Clusterknoten, die in der Autoskalierungsgruppe NetScaler ADM über Availability Zones verfügbar sind.

Hinweis:

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

NetScaler ADM 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 ADM Gruppe für automatische Skalierung

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 unterVerwalten 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 unterMaß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 unterAvailability Zones in Azure.

Verfügbarkeits-Sets

静脉Verfugbarkeitssatz这logische Gruppierung eines NetScaler VPX Clusters und Anwendungsservers. Availability Sets sind hilfreich, um ADC-Instanzen über mehrere isolierte Hardwareknoten in einem Cluster bereitzustellen. Mit einem Verfügbarkeitssatz können Sie eine zuverlässige NetScaler ADM-Autoscaling sicherstellen, wenn in Azure Hardware- oder Softwarefehler auftreten. Weitere Informationen finden Sie unterVerfü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 Clientverkehr an eine automatische NetScaler ADM Gruppe in der Verfügbarkeitsgruppe. NetScaler ADM 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

Der NetScaler ADM sammelt die Statistiken (CPU, Arbeitsspeicher und Durchsatz) aus den von Autoscale bereitgestellten Clustern 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 ADM 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毛穴angegebenen Zeitraum, bis Verbi死去ndungen 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 ADM abgemeldet und dann von Microsoft Azure 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.

  • Ausgewahlte 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 beiT2. Das Scale-Out wird jedoch nicht ausgelöst, da es für die angegebene Wiedergabezeit nicht verletzt wurde.

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

  3. Es wurden keine Maßnahmen für den Verstoß zwischenT5-T10ergriffen, da die Node-Bereitstellung im Gange ist.

  4. Node wird beiT10bereitgestellt und dem Cluster hinzugefügt. Die Abklingzeit wurde gestartet.

  5. Aufgrund der Abklingzeit wurden keine Maßnahmen für den Verstoß zwischenT10-T20ergriffen. 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 beiT23. Das Scale-In wird jedoch nicht ausgelöst, da es für die angegebene Wiedergabezeit nicht verletzt wurde.

  7. Die Skalierung wird beiT26ausgelö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ß zwischenT26-T36wurden keine Maßnahmen ergriffen, da NetScaler ADM darauf wartet, bestehende Verbindungen zu entleeren. Bei der DNS-basierten Autoskalierung ist TTL wirksam.

    Hinweis

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

  9. Für den Verstoß zwischenT37-T39wurden keine Maßnahmen ergriffen, da die Node-Bereitstellung im Gange ist.

  10. Knoten wird entfernt und beiT40aus 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.