Tommy Lee Walker - stock.adobe.c
Persistente Sitzungen mit dem Azure Load Balancer einstellen
Mit persistenten Sitzungen verbinden sich Nutzer während einer Session immer mit demselben Server. Wir erklären, wie und wozu Sie das in Azure Load Balancer einstellen.
In Sitzungen identifizieren Webserver Anfragen eines authentifizierten Benutzers anhand einer eindeutigen ID-Nummer, die in jeder an den Server gerichteten Anfrage enthalten ist. Die Sitzungspersistenz stellt sicher, dass ein und derselbe Webserver Abfragen von einem bestimmten Client, sei es ein Mensch oder ein Dienst, während der gesamten Sitzung des Clients bearbeitet.
Die Sitzungspersistenz ist für das Funktionieren moderner Webanwendungen unerlässlich. Wenn eine authentifizierte Sitzung Daten an einen Webserver weitergibt, mit dem der Server bisher keine Informationen ausgetauscht hat, weiß dieser Server nicht, was er mit den Daten tun soll, da er nicht an der vorherigen Transaktion des Benutzers beteiligt war.
Wenn mehrere Server beteiligt sind und es keine Sitzungspersistenz gibt, kann es sein, dass die Anfrage jedes Mal bei einem anderen Server landet – und jedes Mal beginnt der Handshake-Prozess von vorne.
Einrichten der Sitzungs-Persistenz in Azure Load Balancer
Microsoft Azure bietet mehrere Tools für den Lastausgleich, darunter Azure Load Balancer. Azure Load Balancer arbeitet auf der Transportschicht des Open Systems Interconnection-Modells (OSI-Modell) und befindet sich oberhalb des TCP/IP-Stacks.
Azure Load Balancer kann Anfragen auf Webserver verteilen, aber keinen verschlüsselten HTTPS-Datenverkehr verarbeiten. Diese Einschränkung macht Azure Application Gateway zu einer viel besseren Option für den verschlüsselten Lastausgleich. Für interne Anwendungen, die mehrere Pools von Diensten mit einem Load Balancer verwenden, ist Azure Load Balancer eine gute Option.
Vergleich der Verteilungsmodi von Azure Load Balancer
Azure Load Balancer bietet drei Verteilungsmodi für den Lastausgleich, von denen jeder eine andere Ebene von zu konfigurierenden Attributen hat. Die Einträge werden jeweils als tuple bezeichnet.
- Hash-basiert (five tuple). Dies ist die Standardeinstellung für Azure Load Balancer und erfordert den geringsten Overhead, da sie jede Anfrage an einen gesunden Backend-Knoten leitet. Es gib keine Sitzungs-Persistenz; jede Sitzung wird als neu behandelt.
- Client-IP (two tuple). Bei dieser Konfiguration erstellt der Nutzer eine Regel, damit derselbe Backend-Server den gesamten Datenverkehr von der Quell-IP – oder dem Besucher – für die Dauer des Besuchs bearbeitet.
- Client-IP und Protokoll (three tuple). Diese Einstellung ähnelt dem vorherigen Modus, mit dem Unterschied, dass sie zusätzlich zur Client-IP das Protokoll enthält.
Jeder Verteilungs-Hash kann bestimmte Konfigurationen am besten handhaben, aber es ist ratsam, die Standardeinstellung zu wählen.
So ändern Sie die Einstellungen für Sitzungspersistenz in Azure Load Balancer
Um die Einstellungen für die Sitzungs-Persistenz zu ändern, navigieren Sie zur Load-Balancer-Seite im Azure-Portal (geben Sie Lastenausgleich in die Suchleiste ein) und wählen Sie im Menü Einstellungen die Option Lastenausgleichsregeln, wie in Abbildung 1 dargestellt.
Um die Einstellungen für die Sitzungspersistenz zu bearbeiten, öffnen Sie die Regel, die Sie ändern möchten, scrollen Sie nach unten zum Abschnitt Sitzungspersistenz (siehe Abbildung 2) und wählen Sie den gewünschten Algorithmus aus.
Klicken Sie auf die Schaltfläche Speichern, um die Änderung zu übernehmen.
Andere Load-Balancing-Methoden in Azure
Zusätzlich zu Azure Load Balancer bietet Azure mehrere andere Möglichkeiten, den Lastausgleich durchzuführen, darunter Azure Traffic Manager, Azure Application Gateway und Azure Front Door. Alle diese Tools haben eine Art von Lastausgleich als Kernstück, und jedes hat ein anderes Best-Use-Szenario.
Ein wesentlicher Unterschied zwischen Azure Load Balancer und den anderen Optionen ist, dass Azure Load Balancer nur in der Region verfügbar ist, in der Sie es eingerichtet haben, während die anderen Tools global sind. Die Azure-Dokumentation bietet einen Überblick über die Unterschiede zwischen den verschiedenen Lastausgleichsoptionen.
Wenn es der Lastausgleich für internen Nicht-HTTPS-Verkehr ist, der Sitzungspersistenz erfordert, ist das Aktivieren in Azure Load Balancer der einfachste Weg. Für Aufgaben, die HTTPS und globale Verfügbarkeit erfordern, ist Azure Load Balancer jedoch möglicherweise nicht die beste Wahl.