Das Edge Services Gateway (ESG) kann als Proxy für den eingehenden Benutzerdatenverkehr angesehen werden.

Im Proxymodus verwendet der Load Balancer seine eigene IP-Adresse als Quelladresse, um Anforderungen an einen Backend-Server zu senden. Der Backend-Server interpretiert jeden Datenverkehr so, als würde er vom Load Balancer gesendet werden, und antwortet dem Load Balancer direkt. Dieser Modus wird auch als SNAT-Modus oder nicht-transparenter Modus bezeichnet. Weitere Informationen finden Sie unter Administratorhandbuch für NSX.

Ein typischer einarmiger NSX-Load-Balancer wird in demselben Subnetz wie seine Backend-Server bereitgestellt, getrennt vom logischen Router. Der virtuelle Server des NSX-Load-Balancer hört eine virtuelle IP auf eingehende Anforderungen ab und verteilt die Anforderungen an die Backend-Server. Für den Datenverkehr in der Gegenrichtung ist eine umgekehrte NAT erforderlich, um die Quell-IP-Adresse vom Backend-Server in eine virtuelle IP-Adresse (VIP) umzuwandeln und dann die VIP-Adresse an den Client zu senden. Ohne diesen Vorgang kann die Verbindung zum Client unterbrochen werden.

Nachdem das ESG den Datenverkehr empfängt, führt es die folgenden zwei Vorgänge aus:
  • Destination Network Address Translation (DNAT) zum Ändern der VIP-Adresse zur IP-Adresse einer der Load Balancer-Maschinen
  • Source Network Address Translation (SNAT) zum Wechseln der Client-IP-Adresse mit der ESG-IP-Adresse

Dann sendet der ESG-Server den Datenverkehr an den Load-Balancer-Server und der Load-Balancer-Server sendet die Antwort zurück an das ESG und weiter an den Client. Diese Option ist sehr viel einfacher zu konfigurieren als der Inline-Modus. Es sind aber zwei potenzielle Einschränkungen vorhanden. Erstens erfordert dieser Modus einen dedizierten ESG-Server, zweitens kennen die Load-Balancer-Server die Original-IP-Adresse des Client nicht. Eine Problemumgehung für HTTP- oder HTTPS-Anwendungen besteht in der Aktivierung der Option „X-Forwarded-For“ einfügen (Insert X-Forwarded-For) im HTTP-Anwendungsprofil, damit die Client-IP-Adresse in den X-Forwarded-For-HTTP-Header der Anforderung übertragen wird, die zum Backend-Server gesendet wird.

Wenn der Backend-Server die Client-IP-Adresse für andere Anwendungen als HTTP oder HTTPS kennen muss, können Sie den IP-Pool so konfigurieren, dass er transparent ist. Wenn sich die Clients nicht in demselben Subnetz befinden wie die Backend-Server, sollte der Inline-Modus verwendet werden. Andernfalls müssen Sie die IP-Adresse des Load Balancer als Standard-Gateway des Backend-Servers verwenden.

Hinweis:
In der Regel gibt es drei Methoden, um die Verbindungsintegrität zu gewährleisten:
  • Inline-/Transparent-Modus
  • SNAT-/Proxy-/nicht-transparenter Modus (siehe Erläuterungen weiter oben)
  • Direct Server Return (SDR) – derzeit nicht unterstützt
Im DSR-Modus sendet der Backend-Server die Antwort direkt an den Client. Aktuell unterstützt der NSX-Load-Balancer DSR nicht.

Der folgende Vorgang erläutert die Konfiguration eines einarmigen Load Balancers mit dem Anwendungsprofil-Typ HTTPS Offloading (SSL-Offloading).

Prozedur

  1. Melden Sie sich beim vSphere Web Client an.
  2. Klicken Sie auf Netzwerk und Sicherheit (Networking & Security) > NSX Edges.
  3. Doppelklicken Sie auf eine NSX Edge-Instanz.
  4. Klicken Sie auf Verwalten (Manage) > Einstellungen (Settings) > Zertifikat (Certificate).
    In diesem Szenario fügen Sie ein selbstsigniertes Zertifikat hinzu.
  5. Aktivieren Sie den Load-Balancer-Dienst.
    1. Klicken Sie auf Verwalten (Manage) > Load Balancer > Globale Konfiguration (Global Configuration).
    2. Klicken Sie auf Bearbeiten (Edit) und aktivieren Sie den Load Balancer.
  6. Erstellen Sie ein HTTPS-Anwendungsprofil.
    1. Klicken Sie auf Verwalten (Manage) > Load Balancer > Anwendungsprofile (Application Profiles).
    2. Klicken Sie auf Hinzufügen (Add) und geben Sie die Anwendungsprofil-Parameter an.
      Version Vorgehensweise
      NSX 6.4.5 und höher
      1. Wählen Sie im Dropdown-Menü Anwendungsprofil-Typ (Application Profile Type) HTTPS-Offloading (HTTPS Offloading) aus.
      2. Geben Sie im Textfeld Name den Namen des Profils ein. Geben Sie beispielsweise Web-SSL-Profil ein.
      3. Klicken Sie auf Client-SSL (Client SSL) > Dienstzertifikate (Service Certificates).
      4. Wählen Sie das selbstsignierte Zertifikat, das Sie zuvor hinzugefügt haben.
      NSX 6.4.4 und früher
      1. Wählen Sie im Dropdown-Menü Typ (Type) HTTPS.
      2. Geben Sie im Textfeld Name den Namen des Profils ein. Beispielsweise Web-SSL-Profil.
      3. Aktivieren Sie das Kontrollkästchen Dienstzertifikat konfigurieren (Configure Service Certificate).
      4. Wählen Sie das selbstsignierte Zertifikat, das Sie zuvor hinzugefügt haben.
  7. (Optional) Klicken Sie auf Verwalten (Manage) > Load Balancer > Dienstüberwachung (Service Monitoring). Bearbeiten Sie die Standard-Dienstüberwachung, um sie nach Bedarf von grundlegendem HTTP oder HTTPS in eine bestimmte URL oder URIs zu ändern.
  8. Erstellen Sie einen Serverpool.
    1. Klicken Sie auf Verwalten (Manage) > Load Balancer > Pools und dann auf Hinzufügen (Add).
    2. Geben Sie im Textfeld Name einen Namen für den Serverpool ein. Geben Sie beispielsweise Web-Tier-Pool-01 ein.
    3. Wählen Sie im Dropdown-Menü Algorithmus (Algorithm) Round-Robin aus.
    4. Wählen Sie im Dropdown-Menü Monitore (Monitors) default_https_monitor aus.
    5. Fügen Sie dem Pool zwei Mitglieder hinzu.
      Geben Sie z. B. die folgenden Konfigurationseinstellungen an.
      Bundesland Name IP-Adresse Gewichtung Überwachungsport Port Maximale Anzahl an Verbindungen Mindestanzahl an Verbindungen
      Aktiviert web-01a 172.16.10.11 1 443 443 0 0
      Aktiviert web-02a 172.16.10.12 1 443 443 0 0
    6. Um den SNAT-Modus zu verwenden, stellen Sie sicher, dass die Option Transparent nicht aktiviert ist.
  9. Klicken Sie auf Status anzeigen (Show Status) oder Poolstatistik anzeigen (Show Pool Statistics) und stellen Sie sicher, dass der Status des Web-Tier-Pool-01-Pools UP (Aktiv) ist.
    Wählen Sie den Pool und stellen Sie sicher, dass der Status beider Mitglieder dieses Pools UP (Aktiv) ist.
  10. Erstellen Sie einen virtuellen Server.
    1. Klicken Sie auf Verwalten (Manage) > Load Balancer > Virtuelle Server (Virtual Servers) und dann auf Hinzufügen (Add).
    2. Geben Sie die Parameter des virtuellen Servers an.

      Geben Sie z. B. die folgenden Konfigurationseinstellungen an.

      Option Beschreibung
      Virtueller Server Aktivieren Sie den virtuellen Server.
      Beschleunigung Wenn Sie den L4-Load Balancer für UDP oder ein leistungsstärkeres TCP verwenden möchten, aktivieren Sie die Beschleunigung. Wenn Sie diese Option aktivieren, stellen Sie sicher, dass der Status der Firewall beim NSX Edge-Load-Balancer „aktiviert“ ist, da eine Firewall für L4-SNAT erforderlich ist.
      Anwendungsprofil Geben Sie OneArmWeb-01 ein.
      IP-Adresse Wählen Sie 172.16.10.110 .
      Protokoll Wählen Sie HTTPS aus.
      Port Geben Sie 443ein.
      Standardpool Wählen Sie den Serverpool Web-Tier-Pool-01, den Sie zuvor erstellt haben.
      Verbindungsgrenzwert Geben Sie 0ein.
      Grenzwert für Verbindungsrate Geben Sie 0ein.
    3. (Optional) Klicken Sie auf die Registerkarte Erweitert (Advanced) und ordnen Sie dem virtuellen Server eine Anwendungsregel zu.
      Weitere unterstützte Beispiele finden Sie unter https://communities.vmware.com/docs/DOC-31772.

    Im nichttransparenten Modus kann der Backend-Server nicht die Client-IP, aber die interne IP-Adresse des Load Balancer erkennen. Wählen Sie als Umgehung für HTTP- oder HTTPS-Datenverkehr HTTP-Header „X-Forwarded-For“ einfügen (Insert X-Forwarded-For HTTP header) im Anwendungsprofil aus. Wenn diese Option ausgewählt ist, fügt der Edge Load Balancer den Header „X-Forwarded-For“ mit dem Wert der Client-Quell-IP-Adresse hinzu.