ADC

Comment configurer la persistance dans GSLB

La persistance garantit qu’une série de demandes de clients pour un nom de domaine particulier sont envoyées au même centre de données au lieu d’être rééquilibrées. Si la persistance est configurée pour un domaine particulier, elle est prioritaire par rapport à la méthode GSLB configurée. Vous pouvez utiliser la persistance pour les déploiements dans lesquels les informations relatives à une transaction client sont stockées localement sur une instance qui a traité les demandes initiales. Par exemple, les déploiements pour le commerce électronique qui utilisent un panier d’achat, où le serveur doit maintenir l’état de la connexion pour suivre la transaction. L’appliance NetScaler sélectionne un centre de données pour traiter une demande client. Lorsque la persistance est activée, il transmet 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 hors service, l’appliance NetScaler 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’identifiants de persistance (PersistID) doit être configuré sur les serveurs virtuels GSLB de tous les centres de données. Le module GSLB utilise l’identifiant de persistance pour identifier de manière unique un serveur virtuel GSLB. Lorsque la persistance de l’adresse 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 métriques. Pour que l’appliance NetScaler prenne en charge la persistance entre 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 statiques, ce qui oblige les clients à se reconnecter à la même instance d’application pour les demandes suivantes.

Vous pouvez obtenir la persistance dans GSLB de la manière suivante :

  • Persistance sur le serveur virtuel GSLB
  • Persistance du site sur les services 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 requête 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 des DNS locaux (LDNS) ou des passerelles DNS qui fournissent un proxy à un ensemble de clients assis derrière eux (dans les FAI). La persistance sur un serveur virtuel GSLB est indépendante du protocole d’application. En général, plusieurs passerelles DNS ou serveurs de noms de domaine locaux (LDNS) sont configurés sur le réseau client. Citrix vous recommande de configurer un masque de persistance approprié car pour les demandes DNS suivantes, quels que soient les appareils LDNS en amont utilisés pour se connecter à l’appliance ADC, le client peut persister dans le même centre de données que celui qui avait traité les demandes précédentes. Une fois la session de persistance créée pour une adresse IP LDNS, tous les clients finaux qui se connectent à l’aide de cette adresse LDNS reçoivent la même adresse IP de centre de données.

Persistance du site sur les services GSLB

La persistance du site devient effective lors du traitement des demandes de l’application. La persistance du site ne fonctionne que pour le trafic HTTP et HTTPS car elle est obtenue à l’aide d’un cookie HTTP. Comme les cookies sont conservés sur les clients HTTP (navigateurs), ils permettent de voir quels clients se trouvent derrière les passerelles DNS. Lorsque vous utilisez des cookies pour garantir la persistance des clients, aucune ressource n’est consommée sur l’appliance ADC pour chaque client entrant. Lorsque vous interdisez un service GSLB avec un certain délai, le service passe à l’état hors service (TROFS). La persistance est prise en charge tant que le service est à l’état UP ou TROFS. En d’autres termes, 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) traite la demande.

Si vous accédez à une application via un alias, assurez-vous que l’enregistrement CNAME est également configuré sur l’appliance NetScaler. 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 de l’adresse IP source n’est pas recommandée. Lorsque la connexion est établie 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 cookie ou la persistance basée sur des règles.

Configurer la persistance en fonction de l’adresse IP source

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

Les sessions de persistance d’un client durent jusqu’au délai d’expiration de la persistance. Une fois le délai expiré, les sessions de persistance existantes sont effacées. Pour les demandes suivantes, une nouvelle décision GSLB est prise et une adresse IP de service GSLB différente peut être sélectionnée. La persistance de l’adresse IP source sur le serveur virtuel GSLB et la persistance du site sur le service GSLB se complètent mutuellement. Si la persistance de l’adresse 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 essaie d’effectuer la résolution. Le client se connecte également à un autre service GSLB et le centre de données qui reçoit la demande d’application transmet par 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 de l’adresse IP source sur le serveur virtuel GSLB, vous pouvez éviter de tels sauts multiples fréquents pour les demandes d’applications. Si la session de persistance de l’adresse IP source a expiré et que le client se reconnecte par la suite, la persistance du site reconnecte le client au centre de données qui l’avait initialement desservi. De plus, si le client se reconnecte via une passerelle DNS, qui ne fait pas partie de la plage de masques de persistance configurée, la persistance du site aide également les clients à s’en tenir au centre de données qui a répondu à 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 commande, tapez :

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

Exemple :

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

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 : ID de persistance
    • Délai d’expiration : délai d’expiration
    • Longueur du masque de réseau IPv4 ou du masque IPv6 : PersistMask

Configurer la persistance du site en fonction des cookies HTTP

La persistance du site est obtenue à l’aide de cookies HTTP (appelés « cookie de site ») pour reconnecter le client au même serveur. Lorsque l’appliance GSLB répond à une demande DNS du client en envoyant l’adresse IP du site GSLB sélectionné, le client envoie une requête HTTP à ce site GSLB. Le point de terminaison de l’application sur ce site GSLB ajoute un cookie de site à l’en-tête HTTP, et la persistance du site est effective. Si le client envoie une requête DNS après l’expiration du cache du client, la demande 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 demande du client pour implémenter la persistance. La fonctionnalité de persistance du site devient active dans les conditions suivantes :

  • Lorsque le nom de domaine figurant 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 dispose d’une connexion permanente. Si le service GSLB pointé par le cookie est hors service ou supprimé de la configuration GLSB, le serveur virtuel qui reçoit le trafic continue de traiter le trafic. L’expiration des cookie est basée sur le délai d’expiration des cookie configuré sur l’appliance NetScaler. Si les noms des serveurs virtuels ne sont pas identiques sur tous les sites, vous devez utiliser l’identifiant de persistance. Les cookies insérés sont conformes à la norme RFC 2109.

NetScaler prend en charge deux types de persistance des sites :

  • Proxy de connexion
  • Redirection HTTP

Proxy de connexion

En mode de persistance du site en mode Proxy de connexion, le centre de données qui reçoit la demande d’application suivante exécute 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 à l’aide des informations suivantes :

    • 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 selon le type de service GSLB.
  3. Reçoit une réponse du site GSLB d’origine.
  4. Transmet cette réponse au client.
  5. Ferme la connexion.

Redirection HTTP

Si la configuration GSLB utilise la persistance des redirections HTTP, le nouveau site redirige la demande vers le site qui a initialement inséré le cookie. Le nom de domaine indiqué dans l’URL de redirection est le domaine du site. Assurez-vous que les cookies et les certificats SSL s’appliquent à la fois au domaine GSLB et au domaine du site. Pour appliquer des cookies à la fois pour GSLB et pour le domaine du site, le domaine du cookie doit être le domaine site vers GSLB. Pour appliquer des certificats SSL à la fois au GSLB et au domaine du 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 au GSLB. Le domaine est obtenu à partir de l’en-tête URL/host.
  • Le proxy de connexion est activé pour le service GSLB local.
  • 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’aucun service GSLB n’est 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, voir Déploiement de la 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 commande, tapez :

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

Exemple :

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

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