Konfigurieren des öffentlichen Lastenausgleichs

Abgeschlossen

Als Lösungsarchitekt für das Gesundheitsportal müssen Sie die Last der Clientbrowser auf die VMs in Ihrer Webfarm verteilen. Sie müssen einen Lastenausgleich einrichten und die VMs konfigurieren, auf die er angewendet wird.

Ein öffentlicher Lastenausgleich ordnet die öffentliche IP-Adresse und die Portnummer von eingehendem Datenverkehr zur privaten IP-Adresse und Portnummer einer VM im Back-End-Pool zu. Die Antworten werden dann an den Client zurückgegeben. Durch Anwendung von Lastenausgleichsregeln können Sie bestimmte Arten von Datenverkehr auf mehrere virtuelle Computer und Dienste verteilen.

Verteilungsmodi

Azure Load Balancer verteilt Netzwerkdatenverkehr standardmäßig gleichmäßig auf VM-Instanzen. Die folgenden Verteilungsmodi können ebenfalls verwendet werden, wenn ein anderes Verhalten erforderlich ist:

  • Fünf-Tupel-Hash: Der Standardverteilungsmodus für Load Balancer ist ein Fünf-Tupel-Hash. Das Tupel besteht aus Quell-IP, Quellport, Ziel-IP, Zielport und Protokolltyp. Da der Quellport im Hash enthalten ist und der Quellport für jede Sitzung geändert wird, können Clients für jede Sitzung an eine andere VM weitergeleitet werden.

    Diagramm zeigt die Funktionsweise der Hash-basierten Verteilung.

  • Quell-IP-Affinität: Dieser Verteilungsmodus ist auch als Sitzungsaffinität oder Client-IP-Affinität bekannt. Der Quell-IP-Affinitätsmodus verwendet einen Zwei-Tupel-Hash (aus der Quell-IP-Adresse und Ziel-IP-Adresse) oder einen Drei-Tupel-Hash (aus der Quell-IP-Adresse, der Ziel-IP-Adresse und dem Protokolltyp), um Datenverkehr verfügbaren Servern zuzuordnen. Der Hash stellt sicher, dass Anforderungen von einem bestimmten Client immer an dieselbe VM hinter dem Lastenausgleich gesendet wird.

    Diagramm zeigt die Funktionsweise der Sitzungsaffinität.

Auswählen eines Verteilungsmodus

Stellen Sie sich im Beispiel der Gesundheitsportals vor, dass eine Entwickleranforderung der Präsentationsschicht darin besteht, In-Memory-Sitzungen zum Speichern des Profils des angemeldeten Benutzers zu verwenden, wenn Benutzer mit dem Portal interagieren.

In diesem Szenario muss der Lastenausgleich Quell-IP-Affinität bereitstellen, um die Sitzung eines Benutzers aufrechtzuerhalten. Das Profil wird nur auf der VM gespeichert, mit der der Client zuerst eine Verbindung hergestellt hat, da diese IP-Adresse an denselben Server weitergeleitet wird. Beim Erstellen des Lastenausgleichsendpunkts müssen Sie den Verteilungsmodus festlegen, indem Sie das folgende PowerShell-Beispiel verwenden:

$lb = Get-AzLoadBalancer -Name MyLb -ResourceGroupName MyResourceGroup
$lb.LoadBalancingRules[0].LoadDistribution = 'sourceIp'
Set-AzLoadBalancer -LoadBalancer $lb

So fügen Sie Sitzungspersistenz über das Azure-Portal hinzu

  1. Wählen Sie im Azure-Portal die Lastenausgleichsressource aus.

  2. Wählen Sie auf der Seite Lastenausgleichsregeln im Bereich Einstellungen die entsprechende Lastenausgleichsregel aus.

    Screenshot, der zeigt, wie eine Lastenausgleichsregel im Azure-Portal ausgewählt wird.

  3. Ändern Sie auf der Seite mit den Einstellungen für die Lastenausgleichsregel den Wert für die Sitzungspersistenz vonKeine in Client-IP.

Screenshot: Festlegen der IP-Affinität im Azure-Portal.

Load Balancer und Remotedesktopgateway

Remotedesktopgateway ist ein Windows-Dienst, der es Clients im Internet ermöglicht, RDP (Remotedesktopprotokoll)-Verbindungen durch Firewalls mit Remotedesktopservern in Ihrem privaten Netzwerk herzustellen. Der standardmäßig verwendete Fünf-Tupel-Hash in Load Balancer ist nicht mit diesem Dienst kompatibel. Wenn Sie Load Balancer mit Ihren Remotedesktopservern verwenden möchten, verwenden Sie die Quell-IP-Affinität.

Load Balancer und Hochladen von Medien

Ein weiterer Anwendungsfall für die Quell-IP-Affinität ist das Hochladen von Medien. In vielen Implementierungen startet ein Client eine Sitzung über ein Transmission Control-Protokoll (TCP)-Protokoll und stellt eine Verbindung mit einer Ziel-IP-Adresse her. Diese Verbindung bleibt zur Überwachung des Fortschritts während des gesamten Uploads geöffnet, die Datei wird jedoch über ein separates User Datagram-Protokoll (UDP)-Protokoll hochgeladen.

Beim Fünf-Tupel-Hash sendet das Lastenausgleichsmodul wahrscheinlich TCP- und UDP-Verbindungen an verschiedene Ziel-IP-Adressen, sodass der Upload nicht erfolgreich abgeschlossen wird. Verwenden Sie die Quell-IP-Affinität, um dieses Problem zu beheben.