Citrix ADC

Comment configurer la persistance dans GSLB

La persistance garantit qu’une série de demandes client pour un nom de domaine particulier est envoyée au même centre de données au lieu d’équilibrer la charge. Si la persistance est configurée pour un domaine particulier, elle a priorité sur la méthode GSLB configurée. Vous pouvez utiliser la persistance pour les déploiements où une information liée à une transaction client est stockée localement sur une instance qui a servi les requêtes initiales. Par exemple, les déploiements pour le commerce électronique qui utilise un panier d’achat, où le serveur doit conserver l’état de la connexion pour suivre la transaction. L’appliance Citrix ADC sélectionne un centre de données pour traiter une demande client. Lorsque la persistance est activée, elle transfère la même adresse IP du centre de données sélectionné pour toutes les demandes DNS (Domain Name System) suivantes. Si une session de persistance pointe vers un centre de données en panne, l’appliance Citrix ADC utilise la méthode GSLB configurée pour sélectionner un nouveau centre de données. Il devient alors persistant pour les demandes ultérieures du client. Pour la persistance dans GSLB, le même ensemble d’identificateurs de persistance (PersistID) doit être configuré sur les serveurs virtuels GSLB dans tous les centres de données. Le module GSLB utilise l’identificateur de persistance pour identifier de manière unique un serveur virtuel GSLB. Lorsque la persistance IP source est activée sur le serveur virtuel GSLB, les sessions de persistance sont également échangées dans le cadre de l’échange de mesures. Pour que l’appliance Citrix ADC prend en charge la persistance sur tous les sites, la configuration liée à la persistance doit être effectuée sur tous les sites GSLB participants. Citrix recommande la persistance dans GSLB pour les applications avec état, ce qui oblige les clients à se reconnecter à la même instance d’application pour les demandes suivantes.

Vous pouvez obtenir la persistance dans GSLB par les moyens suivants :

  • Persistance sur le serveur virtuel GSLB
  • Persistance du site sur les services de la GSLB

Persistance sur le serveur virtuel GSLB

La persistance sur le serveur virtuel GSLB est utilisée lors des requêtes DNS. L’adresse IP source de la demande DNS est utilisée pour créer une session de persistance entre le client et le centre de données. Les clients DNS sont généralement les passerelles DNS locales (LDNS) ou DNS qui procurent un ensemble de clients assis derrière eux (dans les FAI). La persistance sur un serveur virtuel GSLB est agnostique du protocole d’application. En général, plusieurs passerelles DNS ou serveurs LDNS (Local Domain Name Server) sont configurés dans le réseau client. Citrix vous recommande de configurer un masque de persistance approprié car pour les demandes DNS suivantes, quels que soient les périphériques LDNS en amont utilisés pour se connecter à l’appliance ADC, le client peut persister vers le même centre de données qui avait servi les requêtes antérieures. Une fois la session de persistance créée pour une adresse IP LDNS, tous les clients finaux qui se connectent à l’aide de ce LDNS reçoivent la même adresse IP du centre de données.

Persistance du site sur les services de la GSLB

La persistance du site devient effective lors du traitement des demandes de demande. La persistance du site ne fonctionne que pour le trafic HTTP et HTTPS car la persistance est obtenue à l’aide du cookie HTTP. Comme les cookies sont conservés sur les clients HTTP (navigateurs), ils donnent une visibilité sur les clients assis derrière les passerelles DNS. Lorsque vous utilisez des cookies pour obtenir la persistance des clients, aucune ressource n’est consommée sur l’appliance ADC pour chaque client entrant. Lorsque vous mettez un service GSLB hors service avec un délai de retard, le service passe à l’état hors service (TROFS). La persistance est prise en charge tant que le service est à l’état UP ou TROFS. Autrement dit, si le même client envoie une demande pour le même service dans le délai spécifié après qu’un service est marqué TROFS, le même site GSLB (centre de données) assure la maintenance de la demande.

Si vous accédez à une application via un alias, assurez-vous que l’enregistrement CNAME est également configuré sur l’appliance Citrix ADC. Dans une topologie parent-enfant, la persistance du site ne fonctionne pas lorsque vous accédez à une application via un alias.

Remarque

Si le proxy de connexion est spécifié comme méthode de persistance du site et que vous souhaitez également configurer la persistance sur les serveurs virtuels LB, la persistance IP source n’est pas recommandée. Lorsque la connexion est mise en service par proxy, une adresse IP appartenant à l’appliance ADC est utilisée, et non l’adresse IP réelle du client. Configurez une persistance appropriée, qui n’utilise pas l’adresse IP source de la requête HTTP (S) pour identifier le client, par exemple la persistance des cookies ou la persistance basée sur des règles.

Configurer la persistance en fonction de l’adresse IP source

Si la persistance IP source est configurée sur le serveur virtuel GSLB, des sessions de persistance sont créées pour l’adresse IP source de la requête DNS. Selon la fonctionnalité Extended Client Subnet (ECS), l’adresse IP source de la requête DNS provient de l’une des options suivantes :

Les sessions de persistance d’un client durent jusqu’au délai d’expiration de la persistance. Après l’expiration du délai d’expiration, les sessions de persistance existantes sont effacées. Pour les demandes subséquentes, une nouvelle décision du GSLB est prise et une adresse IP différente du service GSLB peut être sélectionnée. La persistance IP source sur le serveur virtuel GSLB et la persistance du site sur le service GSLB se complètent mutuellement. Si la persistance IP source est désactivée sur le serveur virtuel GSLB, le serveur virtuel GSLB choisit un service GSLB différent chaque fois que le DNS tente d’effectuer la résolution. Le client se connecte également à un service GSLB différent et au centre de données qui reçoit la demande d’application proxy la connexion au centre de données qui a servi le client en premier. Cela peut ajouter une certaine latence. Ainsi, en activant la persistance IP source sur le serveur virtuel GSLB peut éviter de fréquents sauts multiples pour les demandes d’application. Si la session de persistance IP source a expiré et que le client se reconnecte après cela, la persistance du site relie le client au centre de données, qui avait initialement servi le client. En outre, si le client se connecte de nouveau via une passerelle DNS, qui n’entre pas dans la plage de masque de persistance configurée, la persistance du site aide les clients à s’en tenir au centre de données qui a servi la première demande.

Pour configurer la persistance en fonction de l’adresse IP source à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

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

Exemple :

set gslb vserver vserver-GSLB-1 -persistenceType SOURCEIP -persistenceId 23 -persistMask 255.255.255.255 –timeout 2

Pour configurer la persistance en fonction de l’adresse IP source à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > GSLB > Serveurs virtuels et double-cliquez sur le serveur virtuel GSLB dont vous souhaitez modifier la méthode (par exemple, vServer-GSLB-1).
  2. Cliquez sur la section Persistance et, dans la liste déroulante Persistance, sélectionnez SOURCEIP et définissez les paramètres suivants :
    • ID de persistance : persistenceID
    • Délai d’expiration : délai d’expiration
    • Longueur du masque de réseau IPv4 ou du masque IPv6 : masque persistant

Configurer la persistance du site en fonction des cookies HTTP

La persistance du site est obtenue à l’aide de cookies HTTP (appelés « cookies du site ») pour reconnecter le client au même serveur. Lorsque l’appliance GSLB répond à une demande DNS client en envoyant l’adresse IP du site GSLB sélectionné, le client envoie une requête HTTP à ce site GSLB. Point de terminaison d’application dans ce site GSLB ajoute un cookie de site à l’en-tête HTTP, et la persistance du site est en vigueur. Si le client envoie une requête DNS après l’expiration du cache client, la requête DNS peut être dirigée vers un autre site GSLB. Le nouveau site GSLB utilise le cookie du site présent dans l’en-tête de requête du client pour implémenter la persistance. La fonctionnalité de persistance du site devient active dans les conditions suivantes :

  • Lorsque le nom de domaine dans l’en-tête de l’hôte correspond à l’un des domaines GSLB
  • Lorsque la persistance du site est activée sur le service GSLB qui représente le serveur virtuel recevant le trafic de l’application.

Le cookie du site contient des informations sur le service GSLB sélectionné sur lequel le client a une connexion persistante. Si le service GSLB pointé par le cookie est désactivé ou supprimé de la configuration GLSB, le serveur virtuel qui reçoit le trafic continue à traiter le trafic. L’expiration du cookie est basée sur le délai d’expiration du cookie configuré sur l’appliance Citrix ADC. Si les noms de serveur virtuel ne sont pas identiques sur tous les sites, vous devez utiliser l’identificateur de persistance. Les cookies insérés sont conformes à la RFC 2109.

Citrix ADC prend en charge deux types de persistance de site :

  • Proxy de connexion
  • Redirection HTTP

Proxy de connexion

Dans le mode Proxy de connexion de la persistance du site, le centre de données qui reçoit la demande d’application suivante effectue les tâches suivantes pour établir une connexion :

  1. Crée une connexion au site GSLB qui a inséré le cookie du site.
  2. Proxie la demande du client vers le site d’origine.

    Remarque :

    Le serveur proxy établit la connexion avec le site d’origine en utilisant les détails suivants :

    • Le SNIP du nouveau site est l’adresse IP source.
    • L’adresse IP publique du service GSLB du site d’origine est l’adresse IP de destination.
    • Un port éphémère est le port source et le port de service GSLB est le port de destination.
    • Utilise les protocoles HTTP ou HTTPS en fonction du type de service GSLB.
  3. Reçoit une réponse du site GSLB d’origine.
  4. Relais cette réponse au client.
  5. Ferme la connexion.

Redirection HTTP

Si la configuration GSLB utilise la persistance de redirection HTTP, le nouveau site redirige la requête vers le site qui a initialement inséré le cookie. Le nom de domaine dans l’URL de redirection est le domaine du site. Assurez-vous que les cookies et les certificats SSL sont applicables à la fois au domaine GSLB et au domaine du site. Pour appliquer des cookies à la fois pour GSLB et le domaine du site, le domaine des cookies doit être le site du domaine GSLB. Pour appliquer des certificats SSL à la fois à GSLB et au domaine de site, le certificat lié au serveur virtuel SSL doit être un certificat générique.

Le proxy de connexion se produit lorsque les conditions suivantes sont remplies :

  • Les demandes sont envoyées pour un domaine participant à GSLB. Le domaine est obtenu à partir de l’en-tête URL/hôte.
  • Le service GSLB local a le proxy de connexion activé.
  • La demande inclut un cookie valide qui contient l’adresse IP d’un service GSLB distant actif.

Remarque

Dans une configuration parent-enfant GSLB, le proxy de connexion fonctionne comme prévu même lorsqu’un service GSLB n’est pas configuré sur un site enfant. Toutefois, si vous disposez d’une configuration supplémentaire telle que l’authentification client, l’insertion d’adresse IP du client ou toute autre exigence spécifique à SSL, vous devez ajouter un service GSLB explicite sur le site et le configurer en conséquence.

Pour plus d’informations sur la topologie parent-enfant, reportez-vous à la section Déploiement de topologie parent-enfant à l’aide du protocole MEP.

Pour définir la persistance en fonction des cookies HTTP à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

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

Exemple :

set gslb service service-GSLB-1 -sitePersistence ConnectionProxy
set gslb service service-GSLB-1 -sitePersistence HTTPRedirect -sitePrefix vserver-GSLB-1

Pour définir la persistance en fonction des cookies à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > GSLB > Services et sélectionnez le service que vous souhaitez configurer pour la persistance du site (par exemple, Service-GSLB-1).
  2. Cliquez sur la section Persistance du site et définissez la persistance en fonction des cookies.
Comment configurer la persistance dans GSLB