Anleitung: Azure Load-Balancer für öffentliche IIS-Website einrichten

    Azure Load-Balancer einrichtenUm die Last von Anfragen aus dem Inter­net auf die Backend-Systeme zu ver­teilen, sieht Azure seinen Load-Balancer vor. Dieser gibt etwa HTTP-Anfragen auf Port 80 an IIS-Server weiter und prüft via Health-Probe den Dienst­status. So stellt er sicher, dass Clients beim Ausfall eines Web-Servers auf andere verbunden werden.

    In einem vorangegangenen Beitrag habe ich bereits die Möglich­keiten des Load-Balancings mit dem Lasten­verteilungs­modul von Azure dargestellt. Diese Anleitung zeigt nun die Einrichtung eines public Load-Balancers. Voraussetzung dafür ist grundlegend natürlich eine Azure-Subscription.

    Schritte zur Einrichtung einer Lastverteilung

    Folgender Fahrplan ist eine Möglichkeit zur Konfiguration:

    • eine Ressourcen­gruppe erstellen, welche alle Komponenten aufnimmt
    • das virtuelle Netzwerk festlegen
    • virtuelle Maschinen definieren
    • Network-Security-Groups (NSG) für Port 80 vorbereiten
    • den öffentlichen Load-Balancer inklusive Health Probe und TCP-80-Regel konfigurieren

    Ressourcengruppe und virtuelles Netzwerk

    Zu Beginn richten wir eine Ressourcen­gruppe ein, welche später als Container für alle Komponenten dient. In meinem Fall heißt diese kueppers.lab, sie wird in weiteren Konfigurationen immer wieder verwendet. Als Region lege ich West Europa fest.

    Neue Ressourcengruppe für den Load-Balancer hinzufügen

    Zusätzlich erstelle ich ein virtuelles Netzwerk samt IP-Bereich für die VMs, dieses lege ich in der vorhandenen Ressourcen­gruppe ab. Der Adressraum ist 172.16.0.0/16 (CIDR Notation) und das Subnetz A 172.16.5.0/24.

    Virtuelle Maschinen für den Backend-Pool

    Damit die TCP-Anfragen später auf Maschinen im Backend verteilt werden können, sind mindestens zwei davon erforderlich. Für diese Anleitung erstelle ich zwei VMs mit Windows Server 2019 Datacenter, welche dann den IIS-Dienst 10.0 ausführen.

    Erstellen von zwei virtuellen Maschinen für das Load-Balancing

    Auch sie ordne ich der anfangs definierten Ressourcen­gruppe zu. Die Maschinen werden durch Network-Security-Groups abgesichert, der TCP-Port 80 wird hier eingehend geöffnet.

    Öffentlichen Load-Balancer erstellen

    Den Public Load-Balancer kann man wie üblich über den Marketplace (Marktplatz) beziehen, oder vielleicht haben Sie dafür schon einen Favoriten angelegt. Über Create Load-Balancer (Erstellen) oder Add (Hinzufügen) gelangt man zum Konfi­gurations­assi­stenten.

    Konfiguration des Load Balancers starten

    Dieser fragt wieder nach der Ressourcen­gruppe, dem Typ des Lasten­ausgleichs und der Region. In unserem Fall soll der Load-Balancer vom Internet aus erreichbar sein, also vom Typ Public.

    In diesem Zug wird gleichzeitig, falls noch nicht vorhanden, eine neue öffentliche IP erstellt. Beim SKU wählen wir Standard, den Unterschied zu Basic habe ich bereits im oben verlinkten Beitrag erläutert.

    Parameter für Load-Balancer festlegen

    Nachdem die entsprechenden Werte festgelegt wurden, validiert der Prozess meine Eingaben und gibt sie in einer Übersicht aus. Über Erstellen (Create) wird das Lasten­ausgleichs­modul erstellt.

    Validierung der LB-Konfiguration und Überblick vor der Erstellung

    Der Fortschritt der Bereitstellung kann in der Übersicht verfolgt werden. Von hier erreicht man den Load-Balancer dann auch nach dem Abschluss des Deployments. In meinem Fall heißt er LB-Lab.

    Abschluss des Deployment-Prozesses und Link zum Load Balancer in der Übersicht

    Nach dem Klick auf den Link können wir unterhalb den Load-Balancer jetzt weiter anpassen. Dazu zählt die Frontend-IP-Konfiguration, welche zuvor neu festgelegt wurde. Danach kann der Backend-Pool definiert werden.

    Backend-Pool für Load-Balancer definieren

    Dieser besteht in unserem Fall aus den bereits erstellten virtuellen Maschinen SRV-2019-01 und SRV-2019-02. In beiden habe ich den Web-Server aktiviert. Durch die Festlegung des virtuellen Netzwerkes erhalten beide eine IP aus diesem Bereich, also 172.16.5.4 und 172.16.5.5.

    Definierter Backend-Pool inklusive virtueller Maschinen

    Danach konfiguriere ich die Health Probe für Port 80. Geben Sie hier einen Namen, das Protokoll, den Port, das Prüfintervall und einen Schwellenwert an.

    Health Probe für Load-Balancer einrichten

    Abschließend definieren wir eine Regel für den Lasten­ausgleich. Dafür sind ein Name nötig, sowie die IP Version. Hier lässt sich auch die Frontend-IP-Adresse auswählen, welche aus dem Internet erreichbar ist. Weiter geht es zum Port, dem Backend-Port, des Backend-Pools und der Health Probe.

    Lastverteilungsregel konfigurieren

    Nachdem diese Regel angelegt wurde, können die virtuellen Server aus dem Internet über den Load-Balancer erreicht werden.

    Dieser regelt die eingehenden Anfragen über seinen standard­mäßigen 5-Tuple-Hash. Solange sich hier keine Ausgangs­werte ändern, landen Sie mit dem gleichen Client immer wieder auf dem gleichen IIS-Server. Fahren wir aber zum Test einen Server herunter, sollte das der Health Probe erkennen und uns auf die zweite VM umleiten.

    Keine Kommentare