IBM Cloud Docs
Utilisation des équilibreurs de charge globaux

Utilisation des équilibreurs de charge globaux

IBM Cloud® DNS Services fournit un équilibrage de charge global en tant que service qui vous offre une haute disponibilité et une répartition géographique de votre trafic, en fonction de l'état de santé de vos serveurs d'origine et de la région géographique d'où provient la demande d'utilisateur.

Par exemple, dans une zone DNS example.com, le nom d'hôte DNS api.example.com est créé en tant qu'équilibreur de charge global. Le nom d'hôte api.example.com peut être résolu en différentes adresses IP en fonction de l'emplacement du demandeur et de l'état de santé des origines. Si une ou plusieurs des origines (selon une règle) ne sont pas disponibles dans une région, les origines en bonne santé issues de différentes régions sont renvoyées en réponse à la requête DNS. Cela garantit un haut degré de disponibilité du nom d'hôte api.example.com. Cela garantit également que la charge est répartie géographiquement entre différentes origines et routée à l'échelle régionale.

Limitations des équilibreurs de charge globaux

Les limitations suivantes s'appliquent à la fonction d'équilibrage de charge global.

  • Chaque instance DNS Services peut comporter :
    • Jusqu'à 100 moniteurs de contrôle de santé
    • Jusqu'à 100 sous-réseaux de contrôle de santé
    • Jusqu'à 100 pools d'origine
      • Chaque pool d'origine peut avoir jusqu'à 5 origines
      • Chaque pool d'origine ne peut pas utiliser plus de 2 sous-réseaux pour la surveillance de l'état de santé
    • Jusqu'à 100 origines
  • Chaque zone DNS peut comporter un maximum de 25 équilibreurs de charge globaux
  • Pour la zone liée à plusieurs comptes, la politique d'emplacement est dictée par la carte de zone VPC du compte propriétaire.

Cas d'utilisation et flux de travaux

L'utilisation la plus fréquente des équilibreurs de charge globaux consiste à diriger le trafic vers des origines en bonne santé et à répartir les charges.

Les flux de travaux suivants sont exécutés à partir du tableau de bord de la zone DNS Services. Naviguez jusqu'à l'onglet Global load balancers pour voir vos load balancersLogiciel ou matériel distribuant la charge de travail sur un ensemble de serveurs pour s'assurer que les serveurs ne soient pas surchargés. L'équilibreur de charge dirige également les utilisateurs vers un autre serveur en cas de défaillance du serveur initial., origin pools et health checksProcessus qui surveille des ressources système et des états pour déterminer si le système s'exécute correctement. Le diagnostic d'intégrité peut être configuré pour signaler des problèmes potentiels et afficher des avertissements et des niveaux de défaillance avant que l'intégrité du système ne soit compromise..

Création d'un équilibreur de charge global avec surveillance de l'état de santé d'origine

La création d'un équilibreur de charge global avec surveillance de l'état de santé d'origine combine la haute disponibilité à l'équilibrage de charge géographique pour les applications indispensables à la mission. Ce flux de travaux garantit que le trafic est routé uniquement vers des origines en bonne santé.

Procédez comme suit pour créer un équilibreur de charge global avec surveillance de l'état de santé d'origine :

  1. Créez un contrôle de santé.
  2. Créez un pool d'origine et spécifiez le contrôle de santé à utiliser.
  3. Créer un équilibreur de charge global.

Les contrôles de santé HTTP et HTTPS utilisent l'agent utilisateur HTTP suivant : "Mozilla/5.0 (compatible; IBM-Cloud-DNS-Services/1.0; Health-Check/1.0; pool-id=12345678-1234-1234-1234-123456789012)". pool-id est défini en tant que pool d'équilibreurs de charge pour lequel le contrôle de santé est configuré.

Création d'un équilibreur de charge global sans surveillance de l'état de santé d'origine

Dans cette configuration, DNS Services fournit un équilibrage de charge géographique en fonction de la règle configurée, mais pas de fonctions de haute disponibilité.

Après avoir créé une zone DNS et lui avoir ajouté un réseau autorisé, procédez comme suit pour créer un équilibreur de charge global :

  1. Créez un pool d'origines.
  2. Créez l'équilibreur de charge global.

Création d'un contrôle de santé

Créez un contrôle de santé pour spécifier comment la santé de l'origine est surveillée. DNS Services prend en charge les types de surveillance HTTP, HTTPS et TCP. Une fois que vous avez créé un contrôle de santé, vous pouvez l'ajouter à un pool d'origine nouveau ou existant. Des contrôles de santé existent au niveau de l'instance et peuvent être utilisés par n'importe quel pool de l'instance.

Si une origine est marquée comme défectueuse en raison de l'échec des diagnostics d'intégrité, un seul diagnostic d'intégrité suffit pour ramener l'origine à un état sain.

Pour créer un contrôle de santé, procédez comme suit :

  1. Dans le menu de navigation DNS Services, cliquez sur Equilibreurs de charge globaux, puis sélectionnez l'onglet Contrôles de santé.

  2. Cliquez sur Créer un contrôle de santé pour commencer.

  3. Dans la zone Nom du contrôle de santé, attribuez un nom à votre contrôle de santé.

  4. Saisissez éventuellement une Description pour le contrôle de santé qui vous aidera à comprendre ce qu'il surveille.

  5. Sélectionnez le Type de moniteur. Choisissez le protocole à utiliser pour le contrôle de santé. Les types de moniteur pris en charge sont HTTP, HTTPS et TCP. La valeur par défaut est HTTP. Si HTTPS est sélectionné, la case Ne pas valider le certificat apparaît après la section Options avancées. Cochez cette case lorsque le certificat HTTPS sur l'origine n'est pas signé par une autorité de certification (par exemple, un certificat autosigné).

  6. Entrez le chemin d'accès (Path) au noeud final sur lequel effectuer le contrôle de santé. La valeur par défaut est /.

  7. Saisissez éventuellement le numéro de Port que vous souhaitez utiliser. Pour que le contrôle de santé aboutisse, une application pertinente doit être en cours d'exécution sur l'origine qui répond aux demandes de surveillance de l'état de santé.

  8. Dans la section Paramètres avancés, sélectionnez un Intervalle de test (en secondes) entre chaque contrôle de santé. Des intervalles plus courts peuvent améliorer le temps de basculement, mais augmentent la charge sur les origines, car les contrôles proviennent de plusieurs endroits. La valeur par défaut est 60.

  9. Choisissez une Méthode à utiliser pour le contrôle de santé dans la liste (HTTP et HTTPS uniquement). La valeur par défaut est GET.

  10. Sélectionnez un intervalle de délai d'attente (en secondes). Le délai d'attente correspond à la durée pendant laquelle le diagnostic d'intégrité attend avant d'échouer avec une erreur de délai d'attente. La valeur par défaut est 5.

  11. Sélectionnez le nombre de nouvelles tentatives à tenter. Décidez combien de fois le diagnostic d'intégrité est tenté avant de déclarer que le diagnostic d'intégrité de l'origine a échoué. Les nouvelles tentatives sont effectuées immédiatement. La valeur par défaut est 1. Les dernières options du type de moniteur TCP sont définies à cette étape. Cliquez sur Créer pour sauvegarder vos modifications et créer le contrôle de santé. Les types de moniteur HTTP et HTTPS possèdent des options supplémentaires qui sont définies ci-dessous.

  12. Entrez les Codes de réponse attendus, qui sont les codes de réponse HTTP ou la plage de codes du contrôle de santé. Cette valeur doit être comprise entre 200-299 avec des caractères génériques signalés par x.

  13. Saisissez éventuellement entrer un Corps de la réponse qui est une sous-chaîne insensible à la casse à comparer dans le corps de la réponse. Si la chaîne est introuvable, l'origine est marquée comme non intègre.

  14. Dans la section En-tête de demande facultative, vous pouvez ajouter et configurer des en-têtes de demande HTTP à envoyer dans le contrôle de santé. Entrez un nom et une valeur d'en-tête dans les zones fournies. Cliquez sur Ajouter un en-tête de demande pour configurer des en-têtes supplémentaires.

  15. Cliquez sur Créer pour sauvegarder vos modifications et créer le contrôle de santé.

Ajout d'un pool d'origine

Les pools d'origine regroupent vos origines utilisées par l'équilibreur de charge. Une origine peut être une adresse IP ou un nom d'hôte. Déterminez si vous souhaitez créer un pool d'origine surveillé ou non surveillé. Pour les pools surveillés, vous devez spécifier le contrôle de santé à utiliser et le sous-réseau à partir duquel l'état de santé est surveillée. Les pools d'origine existent au niveau de l'instance et peuvent être utilisés par n'importe quel équilibreur de charge global dans n'importe quelle zone DNS configurée dans l'instance.

Avant de commencer, prenez note des considérations suivantes lorsque vous utilisez des pools d'origine :

  • Au moins un pool d'origine est requis pour chaque équilibreur de charge.
  • La surveillance de l'état de santé d'origine continue même lorsqu'un pool d'origine est désactivé. Pour désactiver la surveillance de l'état de santé sur une origine, vous pouvez désactiver l'origine.
  • Lors de la création d'un pool d'origine, l'initiation du contrôle de santé peut prendre 1 à 10 minutes pendant lesquelles le pool est à l'état Critical.
  • Vous ne pouvez pas supprimer un sous-réseau que vous utilisez pour la surveillance de santé, sauf si vous supprimez le contrôle de santé du pool d'origine que vous surveillez.
  • Si un nom d'hôte est fourni en tant qu'origine dans un pool, il peut s'agir d'un enregistrement de ressource de type A, AAAA ou CNAME, ainsi que d'un autre équilibreur de charge. Toutefois, les performances risquent de ralentir lors de la résolution de longues chaînes CNAME ou d'équilibreurs de charge.

Vous devez mettre à jour votre groupe de sécurité VPC pour autoriser le trafic provenant du sous-réseau de surveillance de l'état de santé. Pour plus d'informations, voir Groupes de sécurité.

Pour créer un pool d'origine, procédez comme suit :

  1. Dans le menu de navigation DNS Services, cliquez sur Equilibreurs de charge globaux, puis sélectionnez l'onglet Pools d'origines.

  2. Cliquez sur Créer un pool d'origines. Les pools sont activés par défaut.

    La désactivation d'un pool entraîne le basculement de tout équilibreur de charge qui l'utilise vers le pool suivant, le cas échéant. Les pools désactivés ne reçoivent pas de trafic.

  3. Attribuez un nom au pool. Seuls les caractères alphanumériques, les traits d'union et les traits de soulignement sont autorisés.

  4. Saisissez éventuellement une Description pour le pool d'origine.

  5. Activez les Origines à ajouter à la liste des origines de ce pool.

  6. Attribuez un nom et une adresse à l'origine. Cliquez sur Ajouter pour ajouter d'autres pools et sélectionnez le bouton à bascule pour activer ou désactiver le pool. Le trafic dirigé vers ce pool est équilibré sur toutes les origines actuellement en bonne santé, à condition que le pool lui-même soit en bonne santé. Les contrôles de santé excluent les origines désactivées.

  7. Sélectionnez le seuil d'origine en bonne santé (Healthy origin threshold), qui correspond au nombre minimal d'origines qui doivent être en bonne santé pour que ce pool assure le trafic. Si le nombre est inférieur à cette valeur, le pool est marqué comme étant non intègre et bascule vers le prochain pool disponible La valeur par défaut est 1.

  8. Dans la section de surveillance d'intégrité, sélectionnez un Contrôle de santé afin de déterminer la méthode utilisée par le contrôle de santé, ainsi que le contrôle de santé à utiliser pour vérifier les origines dans ce pool. La valeur par défaut ne définit pas de contrôle de santé.

  9. Sélectionnez une Région du contrôle de santé à partir de laquelle le contrôle de santé procède à la surveillance. Les options sont Dallas, Francfort, Londres, Madrid, Osaka, Sao Paulo, Sydney, Tokyo, Toronto, Washington, DC et Paris (Paris est disponible uniquement pour les utilisateurs restreints).

  10. Sélectionnez le VPC qui contient le sous-réseau d'où provient le contrôle de santé.

  11. Choisissez un Sous-réseau (Emplacement). Sélectionnez un sous-réseau et un emplacement dans le menu de la liste. Il s'agit du sous-réseau à partir duquel le contrôle de santé est exécuté. Vous pouvez spécifier jusqu'à deux sous-réseaux.

  12. Cliquez sur Créer pour sauvegarder vos modifications et créer votre pool d'origine.

Lorsque vous commencez par créer un pool d'origine, son statut est Critical et le statut de l'origine est Down car le contrôle de santé initial n'est pas encore terminé. Le statut est mis à jour après que le contrôle de santé de l'origine a abouti.

Définitions des statuts

Le tableau suivant décrit les statuts possibles que vous pouvez voir dans vos origines, pools d'origines et équilibreurs de charge globaux.

Définitions de l'état des origines, des pools d'origines et des répartiteurs de charge globaux
Fonction Statut Définition
Origine up down En haut: L'origine fonctionne normalement
Down: L'origine est en panne
Au moins 50 % des contrôles de santé de l'origine doivent être en cours pour que la santé de l'origine reste healthy
Pool d'origine healthy degraded critical En bonne santé: Toutes les origines de la piscine sont en hausse
Dégradé: Au moins un statut d'origine est dégradé
Critique: Le nombre d'origines saines dans le pool est inférieur au seuil du pool d'origines saines. Par exemple, si votre seuil est défini sur 2 et qu'une seule origine a le statut "up", le statut du pool est Critical.
Equilibreur de charge global healthy degraded critical Healthy (sain): Tous les pools d'origine associés à l'équilibreur de charge global sont sains
Dégradé: Au moins un des pools d'origine est dans un état
Critique: L'état de l'équilibreur de charge global est critique lorsque tous les pools d'origine associés à l'équilibreur de charge global sont critiques.

Le statut "fallback_pool" n'est pas pris en compte dans l'évaluation de l'état de santé de l'équilibreur de charge global.

Groupes de sécurité

Mettez à jour le groupe de sécurité du VPC de sorte à autoriser le trafic de contrôle de santé entrant à partir de l'adresse IP utilisée par le contrôleur de santé sur le sous-réseau de surveillance de l'état de santé. Cette mise à jour est actuellement possible en autorisant le trafic pour l'ensemble du routage CIDR de sous-réseau.

Création d'un équilibreur de charge global

Les équilibreurs de charge permettent de répartir votre trafic sur plusieurs pools d'origine.

Pour créer un équilibreur de charge, procédez comme suit :

Pour configurer un équilibreur de charge global, vous devez commencer par créer un pool d'origine.

  1. Dans le menu de navigation DNS Services, cliquez sur Equilibreurs de charge globaux, puis sélectionnez l'onglet Equilibreurs de charge.
  2. Sélectionnez une zone DNS dans la liste.
  3. Cliquez sur Créer un équilibreur de charge.
  4. Entrez le Balancer hostname du DNS pour l'associer à votre équilibreur de charge.
  5. Saisissez éventuellement une Description pour l'équilibreur de charge global.
  6. Sélectionnez la durée de vie (TTL) de l'entrée DNS pour l'adresse IP renvoyée par cet équilibreur de charge.
  7. Ajoutez ou sélectionnez une Default policy. Une règle par défaut spécifie les pools d'origine qui sont utilisés pour toutes les zones de disponibilité (AZ) pour lesquelles une règle basée sur l'emplacement n'est pas spécifiée. Lorsque plusieurs pools sont sélectionnés dans une règle, vous pouvez modifier leur priorité en utilisant les touches de déplacement du curseur dans la colonne Priority.
  8. Ajoutez ou sélectionnez une Fallback policy. Une règle de rétromigration spécifie le pool d'origine à utiliser lorsque tous les autres pools d'origine de la stratégie par défaut ou d'emplacement ont le statut "critical". La règle de rétromigration ne peut comporter qu'un seul pool d'origine.
  9. Ajoutez ou sélectionnez éventuellement une Location policy. La règle d'emplacement vous permet d'associer un ou plusieurs pools d'origine pour une zone de disponibilité spécifique. Toute zone de disponibilité qui n'est pas explicitement définie en tant que règle d'emplacement utilise la règle par défaut.

Comment les programmes de résolution DNS classent par ordre de priorité les pools d'équilibrage de charge globaux

Le programme de résolution DNS utilise l'ordre suivant pour renvoyer les origines depuis le pool d'origine.

Règle d'emplacement > Règle par défaut > Règle de rétromigration

La règle d'emplacement (si elle est définie dans la zone de disponibilité) a la priorité la plus élevée et est utilisée en premier. Si chaque pool d'origine de la règle d'emplacement est arrêté, le programme de résolution DNS utilise les pools d'origine de la règle par défaut. Si tous les pools d'origine de la règle par défaut ont également le statut "down", le programme de résolution DNS bascule vers le pool d'origine désigné dans la règle de rétromigration.

Comment les programmes de résolution DNS traitent les enregistrements de ressource TTL pour les réponses DNS

Comme indiqué précédemment, si l'adresse d'une origine est un nom d'hôte, ce nom d'hôte peut représenter le nom d'un enregistrement de ressource A, AAAA ou CNAME. Dans ces scénarios, une requête DNS résolue à l'aide d'un équilibreur de charge global peut nécessiter que le programme de résolution considère plusieurs enregistrements de ressource en même temps.

Lorsque le programme de résolution DNS répond à une requête, il choisit la durée de vie la plus faible observée parmi l'ensemble des enregistrements de ressource pris en compte et la durée de vie configurée sur l'équilibreur de charge global lui-même en tant que durée de vie des enregistrements de ressource dans la réponse.

La réponse DNS résultante basée sur un équilibreur de charge global peut contenir uniquement les enregistrements A ou AAAA nécessaires, faisant référence aux adresses IP à équilibrage de charge. Toutefois, la configuration d'autres éléments dont dépend un équilibreur de charge global peut également affecter la durée de vie dans la réponse DNS. Cela est particulièrement vrai lorsqu'il existe des origines avec une adresse qui fait référence à un enregistrement de ressource CNAME faisant partie d'une chaîne CNAME à l'enregistrement de ressource A ou AAAA souhaité.

Il peut exister d'autres scénarios dans lesquels l'adresse d'une origine fait référence à un enregistrement de ressource ou conduit à une chaîne d'autres enregistrements de ressource, configurés sur une zone DNS différente sur l'Internet public. Par conséquent, certains enregistrements de ressource pris en compte par les programmes de résolution DNS peuvent provenir d'autres programmes de résolution DNS en amont. Si les enregistrements de ressources en cache d'un résolveur DNS en amont contiennent une durée de vie inférieure dans leur cache en raison de sa méthode de mise en cache particulière, la durée de vie minimale observée parmi tous les enregistrements de ressources considérés peut être réduite. Il en résulte une réponse DNS qui contient des enregistrements de ressource avec des valeurs TTL inférieures à la durée maximale prévue.

Affichage, édition ou suppression de composants d'un équilibreur de charge global

Pour afficher, éditer ou supprimer un équilibreur de charge, ou l'un de ses composants, cliquez sur une action du menu Dépassement Icône Dépassement sur la ligne de la table de l'équilibreur de charge.

Les options suivantes sont disponibles pour chaque liste.

  • Diagnostics d'intégrité

    • Edit health check - Redirige vers le flux d'édition.
    • Delete health check - Affiche la boîte de dialogue de confirmation pour le flux de suppression.
  • Pools d'origines

    • Edit pool - Redirige vers le flux d'édition.
    • Delete pool - Affiche la boîte de dialogue de confirmation pour le flux de suppression.
  • Équilibreurs de charge

    • Edit load balancer - Redirige vers le flux d'édition.
    • Delete load balancer - Affiche la boîte de dialogue de confirmation pour le flux de suppression.