Citrix ADC

Ordre de priorité pour les services GSLB

La fonction Ordre de priorité pour les services vous permet de hiérarchiser l’ordre des services ou des groupes de services en fonction des préférences de sélection de l’équilibrage de charge. Vous pouvez configurer l’ordre de priorité lorsque vous effectuez les opérations suivantes :

  • Liez un service à un serveur virtuel GSLB.
  • Liez un groupe de services à un serveur virtuel GSLB.
  • Liez un membre du groupe de services au groupe de services GSLB.

Actuellement, vous pouvez configurer l’ordre de priorité des services à l’aide des approches suivantes. Toutefois, ces approches présentent les limites suivantes :  

  • Configuration d’une chaîne de serveurs virtuels de sauvegarde : Le nombre de lignes de configuration est élevé et vous devez exécuter la commande show plusieurs fois pour connaître l’état de tous les services GSLB pour chaque serveur virtuel.

  • Configuration de l’emplacement préféré : vous devez créer des entrées d’emplacement pour tous les points de terminaison de votre application.

La fonctionnalité Ordre de priorité pour les services résout les limitations précédentes avec moins de commandes de configuration et vous aide à effectuer la configuration de l’emplacement préféré sans avoir besoin de représentation de l’emplacement de toutes les adresses IP des services GSLB.

Configurer l’ordre de priorité pour les services GSLB

Pour configurer l’ordre de priorité des services GSLB, le paramètre -order <number> est ajouté aux commandes de liaison.

Remarque :

Le numéro de commande le plus bas a la priorité la plus élevée.

Commande :

bind gslb vserver <vservername> -servicename/servicegroupname <servicename/servicegroupname> -order <number>

Prenons l’exemple d’un ensemble de services liés à un serveur virtuel GSLB (gv1). À l’aide du paramètre
- order <number>, vous pouvez hiérarchiser l’ordre de sélection des services comme suit :

  • Set 1 (s1, s2) bound to gv1 – order 1 
  • Set 2 (s3, s4) bound to gv1 – order 2 
  • Set 3 (s5, s6) bound to gv1 – order 3 

Une fois que vous avez lié les services à gv1 et que gv1 reçoit le trafic client, l’ordre de sélection des services est le suivant :

  • Le serveur virtuel (gv1) sélectionne les services de l’ensemble 1 (s1 et s2) avec le numéro d’ordre 1, car cet ensemble se voit attribuer le numéro d’ordre le plus bas. Par défaut, le numéro de commande le plus bas a la priorité la plus élevée.
  • Si tous les services de l’ensemble 1 sont DOWN, gv1 sélectionne l’ensemble 2 (s3 et s4) avec le numéro d’ordre 2.
  • Si tous les services des ensembles 1 et 2 sont hors service, gv1 sélectionne l’ensemble 3 (s5 et s6) avec le numéro d’ordre 3.

Configurer l’ordre de priorité pour les services GSLB à l’aide du CLI

Pour configurer l’ordre de priorité des services GSLB, tapez les commandes suivantes à l’invite de commandes :

  1. Ajoutez des sites GSLB.

    add gslb site site1 1.1.1.1

    add gslb site site2 1.1.1.2

  2. Ajoutez un serveur virtuel GSLB.

    add gslb vserver gv1 HTTP

  3. Ajoutez des services GSLB.

    add gslb service gsvc1 1.1.1.3 http 80 -sitename site1

    add gslb service gsvc2 1.1.1.4 http 80 -sitename site2

    add gslb service gsvc3 1.1.1.5 http 80 -sitename site1

    add gslb service gsvc4 1.1.1.6 http 80 -sitename site2

    add gslb service gsvc5 1.1.1.7 http 80 -sitename site1

    add gslb service gsvc6 1.1.1.8 http 80 -sitename site2

  4. Définissez le numéro de commande et liez les services au serveur virtuel GSLB.

    bind gslb vserver gv1 gsvc1 -order 1

    bind gslb vserver gv1 gsvc2 -order 1

    bind gslb vserver gv1 gsvc3 -order 2

    bind gslb vserver gv1 gsvc4 -order 2

    bind gslb vserver gv1 gsvc5 -order 3

    bind gslb vserver gv1 gsvc6 -order 3

Configurer l’ordre de priorité des services GSLB à l’aide de l’interface graphique

Conditions préalables :

  • Vous avez créé des sites GSLB.
  • Vous avez créé un serveur virtuel GSLB.
  • Vous avez créé des services GSLB.

Pour configurer l’ordre de priorité des services GSLB et les lier au serveur virtuel GSLB, procédez comme suit :

  1. Accédez àGestion du trafic > GSLB > Serveurs virtuelset double-cliquez sur le serveur virtuel GSLB.

  2. Dans Serveur virtuel GSLB, sous la sectionServices GSLB et liaison de groupe de services GSLB, cliquez sur Liaisons de serveur virtuel GSLB à GSLB Service.

  3. Dans la boîte de dialogueServices GSLB et Liaison de groupe de services GSLB, cliquez surAjouter une liaison.

  4. Dans la boîte de dialogueLiaison de service GSLB, sélectionnez un service.

  5. Saisissez un nombre dans le champOrdrepour définir l’ordre de priorité du service.

    Configurer l'ordre de priorité et le service GSLB de liaison

  6. Cliquez surLier.

  7. Répétez les étapes 1 à 6 pour configurer un numéro d’ordre de priorité différent pour différents services.

Configurer l’ordre de priorité pour les services GSLB à l’aide des commandes de stratégie LB

Par défaut, le numéro de commande le plus bas a la priorité la plus élevée. Toutefois, vous pouvez différer ce comportement par défaut à l’aide des nouvelles commandes d’action et de stratégie LB. Vous pouvez configurer l’ordre de sélection des services en fonction du trafic client entrant ou des données client.

Prenons l’exemple d’un ensemble de services liés à un serveur virtuel GSLB (gv1). À l’aide du paramètre - order <number>, vous avez configuré l’ordre de priorité des services comme suit :

  • Ensemble 1 (s1, s2) lié à gv1 — ordre 1

  • Ensemble 2 (s3, s4) lié à gv1 — ordre 2

  • Set 3 (s5, s6) lié à gv1 — ordre 3

Par défaut, le numéro de commande le plus bas a la priorité la plus élevée. Par conséquent, l’ordre de priorité par défaut est 1, 2 et 3 pour les services de l’ensemble 1, ensemble2 et ensemble3, respectivement. Toutefois, pour un trafic client spécifique, vous souhaitez modifier l’ordre de priorité sur 3, 1 et 2. Pour ce faire, vous pouvez ajouter une stratégie LB et la lier à gv1.

Une commande de stratégie LB se compose de deux éléments : une règle et une action. La règle est associée à une action, qui est exécutée si une demande correspond à la règle.

Remarque :

Les commandes de stratégie LB sont communes à la fois pour la configuration LB et GSLB et sont applicables aux demandes gérées par l’appliance Citrix ADC.

Action LB

**Expression :**

add lb action <name> <type> <string>

**Exemple :**

add lb action act1 -type SELECTIONORDER -value 3 2 1

Paramètres :

  • name: nom de l’action.

  • type: Type d’action.

  • string: valeur de l’action spécifiée.

Politique LB

**Expression :**

add lb policy <name> <rule> <action> <undefaction>

**Exemple :**

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

Paramètres :

  • name: nom de la stratégie.

  • rule: une règle se compose d’une ou plusieurs expressions. La règle est associée à une action, qui est exécutée si la demande correspond à la règle.

  • action: DROP, NOLBACTION et RESET sont pris en charge.

  • undefaction: l’appliance Citrix ADC génère un événement non défini (événement UNDEF) lorsqu’une demande ne correspond pas à une stratégie. Vous pouvez utiliser la commande set lb param -undefAction <action>pour définir l’action non définie. Vous pouvez affecter ces actions à un événement non défini : DROP, NOLBACTION et RESET.

Prenons un exemple dans lequel vous ajoutez une action LB, une stratégie LB et liez la stratégie à un serveur virtuel GSLB (gv1) comme suit :

add lb action act1 -type SELECTIONORDER -value 3 1 2

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

bind gslb vserver gv1 -policyName pol1 -priority 20 - gotoPriorityExpression END -type REQUEST

La règle sélectionne le trafic client correspondant à l’adresse IP et envoie ce trafic à gv1. 8.8.8.8 Le type d’action LB (SELECTIONORDER) définit l’ordre de sélection du service. Après avoir lié la stratégie LB à gv1, et lorsque gv1 reçoit le trafic client de l’adresse IP8.8.8.8, les services sont sélectionnés dans l’ordre suivant :

  1. Le serveur virtuel (gv1) sélectionne les services de l’ensemble 3 (s5 et s6) avec un ordre de priorité 3.

  2. Si tous les services de l’ensemble 3 sont DOWN, gv1 sélectionne l’ensemble 1 (s1 et s2) avec un ordre de priorité 2.

  3. Si tous les services de l’ensemble 3 et de l’ensemble 2 sont hors service, le gv1 sélectionne l’ensemble 1 (s1 et s2) avec l’ordre 1.

Configurer l’ordre de priorité pour les services GSLB avec les commandes de stratégie LB à l’aide de l’interface

Pour configurer l’ordre de priorité des services GSLB à l’aide des commandes de stratégie LB, tapez les commandes suivantes à l’invite de commandes :

  1. Ajoutez une action LB.

    add lb action act1 -type SELECTIONORDER -value 3 1 2

  2. Ajoutez une stratégie LB.

    add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

  3. Ajoutez des sites GSLB.

    add gslb site site1 1.1.1.1

    add gslb site site2 1.1.1.2

  4. Ajoutez un serveur virtuel GSLB.

    add gslb vserver gv1 HTTP

  5. Liez la stratégie LB au serveur virtuel GSLB.

    bind gslb vserver gv1 -policyName pol1 -priority 20 - gotoPriorityExpression END -type REQUEST

  6. Ajoutez des services GSLB.

    add gslb service gsvc1 1.1.1.3 http 80 -sitename site1

    add gslb service gsvc2 1.1.1.4 http 80 -sitename site2

    add gslb service gsvc3 1.1.1.5 http 80 -sitename site1

    add gslb service gsvc4 1.1.1.6 http 80 -sitename site2

    add gslb service gsvc5 1.1.1.7 http 80 -sitename site1

    add gslb service gsvc6 1.1.1.8 http 80 -sitename site2

  7. Définissez l’ordre et liez les services au serveur virtuel GSLB.

    bind gslb vserver gv1 gsvc1 -order 1

    bind gslb vserver gv1 gsvc2 -order 1

    bind gslb vserver gv1 gsvc3 -order 2

    bind gslb vserver gv1 gsvc4 -order 2

    bind gslb vserver gv1 gsvc5 -order 3

    bind gslb vserver gv1 gsvc6 -order 3

Configurez l’ordre de priorité pour les services GSLB avec les commandes de stratégie LB à l’aide de l’interface graphique

Conditions préalables :

  • Vous avez créé des sites GSLB.
  • Vous avez créé un serveur virtuel GSLB.
  • Vous avez créé des services.

Étape 1 - Créer une action LB :

  1. Accédez à AppExpert > LB > Actions.

  2. DansActions LB, cliquez surAjouter.

  3. Dans la boîte de dialogueCréer des actions LB, spécifiez des valeurs pour les paramètres suivants :

    • Nom de l’action : act1
    • Type : SELECTIONORDER
    • Valeur : 3 1 2

      Remarque :

      Les chiffres du champ Valeursont séparés par un espace.

    Action Ajouter un LB

  4. Cliquez sur Créer.

Étape 2 - Créer une stratégie LB :

  1. Accédez à AppExpert > LB > Stratégies.

  2. DansStratégies LB, cliquez surAjouter.

  3. Dans la boîte de dialogueCréer des stratégies LB, spécifiez des valeurs pour les paramètres suivants :

    • Nom : pol1
    • Action : acte 1
    • Action à résultat non défini : NOLBACTION
    • Expression : CLIENT.IP.SRC.EQ (8.8.8.8)

    Ajouter une stratégie LB

  4. Cliquez surCréer.

Étape 3 - Liez la stratégie LB au serveur virtuel GSLB :

  1. Accédez àGestion du trafic > GSLB > Serveurs virtuelset double-cliquez sur le serveur virtuel GSLB.

  2. Dans le serveur virtuel GSLB, sous la section Paramètres avancés, cliquez surStratégies.

  3. Dans la sectionStratégies, cliquez sur Liaison de stratégie LB du serveur virtuel GSLB.

  4. Dans la boîte de dialogue Liaison de stratégie, spécifiez des valeurs pour les paramètres suivants :

    • Sélectionnez la stratégie : pol 1
    • Priorité : 10
    • Expression Goto : FIN

    Stratégie Bind LB

  5. Cliquez sur Bind.

Étape 4 - Configurez l’ordre de priorité pour les services GSLB :

Pour configurer l’ordre de priorité pour GSLB, reportez-vous à la procédure Configurer l’ordre de priorité pour les services GSLB à l’aide de l’interface graphique .

Paramètres de persistance pour les services

Si la persistance est configurée pour un service, la préférence est toujours donnée à la persistance, par défaut.

Prenons l’exemple d’un service dont la persistance est configurée et dont l’ordre de priorité est 1. Si un service d’ordre de priorité 0 est UP, la préférence est toujours donnée au service d’ordre de priorité 1.

Toutefois, vous pouvez remplacer ce comportement par défaut à l’aide de la commande CLI suivante :

set gslb param -overridePersistencyforOrder<YES/NO>

Prenons l’exemple suivant :

Un ensemble de services est lié à un serveur virtuel GSLB (gv1) avec l’ordre de priorité suivant :

  • Ensemble 1 (s1, s2) lié à gv1 — ordre 1

  • Ensemble 2 (s3, s4) lié à gv1 — ordre 2

Tapez la commande suivante à l’invite de commandes pour remplacer la persistance :

set gslb parameter -overridePersistencyforOrder YES

Si l’ensemble 1 (les services avec persistance sont configurés) est DOWN, les services de l’ensemble 2 traitent toutes les demandes jusqu’à ce que les services de l’ensemble 1 soient actifs. Une entrée de persistance pour la priorité 2 est créée.

Supposons qu’après un certain temps, les services de l’ensemble 1 soient actifs. Désormais, les services de l’ensemble 1 et de l’ensemble 2 sont prêts à traiter les demandes. Dans ce scénario, de nouvelles décisions d’équilibrage de charge sont prises lorsque les services d’ordre supérieur sont actifs. L’entrée de persistance est remplacée par une nouvelle entrée d’équilibrage de charge.

Bascule de priorité

Avec la fonctionnalité de basculement de priorité, vous pouvez basculer tout le trafic vers un service de faible priorité pendant la mise à niveau de version pour un service avec un ordre de priorité plus élevé. Vous pouvez utiliser les commandes suivantes pour basculer la priorité :

  • set gslb vserver –toggleorder <Ascending/Descending>

  • set gslb vserver v1 -orderthreshold 80

Par exemple, considérons qu’il existe deux services ayant les priorités suivantes :

  • Service 1- order 0 
  • Service 2 — commande 1

Par défaut, le service 1 gère tout le trafic. Si le service 1 doit être mis à niveau, le trafic doit être redirigé vers le service 2.

À l’invite de commandes, tapez les commandes suivantes pour basculer la priorité :

set gslb vserver –toggleorder Descending

Par défaut, 0 a une priorité supérieure. Cependant, après le basculement de priorité, 1 est considéré comme une priorité supérieure. Si une entrée de persistance est présente pour le service, le comportement de préférence de persistance est tel qu’expliqué dans la sectionParamètres de persistance pour les services .