ADC

So konfigurieren Sie die Persistenz in GSLB

Persistenz stellt sicher, dass eine Reihe von Clientanfragen für einen bestimmten Domainnamen an dasselbe Rechenzentrum gesendet wird, anstatt einen Lastenausgleich vorzunehmen. Wenn Persistenz für eine bestimmte Domäne konfiguriert ist, hat sie Vorrang vor der konfigurierten GSLB-Methode. Sie können Persistenz für Bereitstellungen verwenden, bei denen Informationen zu einer Client-Transaktion lokal auf einer Instance gespeichert werden, die die ersten Anfragen bearbeitet hat. Zum Beispiel die Bereitstellungen für E-Commerce, die einen Einkaufswagen verwenden, bei denen der Server den Verbindungsstatus aufrechterhalten muss, um die Transaktion verfolgen zu können. Die NetScaler-Appliance wählt ein Rechenzentrum aus, um eine Client-Anfrage zu verarbeiten. Wenn die Persistenz aktiviert ist, leitet es dieselbe IP-Adresse des ausgewählten Rechenzentrums für alle nachfolgenden DNS-Anfragen (Domain Name System) weiter. Wenn eine Persistenzsitzung auf ein ausfallendes Rechenzentrum verweist, verwendet die NetScaler-Appliance die konfigurierte GSLB-Methode, um ein neues Rechenzentrum auszuwählen. Es wird dann für nachfolgende Anfragen des Clients persistent. Für die Persistenz in GSLB muss derselbe Satz von Persistenz-Identifikatoren (PersistID) auf den virtuellen GSLB-Servern in allen Rechenzentren konfiguriert werden. Das GSLB-Modul verwendet den Persistenz-Identifier, um einen virtuellen GSLB-Server eindeutig zu identifizieren. Wenn die Quell-IP-Persistenz auf dem virtuellen GSLB-Server aktiviert ist, werden die Persistenzsitzungen auch im Rahmen des Metrikaustauschs ausgetauscht. Damit die NetScaler-Appliance standortübergreifende Persistenz unterstützt, muss die persistenzbezogene Konfiguration an allen teilnehmenden GSLB-Sites vorgenommen werden. Citrix empfiehlt die Persistenz in GSLB für statusorientierte Anwendungen, bei denen die Clients für die nachfolgenden Anfragen erneut eine Verbindung zu derselben Anwendungsinstanz herstellen müssen.

Sie können Persistenz in GSLB auf folgende Weise erreichen:

  • Persistenz auf dem virtuellen GSLB-Server
  • Persistenz der Website auf GSLB-Diensten

Persistenz auf dem virtuellen GSLB-Server

Die Persistenz auf dem virtuellen GSLB-Server wird während der DNS-Anfragen verwendet. Die Quell-IP-Adresse der DNS-Anfrage wird verwendet, um eine Persistenzsitzung zwischen dem Client und dem Rechenzentrum zu erstellen. DNS-Clients sind in der Regel lokale DNS- (LDNS) oder DNS-Gateways, die eine Reihe von Clients, die hinter ihnen sitzen, als Proxy verwenden (bei ISPs). Die Persistenz auf einem virtuellen GSLB-Server ist unabhängig vom Anwendungsprotokoll. Im Allgemeinen werden mehrere DNS-Gateways oder Local Domain Name Server (LDNS) im Client-Netzwerk konfiguriert. Citrix empfiehlt Ihnen, eine geeignete Persistenzmaske zu konfigurieren, da der Client für die nachfolgenden DNS-Anfragen unabhängig von den Upstream-LDNS-Geräten, die für die Verbindung mit der ADC-Appliance verwendet werden, in demselben Rechenzentrum bestehen kann, das die früheren Anfragen bearbeitet hat. Nachdem die Persistenzsitzung für eine LDNS-IP-Adresse erstellt wurde, erhalten alle Endclients, die über dieses LDNS eine Verbindung herstellen, dieselbe IP-Adresse des Rechenzentrums.

Persistenz der Website auf GSLB-Diensten

Die Persistenz der Website wird während der Bearbeitung der Anwendungsanfragen wirksam. Die Persistenz der Website funktioniert nur für HTTP- und HTTPS-Verkehr, da die Persistenz mithilfe von HTTP-Cookies erreicht wird. Da Cookies auf HTTP-Clients (Browsern) verwaltet werden, erhalten Sie Einblick in die Clients, die sich hinter den DNS-Gateways befinden. Wenn Sie Cookies verwenden, um die Persistenz für Clients zu erreichen, werden auf der ADC-Appliance für jeden eingehenden Client keine Ressourcen verbraucht. Wenn Sie einen GSLB-Dienst mit einer Verzögerungszeit herunterfahren, geht der Dienst in den Status „Transition to Out of Service“ (TROFS) über. Persistenz wird unterstützt, solange sich der Dienst im UP- oder TROFS-Status befindet. Das heißt, wenn derselbe Client innerhalb der angegebenen Verzögerungszeit eine Anfrage für denselben Dienst sendet, nachdem ein Dienst als TROFS markiert wurde, bearbeitet derselbe GSLB-Standort (Rechenzentrum) die Anfrage.

Wenn Sie über einen Alias auf eine Anwendung zugreifen, stellen Sie sicher, dass der CNAME-Datensatz auch auf der NetScaler-Appliance konfiguriert ist. In einer übergeordneten und untergeordneten Topologie funktioniert die Site-Persistenz nicht, wenn Sie über einen Alias auf eine Anwendung zugreifen.

Hinweis

Wenn der Verbindungsproxy als Site-Persistenzmethode angegeben ist und Sie auch die Persistenz auf virtuellen LB-Servern konfigurieren möchten, wird die Quell-IP-Persistenz nicht empfohlen. Wenn die Verbindung über einen Proxy übertragen wird, wird eine IP-Adresse verwendet, die der ADC-Appliance gehört, und nicht die tatsächliche IP-Adresse des Clients. Konfigurieren Sie eine geeignete Persistenz, die die Quell-IP der HTTP (S) -Anfrage nicht verwendet, um den Client zu identifizieren, z. B. Cookie-Persistenz oder regelbasierte Persistenz.

Konfigurieren Sie die Persistenz basierend auf der Quell-IP-Adresse

Wenn die Quell-IP-Persistenz auf dem virtuellen GSLB-Server konfiguriert ist, werden Persistenzsitzungen für die Quell-IP-Adresse der DNS-Anfrage erstellt. Abhängig von der ECS-Funktion (Extended Client Subnet) wird die Quell-IP-Adresse der DNS-Anfrage aus einer der folgenden Quellen übernommen:

Persistenzsitzungen für einen Client dauern bis zum Persistenz-Timeout. Nach Ablauf des Timeouts werden bestehende Persistenzsitzungen gelöscht. Für nachfolgende Anfragen wird eine neue GSLB-Entscheidung getroffen und möglicherweise eine andere GSLB-Dienst-IP-Adresse ausgewählt. Die Quell-IP-Persistenz auf dem virtuellen GSLB-Server und die Site-Persistenz auf dem GSLB-Dienst ergänzen sich gegenseitig. Wenn die Quell-IP-Persistenz auf dem virtuellen GSLB-Server deaktiviert ist, wählt der virtuelle GSLB-Server jedes Mal, wenn der DNS versucht, die Auflösung vorzunehmen, einen anderen GSLB-Dienst aus. Der Client stellt auch eine Verbindung zu einem anderen GSLB-Dienst her und das Rechenzentrum, das die Anwendungsanforderung empfängt, stellt die Verbindung zu dem Rechenzentrum her, das den Client zuerst bedient hat. Dies könnte zu einer gewissen Latenz führen. Durch die Aktivierung der Quell-IP-Persistenz auf dem virtuellen GSLB-Server können also häufige Mehrfachsprünge für Anwendungsanfragen vermieden werden. Wenn die Quell-IP-Persistenzsitzung abgelaufen ist und der Client danach wieder eine Verbindung herstellt, verbindet die Site-Persistenz den Client wieder mit dem Rechenzentrum, das den Client ursprünglich bedient hatte. Wenn der Client eine Verbindung über ein DNS-Gateway herstellt, das nicht in den konfigurierten Persistenzmaskenbereich fällt, hilft die Standortpersistenz den Clients außerdem, sich an das Rechenzentrum zu halten, das die erste Anfrage bearbeitet hat.

So konfigurieren Sie die Persistenz basierend auf der Quell-IP-Adresse über die Befehlszeilenschnittstelle

Geben Sie in der Befehlszeile Folgendes ein:

set gslb vserver <name> -persistenceType (SOURCEIP|NONE) -persistenceId <positive_integer> [-persistMask <netmask>] –[timeout <mins>]
<!--NeedCopy-->

Beispiel:

set gslb vserver vserver-GSLB-1 -persistenceType SOURCEIP -persistenceId 23 -persistMask 255.255.255.255 –timeout 2
<!--NeedCopy-->

So konfigurieren Sie die Persistenz auf der Grundlage der Quell-IP-Adresse mithilfe der GUI

  1. Navigieren Sie zu Traffic Management > GSLB > Virtual Servers und doppelklicken Sie auf den virtuellen GSLB-Server, dessen Methode Sie ändern möchten (z. B. vServer-GSLB-1).
  2. Klicken Sie auf den Abschnitt Persistenz und wählen Sie in der Dropdownliste Persistenz die Option SOURCEIP aus und legen Sie die folgenden Parameter fest:
    • Persistenz-ID — Persistence-ID
    • Auszeit — Auszeit
    • IPv4-Netzmaske oder IPv6-Maskenlänge — PersistMask

Konfigurieren Sie die Persistenz der Website auf der Grundlage von HTTP-Cookies

Die Persistenz der Website wird mithilfe von HTTP-Cookies (bekannt als „Site-Cookie“) erreicht, um den Client erneut mit demselben Server zu verbinden. Wenn die GSLB-Appliance auf eine Client-DNS-Anfrage reagiert, indem sie die IP-Adresse der ausgewählten GSLB-Site sendet, sendet der Client eine HTTP-Anfrage an diese GSLB-Site. Der Anwendungsendpunkt auf dieser GSLB-Site fügt dem HTTP-Header ein Site-Cookie hinzu, und die Seitenpersistenz ist wirksam. Wenn der Client eine DNS-Anfrage sendet, nachdem der Client-Cache abgelaufen ist, wird die DNS-Anfrage möglicherweise an eine andere GSLB-Site weitergeleitet. Die neue GSLB-Site verwendet das im Client-Request-Header enthaltene Site-Cookie, um die Persistenz zu implementieren. Die Funktion „Site-Persistenz“ wird unter den folgenden Bedingungen aktiv:

  • Wenn der Domainname im Host-Header mit einer der GSLB-Domänen übereinstimmt
  • Wenn die Site-Persistenz im GSLB-Dienst aktiviert ist, stellt dies den virtuellen Server dar, der den Anwendungsdatenverkehr empfängt.

Das Site-Cookie enthält Informationen über den ausgewählten GSLB-Dienst, zu dem der Client eine persistente Verbindung hat. Wenn der GSLB-Dienst, auf den das Cookie verweist, INAKTIV ist oder aus der GLSB-Konfiguration entfernt wurde, verarbeitet der virtuelle Server, der den Verkehr empfängt, den Verkehr weiter. Der Ablauf des Cookie basiert auf dem Cookie-Timeout, das auf der NetScaler-Appliance konfiguriert wurde. Wenn die Namen der virtuellen Server nicht auf allen Sites identisch sind, müssen Sie die Persistenz-ID verwenden. Die eingefügten Cookies entsprechen RFC 2109.

NetScaler unterstützt zwei Arten von Site-Persistenz:

  • Verbindungs-Proxy
  • HTTP-Weiterleitung

Verbindungs-Proxy

Im Verbindungs-Proxy-Modus der Site-Persistenz führt das Rechenzentrum, das die nachfolgende Anwendungsanforderung empfängt, die folgenden Aufgaben aus, um eine Verbindung herzustellen:

  1. Stellt eine Verbindung zur GSLB-Site her, die das Site-Cookie eingefügt hat.
  2. leitet die Client-Anfrage an die ursprüngliche Site weiter.

    Hinweis:

    Der Proxyserver stellt mithilfe der folgenden Details eine Verbindung mit der ursprünglichen Site her:

    • Das SNIP der neuen Site ist die Quell-IP-Adresse.
    • Die öffentliche IP-Adresse des GSLB-Dienstes der ursprünglichen Site ist die Ziel-IP-Adresse.
    • Ein kurzlebiger Port ist der Quellport und der GSLB-Serviceport ist der Zielport.
    • Verwendet je nach GSLB-Diensttyp entweder HTTP- oder HTTPS-Protokolle.
  3. Erhält eine Antwort von der ursprünglichen GSLB-Site.
  4. Leitet diese Antwort an den Client zurück.
  5. Schließt die Verbindung.

HTTP-Weiterleitung

Wenn die GSLB-Konfiguration die HTTP-Weiterleitungspersistenz verwendet, leitet die neue Site die Anfrage an die Site weiter, die das Cookie ursprünglich eingefügt hat. Der Domainname in der Weiterleitungs-URL ist die Site-Domain. Stellen Sie sicher, dass sowohl Cookies als auch SSL-Zertifikate sowohl für die GSLB-Domain als auch für die Site-Domain gelten. Um Cookies sowohl für die GSLB als auch für die Site-Domain anzuwenden, muss die Cookie-Domäne die Site-zu-GSLB-Domäne sein. Um SSL-Zertifikate sowohl auf die GSLB- als auch auf die Site-Domain anzuwenden, muss es sich bei dem an den virtuellen SSL-Server gebundenen Zertifikat um ein Wildcard-Zertifikat handeln.

Der Verbindungsproxy wird aktiviert, wenn die folgenden Bedingungen erfüllt sind:

  • Anfragen werden für eine Domain gesendet, die an GSLB teilnimmt. Die Domain wird aus dem URL/Host-Header abgerufen.
  • Für den lokalen GSLB-Dienst ist der Verbindungsproxy aktiviert.
  • Die Anfrage enthält ein gültiges Cookie, das die IP-Adresse eines aktiven Remote-GSLB-Dienstes enthält.

Hinweis

In einer GSLB-Parent-Child-Konfiguration funktioniert der Verbindungsproxy wie vorgesehen, auch wenn ein GSLB-Dienst nicht auf einer untergeordneten Site konfiguriert ist. Wenn Sie jedoch über eine zusätzliche Konfiguration wie Clientauthentifizierung, Client-IP-Adresseneinfügung oder andere SSL-spezifische Anforderungen verfügen, müssen Sie einen expliziten GSLB-Dienst auf der Site hinzufügen und entsprechend konfigurieren.

Weitere Informationen zur Eltern-Kind-Topologie finden Sie unter Bereitstellung von Eltern-Kind-Topologie mit dem MEP-Protokoll.

So legen Sie die Persistenz basierend auf HTTP-Cookies über die Befehlszeilenschnittstelle fest

Geben Sie in der Befehlszeile Folgendes ein:

set gslb service <serviceName> -sitePersistence (ConnectionProxy [-sitePrefix <prefix>] | HTTPredirect -sitePrefix <prefix>)
<!--NeedCopy-->

Beispiel:

set gslb service service-GSLB-1 -sitePersistence ConnectionProxy
set gslb service service-GSLB-1 -sitePersistence HTTPRedirect -sitePrefix vserver-GSLB-1
<!--NeedCopy-->

Um die Persistenz auf der Grundlage von Cookies mithilfe der GUI einzustellen

  1. Navigieren Sie zu Traffic Management > GSLB > Services und wählen Sie den Dienst aus, den Sie für die Site-Persistenz konfigurieren möchten (z. B. Service-GSLB-1).
  2. Klicken Sie auf den Abschnitt Site Persistence und stellen Sie die Persistenz auf der Grundlage von Cookies ein.
So konfigurieren Sie die Persistenz in GSLB