ADC

Wie konfiguriere ich Persistenz in GSLB

Persistenz stellt sicher, dass eine Reihe von Clientanforderungen für einen bestimmten Domänennamen an dasselbe Rechenzentrum gesendet wird, anstatt Lastenausgleich zu werden. Wenn die 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 im Zusammenhang mit einer Clienttransaktion lokal in einer Instanz gespeichert werden, die die ersten Anforderungen erfüllt hat. Zum Beispiel die Bereitstellungen für E-Commerce, die einen Einkaufswagen verwenden, in dem der Server den Status der Verbindung beibehalten muss, um die Transaktion zu verfolgen. Die Citrix ADC Appliance wählt ein Rechenzentrum aus, um eine Clientanfrage zu bearbeiten. Wenn die Persistenz aktiviert ist, leitet es die gleiche IP-Adresse des ausgewählten Rechenzentrums für alle nachfolgenden DNS-Anfragen (Domain Name System) weiter. Wenn eine Persistenzsitzung auf ein Rechenzentrum verweist, das DOWN ist, verwendet die Citrix ADC Appliance die konfigurierte GSLB-Methode, um ein neues Rechenzentrum auszuwählen. Es wird dann für spätere Anfragen des Kunden hartnäckig. Für die Persistenz in GSLB muss derselbe Satz von Persistenzkennungen (PersistID) auf den virtuellen GSLB-Servern in allen Rechenzentren konfiguriert werden. Das GSLB-Modul verwendet den Persistenzbezeichner, 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 Citrix ADC Appliance die Persistenz über mehrere Standorte hinweg unterstützt, muss persistenzbezogene Konfiguration auf allen teilnehmenden GSLB-Sites durchgeführt werden. Citrix empfiehlt Persistenz in GSLB für statusbehaftete Anwendungen, bei denen Clients sich für die nachfolgenden Anforderungen erneut mit derselben Anwendungsinstanz verbinden müssen.

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

  • Persistenz auf dem virtuellen GSLB-Server
  • Beharrlichkeit der Website bei 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 im Allgemeinen die lokalen DNS (LDNS) oder DNS-Gateways, die eine Reihe von Clients hinter ihnen (in ISPs) weiterführen. Die Persistenz auf einem virtuellen GSLB-Server ist unabhängig von Anwendungsprotokollen. Im Allgemeinen werden mehrere DNS-Gateways oder lokale Domänennamenserver (LDNS) im Clientnetzwerk 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 zur Verbindung mit der ADC-Appliance verwendet wurden, in der Lage ist, bei demselben Rechenzentrum zu bestehen, das die früheren Anfragen erfüllt hat. Nachdem die Persistenzsitzung für eine LDNS-IP-Adresse erstellt wurde, erhalten alle Endclients, die sich mit diesem LDNS verbinden, die gleiche IP-Adresse des Rechenzentrums.

Beharrlichkeit der Website bei GSLB-Diensten

Die Standortpersistenz wird während der Verarbeitung der Anwendungsanfragen wirksam. Die Standortpersistenz funktioniert nur für HTTP- und HTTPS-Datenverkehr, da die Persistenz mit HTTP-Cookie erreicht wird. Da Cookies auf HTTP-Clients (Browsern) verwaltet werden, geben sie Einblick in die Kunden, die hinter den DNS-Gateways sitzen. Wenn Sie Cookies verwenden, um Persistenz für Kunden zu erreichen, werden für jeden eingehenden Client keine Ressourcen auf der ADC-Appliance verbraucht. Wenn Sie einen GSLB-Dienst mit einer Verzögerungszeit herunterbringen, geht der Dienst in den Status “Out Of Service” (TROFS) über. Persistenz wird unterstützt, solange sich der Dienst im Status UP oder TROFS befindet. Das heißt, wenn derselbe Client innerhalb der angegebenen Verzögerungszeit eine Anforderung für denselben Dienst sendet, nachdem ein Dienst als TROFS markiert wurde, wird die Anfrage von derselben GSLB-Site (Rechenzentrum) bearbeitet.

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

Hinweis:

Wenn der Verbindungsproxy als Standortpersistenzmethode 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 die Proxy-Proxy-Klasse geführt wird, wird eine IP-Adresse verwendet, die sich im Besitz der ADC-Appliance befindet, und nicht die tatsächliche IP-Adresse des Clients. Konfigurieren Sie eine geeignete Persistenz, die keine Quell-IP der HTTP (S) -Anfrage verwendet, um den Client zu identifizieren, beispielsweise die Cookie-Persistenz oder die regelbasierte Persistenz.

Persistenz basierend auf Quell-IP-Adresse konfigurieren

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 Funktion Extended Client Subnet (ECS) wird die Quell-IP-Adresse der DNS-Anfrage einem der folgenden Punkte entnommen:

Persistenzsitzungen für einen Client dauern bis zum Persistenz-Timeout. Nach Ablauf des Timeout-Zeitraums werden bestehende Persistenzsitzungen gelöscht. Für nachfolgende Anfragen wird eine neue GSLB-Entscheidung getroffen und eine andere IP-Adresse des GSLB-Dienstes kann ausgewählt werden. Die Quell-IP-Persistenz auf dem virtuellen GSLB-Server und die Standortpersistenz des GSLB-Dienstes ergänzen sich gegenseitig. Wenn die Quell-IP-Persistenz auf dem virtuellen GSLB-Server deaktiviert ist, wählt der virtuelle GSLB-Server jedes Mal einen anderen GSLB-Dienst aus, wenn der DNS versucht, die Auflösung durchzuführen. Der Client verbindet sich auch mit einem anderen GSLB-Dienst und dem Rechenzentrum, das den Anwendungsanforderungsproxy die Verbindung mit dem Rechenzentrum erhält, das dem 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 daher häufig mehrere Hops für Anwendungsanfragen vermieden werden. Wenn die Quell-IP-Persistenzsitzung abgelaufen ist und der Client danach erneut eine Verbindung herstellt, verbindet die Standortpersistenz den Client mit dem Rechenzentrum, das den Client ursprünglich bedient hat. Wenn der Client eine Verbindung über ein DNS-Gateway herstellt, das nicht in den konfigurierten Persistenzmasken-Bereich fällt, hilft auch der Standortpersistenz den Clients, sich an das Rechenzentrum zu halten, das die erste Anfrage bedient hat.

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

Geben Sie an der Eingabeaufforderung 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 Persistenz basierend auf der Quell-IP-Adresse über die GUI

  1. Navigieren Sie zu Traffic Management > GSLB > Virtuelle Server 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 — persistenceID
    • Timeout — Timeout
    • IPv4-Netzmaske oder IPv6-Maskenlänge — persistMask

Konfigurieren Sie die Persistenz der Website basierend auf HTTP-Cookies

Die Standortpersistenz wird mithilfe von HTTP-Cookies (bekannt als “Site-Cookie”) erreicht, um den Client wieder mit demselben Server zu verbinden. Wenn die GSLB-Appliance auf eine Client-DNS-Anfrage durch Senden der IP-Adresse der ausgewählten GSLB-Site antwortet, 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 Standortpersistenz ist in Kraft. Wenn der Client eine DNS-Abfrage 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 Kopfzeilen der Clientanforderung vorhandene Website-Cookie, um die Persistenz zu implementieren. Die Funktion für die Standortpersistenz wird unter den folgenden Bedingungen aktiv:

  • Wenn der Domainname im Host-Header mit einer der GSLB-Domains übereinstimmt
  • Wenn die Standortpersistenz für den GSLB-Dienst aktiviert ist, der den virtuellen Server darstellt, der den Anwendungsdatenverkehr empfängt.

Das Site-Cookie enthält Informationen über den ausgewählten GSLB-Dienst, auf dem der Client eine dauerhafte Verbindung hat. Wenn der GSLB-Dienst, auf den das Cookie zeigt, DOWN oder aus der GLSB-Konfiguration entfernt wird, verarbeitet der virtuelle Server, der den Datenverkehr empfängt, den Datenverkehr weiter. Der Cookie-Ablauf basiert auf dem Cookie-Zeitlimit, das auf der Citrix ADC Appliance konfiguriert wurde. Wenn die Namen des virtuellen Servers nicht auf allen Sites identisch sind, müssen Sie die Persistenzkennung verwenden. Die eingefügten Cookies entsprechen RFC 2109.

Citrix ADC unterstützt zwei Arten von Standortpersistenz:

  • Proxy für Verbindung
  • HTTP-Umleitung

Proxy für Verbindung

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

  1. Erstellt eine Verbindung mit der GSLB-Site, die das Site-Cookie eingefügt hat.
  2. Proxy der Kundenanfrage an die ursprüngliche Site.

    Hinweis:

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

    -  Der 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 flüchtiger Port ist der Quellport und GSLB-Dienstport 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. Lässt diese Antwort an den Kunden zurück.
  5. Schließt die Verbindung.

HTTP-Umleitung

Wenn die GSLB-Konfiguration HTTP-Umleitungspersistenz verwendet, leitet die neue Site die Anforderung an die Site um, die das Cookie ursprünglich eingefügt hat. Der Domainname in der Umleitungs-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 GSLB als auch für die Site-Domain anzuwenden, muss die Cookie-Domain die Website der GSLB-Domain sein. Um SSL-Zertifikate sowohl auf GSLB als auch auf die Site-Domain anzuwenden, muss das an den virtuellen SSL-Server gebundene Zertifikat ein Platzhalterzertifikat sein.

Verbindungsproxy tritt auf, wenn die folgenden Bedingungen erfüllt sind:

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

Hinweis:

In einer GSLB-Eltern-Kind-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 an der Eingabeaufforderung 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-->

So legen Sie die Persistenz basierend auf Cookies über die GUI fest

  1. Navigieren Sie zu Traffic Management > GSLB > Services und wählen Sie den Dienst aus, den Sie für die Standortpersistenz konfigurieren möchten (z. B. service-GSLB-1).
  2. Klicken Sie auf den Abschnitt Site-Persistenz und legen Sie die Persistenz basierend auf Cookies fest.
Wie konfiguriere ich Persistenz in GSLB