- Software-defined networking with VMware NSX – Part 01 – Deployment of a NSX infrastructure
- Software-defined networking with VMware NSX – Part 02 – Logical switching and NAT with Edge Services Gateway
- Software-defined networking with VMware NSX – Part 03 – Load balancing with Edge Services Gateway
In meiner 3-teiligen Blogserie „Software-defined networking with VMware NSX“ möchte ich euch zeigen, wie man technisch
- VMware NSX in eine vorhandene VMware vSphere Infrastruktur deploy’t
- mittels VMware NSX ein logisches auf VXLAN basierendes isoliertes VM-Netzwerk erstellt
- per VMware NSX ein hochverfügbares virtuelles Edge Services Gateway mit NAT- und Loadbalancer-Funktionalität bereitstellt und konfiguriert
Zusätzlich zum technischen Deployment dieser Funktionen werde ich die einzelnen Basis“rollen“ und -funktionen der beteiligten NSX-Komponenten in jedem Kapitel beim entsprechenden Schritt erläutern. Wer weiterführende Informationen zu den einzelnen Komponenten und möglichen Konzepten benötigt, wird im VMware® NSX for vSphere (NSX-V) Network Virtualization Design Guide fündig.
Im ersten Teil der „Software-defined networking with VMware NSX“ Blogserie haben wir bereits die NSX Infrastrukturkomponenten implementiert. Im 2. Teil der Serie haben wir zudem ein hochverfügbares Edge Services Gateway und dessen NAT-Funktionalität konfiguriert. Auf Basis dessen möchte ich euch in diesem Artikel zeigen, wie man die Load Balancing Funktion einsetzen kann.
Wo stehen wir? Nach Realisierung der Schritte aus den ersten beiden Blogartikeln der Serie, sieht unsere Umgebung so aus:
01. Ausgangssituation
02. Konfiguration von Load-Balancing im Edge Services Gateway
In diesem Blogartikel erweitern wir das bereits implementierte Edge Services Gateway um die Loadbalancer Funktionalität von NSX.
- wir klicken doppelt auf unser angelegtes Edge-Services-Gateway
- im Reiter „Verwalten“- “ Lastausgleichsdienst“ – „Globale Konfiguration“ klicken wir auf „Bearbeiten“,…
- …aktivieren das Loadbalancing über „Lastenausgleich aktivieren“ und Bestätigen mit „OK“
- im nächsten Schritt fügen wir über „Anwendungsprofile“ – „+“ ein Anwendungsprofil hinzu
- in dieser Beispielkonfiguration legen wir uns ein RDP-Profil an (Mögliche Konfigurationen können im NSX Documentation Center unter Create an Application Profile eingesehen werden)
- im nächsten Schritt legen wir uns über „Dienstüberwachung“ einen Service Monitor an. Dieser überwacht die späteren Server-Member innerhalb des Pools an Hand der eingestellten und definierten Parameter (Einstellungsmöglichkeiten sind im NSX Documentation Center unter Create a Service Monitor einsehbar)
- im nächsten Schritt legen wir einen Pool an, in dem wir die virtuellen Maschinen angeben, auf die die Last verteilt werden soll und mit welchem Service Monitor der Zustand der Systeme geprüft werden soll
- unter „Pools“ – „+“ legen wir einen neuen Pool an
- wir vergeben einen Namen für den Pool, geben den Loadbalancing Algorithmus an und weisen den angelegten Service Monitor zu
- über „+“ können wir die virtuellen Maschinen hinzufügen, auf die die Last verteilt werden soll
- wir aktivieren das Mitglied und fügen über „Auswählen“ den demolin06 als 1. Member hinzu
- da wir beispielhaft RDP-Traffic zwischen demolin06 und demolin05 verteilen wollen, geben wir den Port 3389 an, sowie eine entsprechende Gewichtung, maximale Anzahl, sowie Mindestanzahl an Verbindungen (in diesem Beispiel sehr gering, da ich der einzige Testuser bin 😉 )
- über „+“ nehmen wir die VM demolin05 als 2. Member mit den entsprechenden identischen Einstellungen in den Pool mit auf
- mit „OK“ schließen wir die Poolkonfiguration ab
- in den kommenden Schritten legen wir den virtuellen Server mit der IP an, über die das Loadbalancing funktionieren soll und verknüpfen diesen mit dem angelegten Anwendungsprofil und dem Server-Pool
- unter „Virtuelle Server“ – „+“ starten wir die Anlage des virtuellen Servers
- wir weisen unser angelegtes Anwendungsprofil zu und geben über „IP-Adresse auswählen“ an, dass der Loadbalancer „hinter“ der virtuellen IP-Adresse unseres Edge-Services-Gateway im NAT-Network auf die Member des Server-Pools Traffic verteilen soll
- wir geben den Port 3389 für RDP an und weisen den angelegten RDP_Pool (und die damit verbunden Server-Member, auf die die Last verteilt werden soll) zu
- unter „Verwalten“ und „NAT“ sehen wir, dass der Loadbalancer automatisch eine DNAT Rule für die IP des Edge Services Gateway angelegt hat (Nr. 1)
- ein Loadbalancing innerhalb des NAT-Network funktioniert nun: ein Aufbau einer RDP-Verbindung auf die IP des Edge Services Gateway (10.10.10.254) wird im Round-Robin-Verfahren im Wechsel auf demolin05 und demolin05 verteilt
03. Anpassen der vorhandenen DNAT-Rule im Edge Services Gateway auf Loadbalancer Adresse
Um das Loadbalancing von „außen“ nutzen zu können, konfigurieren wir die im 2. Teil der Serie konfigurierte NAT-Rule um, so dass externe Zugriffe nicht direkt auf den demolin06 „übersetzt“ werden, sondern auf die virtuelle IP des Edge-Services Gateway, welches anschließend auf den demolin05 und demolin06 loadbalanced.
- wir editieren die NAT-Rule Nr. 2 über das „Stift“-Symbol…
- …und ändern die IP-Adresse des demolin06 auf die IP-Adresse des virtuellen Servers
- über „Änderungen veröffentlichen“ schalten wir die Konfiguration „scharf“
- im Reiter „Lastenausgleichsdienst“ – „Pools“ – „Poolstatistik anzeigen“ sehen wir, dass beide Member „up“ sind
- wir testen die Verbindung von „außen“…
- …und sehen, dass die RDP-Verbindung erfolgreich auf demolin05 aufgebaut wurde
- um das Loadbalancing und die Checks zu überprüfen, trennen wir die RDP-Verbindung und fahren die VM demolin05 herunter
- im Reiter „Lastenausgleichsdienst“ – „Pools“ – „Poolstatistik anzeigen“ sehen wir nun, dass nur noch demolin06 „up“ ist
- wir testen erneut eine RDP-Verbindung…
- …und sehen, dass die RDP-Verbindung erfolgreich auf den verbleibenden Member des Server-Pools demolin06 aufgebaut wurde
04. Überwachung der Zugriffe per Flow Monitoring
Wie bereits im 2. Teil der Serie erwähnt, ist in VMware NSX ein Flow Monitoring integriert. Den Traffic der soeben aufgebauten Verbindung würde ich gerne ansehen.
- im Reiter “Live-Flow” über vNIC “Durchsuchen” unseren demolin06 anwählen, den Live-Monitor “Starten”…
- …und schon ist auch hier der RDP-Traffic in Richtung demolin06 zu sehen (in unserer derzeitigen Konfiguration von der virtuellen Serveradresse des Edge Services Gateway aus)
- setzen wir im Pool des Lastausgleichsdienstes den Haken bei „Transparent“…
- …und starten erneut den Flow Monitor,…
- …sehen wir die Verbindung der externen IP-Adresse von „außen“ auf unseren demolin06
And that’s it. Ich hoffe, ich konnte euch die Funktionalitäten und Möglichkeiten von VMware NSX in meiner Blogserie etwas näher bringen. Das Produkt bietet noch viele Möglichkeiten und Funktionalitäten mehr. Dies war nur ein kurzer erster Einblick. Interesse? Fragen? Ich stehe jederzeit gerne persönlich zur Verfügung 🙂
– I wish I could be a Virtual Machine –
Benjamin Ulsamer
Senior Consultant & Trainer
teamix GmbH
PS: Wer selbst erste technische Erfahrungen mit VMware NSX machen möchte, aber nicht die Zeit hat, sich eine eigene Lab-Umgebung zu bauen, der kann dies kostenfrei in den VMware Hands-On-Labs tun. Die entsprechenden Labs sind:
- HOL-SDC-1403 – VMware NSX Introduction (Component Overview, Logical Switching, Logical Routing, Distributed Firewall, Edge Services Gateway)
- HOL-SDC-1425 – VMware NSX Advanced (DHCP Relay, Scale Out L3, L2VPN, Trend Micro Integration, Riverbed Integration)