Règles de routage DNS et vérifications de l'état

Vous pouvez configurer des règles de routage DNS pour les jeux d'enregistrements de ressources dans des zones privéesou publiquesafin d'orienter le trafic en fonction de critères spécifiques. Créez des jeux d'enregistrements de ressources avec des valeurs de règles de routage spécifiques pour configurer ces règles. Ces valeurs déterminent la façon dont Cloud DNS achemine le trafic des requêtes.

Cloud DNS est compatible avec les règles de routage suivantes :

  • Règle de routage round robin pondéré (WRR) : utilisez une règle de routage WRR pour attribuer différentes pondérations à chaque jeu d'enregistrements de ressources pour un nom DNS. Une règle de routage WRR permet de s'assurer que le trafic est distribué en fonction des pondérations configurées. Il n'est pas possible de combiner des règles de routage WRR et de géolocalisation.

  • Règle de routage de géolocalisation : utilisez la règle de routage de géolocalisation pour spécifier les sources de géolocalisation et fournir des réponses correspondantes à ces zones géographiques. Lorsqu'aucun élément de la règle ne correspond exactement à l'emplacement source du trafic, la règle de routage de géolocalisation applique la correspondance la plus proche.

Les règles de routage DNS ne peuvent pas être configurées pour les zones privées suivantes :

  • Zones de transfert
  • Zones d'appairage DNS
  • Zones de recherche inversée gérées
  • Zones de l'annuaire des services

Règles de routage WRR

Une règle de routage WRR vous permet de spécifier différentes pondérations par cible DNS. Cloud DNS garantit que votre trafic est réparti en fonction de ces pondérations. Vous pouvez utiliser cette règle pour accepter les configurations manuelles active-active ou active-passive. Vous pouvez également répartir le trafic entre les versions de production et expérimentales de votre service.

Cloud DNS accepte les vérifications d'état et les basculements dans les règles de routage pour les équilibreurs de charge internes et les points de terminaison externes. Il permet le basculement automatique lorsque les points de terminaison échouent à leurs vérifications de l'état. Lors d'un basculement, Cloud DNS ajuste automatiquement la répartition du trafic entre les points de terminaison opérationnels restants. Pour en savoir plus, consultez Vérifications de l'état.

Règles de routage avec géolocalisation

Une règle de routage avec géolocalisation vous permet de mapper le trafic provenant d'emplacements sources (régionsGoogle Cloud ) à des cibles DNS spécifiques. Utilisez cette règle pour répartir les requêtes entrantes vers différentes instances de service en fonction de l'origine du trafic. Vous pouvez utiliser cette fonctionnalité avec le trafic externe àGoogle Cloud ou provenant de Google Cloud et destiné aux équilibreurs de charge réseau passthrough internes. Cloud DNS utilise la région dans laquelle les requêtes entrent dans Google Cloud en tant qu'emplacement source.

Une règle de routage avec géolocalisation mappe la source différemment pour un DNS public ou un DNS privé, de la manière suivante :

  • Pour un DNS public, l'adresse IP source ou le mécanisme d'extension pour le sous-réseau client DNS (EDNS) de la requête est utilisé.
  • Pour les DNS privés, le sous-réseau client EDNS n'est pas utilisé. L'emplacement de la requête correspond à l'emplacement du système qui envoie les paquets pour la requête :
    • Pour les requêtes provenant d'une instance de machine virtuelle (VM) Compute Engine avec une interface réseau dans un réseau VPC, l'emplacement de la requête correspond à la région contenant l'instance de VM.
    • Pour les requêtes reçues par un point d'entrée de règle de serveur entrant, l'emplacement de la requête correspond à la région du tunnel Cloud VPN, du rattachement de VLAN Cloud Interconnect ou de l'appareil de routeur qui a reçu les paquets pour la requête. La région de l'adresse IP du point d'entrée n'est pas pertinente. Pour en savoir plus, consultez Réseau et région pour les requêtes entrantes.

Cloud DNS accepte les vérifications d'état et les basculements dans les règles de routage pour les équilibreurs de charge internes et les points de terminaison externes. Il permet le basculement automatique lorsque les points de terminaison échouent à leurs vérifications de l'état. Lorsque vous utilisez des règles de routage avec géolocalisation, le trafic est basculé vers la géolocalisation suivante la plus proche du trafic source.

Règle de routage avec géolocalisation à base de zone de géorepérage

Un géorepérage permet de s'assurer que le trafic est dirigé vers une région spécifique, même si tous les points de terminaison de cette région échouent aux vérifications de l'état.

Lorsque le géorepérage est désactivé et qu'une vérification de l'état échoue pour une géolocalisation spécifique, le trafic bascule automatiquement vers la géolocalisation suivante la plus proche. Toutefois, lorsque le géorepérage est activé, ce basculement automatique ne se produit pas. En tant que serveur de référence, Cloud DNS doit renvoyer une valeur. Dans ce scénario, Cloud DNS renvoie toutes les adresses IP non modifiées lorsque les points de terminaison échouent aux vérifications de l'état.

Règles de routage avec basculement

La règle de routage avec basculement vous permet de définir des configurations de secours actives pour assurer la haute disponibilité des ressources internes de votre réseau VPC.

En fonctionnement normal, Cloud DNS renvoie toujours les adresse IP du jeu active. Lorsque toutes les adresses IP du jeu active deviennent non opérationnelles, Cloud DNS diffuse les adresses IP du jeu backup. Si vous configurez le jeu backup en tant que règle de routage avec géolocalisation, il fonctionne comme décrit dans la section Règles de routage avec géolocalisation. Si vous configurez le jeu backup pour un équilibreur de charge interne, Cloud DNS vérifie l'état de toutes les adresses IP virtuelles (VIP) de secours.

Cloud DNS vous permet de transférer progressivement le trafic vers les adresses VIP de secours. Vous pouvez ainsi vérifier que ces adresses fonctionnent. Vous pouvez configurer le pourcentage du trafic envoyé vers le système de secours sous la forme d'une fraction comprise entre 0 et 1. Vous pouvez déclencher manuellement un basculement en envoyant 100 % du trafic vers les adresses VIP de secours. La valeur type est 0,1. Les vérifications de l'état ne peuvent être appliquées qu'aux équilibreurs de charge internes et aux points de terminaison externes.

Vérifications d'état

Cloud DNS accepte les vérifications d'état et les basculements dans les règles de routage pour les équilibreurs de charge internes et les points de terminaison externes suivants :

Lorsque vous souhaitez utiliser la vérification de l'état avec une zone gérée et que les extensions de sécurité DNS (DNSSEC) sont activées, une seule adresse IP peut être utilisée dans chaque élément de règle(WRR ou géolocalisation). Vous ne pouvez pas mélanger dans une même règle les adresses IP dont l'état a été vérifié et celles dont l'état n'a pas été vérifié.

Pour en savoir plus sur les bonnes pratiques à prendre en compte lors de la configuration de l'enregistrement Cloud DNS et des vérifications d'état, consultez Bonnes pratiques.

Vérifications de l'état des équilibreurs de charge internes

Les vérifications de l'état pour les équilibreurs de charge internes ne sont disponibles que dans les zones privées.

Pour les équilibreurs de charge d'application internes et les équilibreurs de charge réseau proxy internes, Cloud DNS tient compte de l'état de l'équilibreur de charge lui-même lors de la décision de routage. Lorsqu'un équilibreur de charge reçoit une requête, il répartit le trafic uniquement vers les services de backend opérationnels. Pour vous assurer qu'il existe des backends opérationnels, vous pouvez gérer leur cycle de vie à l'aide de services tels que les groupes d'instances gérés (MIG). Cloud DNS n'a pas besoin de connaître l'état de fonctionnement des backends individuels. C'est l'équilibreur de charge qui s'en charge.

Pour les équilibreurs de charge réseau passthrough internes, Cloud DNS vérifie les informations sur l'état des instances backend individuelles de l'équilibreur de charge. Cloud DNS applique un seuil par défaut de 20 %. Si au moins 20 % des instances backend sont opérationnelles, le point de terminaison de l'équilibreur de charge est considéré comme opérationnel. Les règles de routage DNS marquent le point de terminaison comme opérationnel ou non opérationnel en fonction de ce seuil, et acheminent le trafic en conséquence.

L'adresse IP virtuelle (VIP) d'un seul équilibreur de charge réseau passthrough interne peut être associée à plusieurs instances backend. Si un équilibreur de charge réseau passthrough interne ne comporte aucune instance backend, Cloud DNS le considère toujours comme opérationnel. Pour que la vérification de l'état fonctionne correctement, spécifiez au moins une instance backend dans la configuration de l'équilibreur de charge.

Lorsque le point de terminaison est marqué comme non opérationnel, les conditions suivantes peuvent se produire :

  • Si plusieurs adresses IP virtuelles sont programmées sur une règle, seules les adresses IP virtuelles opérationnelles sont renvoyées.
  • Si toutes les adresses VIP programmées sur un bucket de règle ne sont pas opérationnelles, cette ligne de règle échoue. Le comportement suivant s'applique :

    • Pour une règle WRR, Cloud DNS répartit le trafic proportionnellement entre les points de terminaison opérationnels restants définis dans la règle.
    • Pour une règle de géolocalisation sur laquelle le cloisonnement n'est pas activé, le trafic est dirigé vers les points de terminaison de la zone géographique la plus proche de la région Google Cloud source définie dans la règle.
    • Pour une règle de géolocalisation sur laquelle le géorepérage est activé, Cloud DNS distribue le trafic à l'adresse VIP la plus proche de la région Google Cloud source définie dans la règle.
    • Pour une règle avec basculement, Cloud DNS bascule le trafic vers les points de terminaison de secours définis dans la règle.
    • Si aucun bucket de la règle n'est opérationnel, Cloud DNS se comporte comme si tous les points de terminaison étaient opérationnels. Ce scénario peut potentiellement entraîner une distribution du trafic vers des points de terminaison qui ne répondent pas.

Pour en savoir plus sur les vérifications de l'état pour les équilibreurs de charge internes, consultez Présentation des vérifications d'état.

Vérifications de l'état des points de terminaison externes

Les vérifications d'état pour les points de terminaison externes ne sont disponibles que dans les zones publiques. Les points de terminaison dont vous souhaitez vérifier l'état doivent être accessibles sur l'Internet public. Le point de terminaison spécifié peut être toute adresse IP et tout port externes, y compris une adresse VIP d'équilibreur de charge d'application externe mondial, une adresse VIP d'équilibreur de charge d'application externe régional, une adresse VIP d'équilibreur de charge réseau proxy externe mondial, des points de terminaison sur site ou tout autre point de terminaison accessible sur l'Internet public.

Utilisez des vérifications d'état pour les points de terminaison externes dans les scénarios suivants :

  • Pour rediriger le trafic vers un équilibreur de charge d'application externe régional si un backend d'équilibreur de charge d'application externe mondial ou un backend d'équilibreur de charge réseau proxy externe mondial devient non opérationnel.
  • Pour rediriger le trafic vers un autre équilibreur de charge d'application externe régional si le backend d'un équilibreur de charge d'application externe régional spécifique devient non opérationnel.
  • Pour surveiller l'état des points de terminaison sur site ou d'autres points de terminaison accessibles sur l'Internet public.

Lorsque vous créez une règle de routage DNS avec des vérifications de l'état pour les points de terminaison externes, Cloud DNS envoie des vérifications de l'état à vos points de terminaison. Ces vérifications d'état proviennent de trois régions sources Google Cloud que vous spécifiez. Les vérificateurs d'état de chaque région s'exécutent indépendamment, et Cloud DNS agrège leurs résultats pour déterminer l'état général du point de terminaison. Dans chaque région, trois instances de vérificateur d'état vérifient chaque point de terminaison. Si une vérification échoue, Cloud DNS peut toujours déterminer l'état de fonctionnement du point de terminaison à l'aide des vérifications restantes. Cela signifie que vous disposez de neuf vérificateurs au total pour chaque point de terminaison, et que chaque vérification a lieu à la fréquence que vous spécifiez dans l'intervalle de vérification. En fonction des paramètres de la règle de routage et des informations sur l'état, Cloud DNS sélectionne un point de terminaison et y achemine le trafic.

Cloud DNS est compatible avec les protocoles TCP, HTTP et HTTPS, avec les mises en garde suivantes :

  • Le champ de requête TCP n'est pas compatible.
  • Le champ proxyHeader pour HTTP, HTTPS et TCP n'est pas compatible.

Les protocoles SSL, HTTP/2 et gRPC ne sont pas compatibles.

Pour le protocole TCP, Cloud DNS tente de se connecter au point de terminaison. Pour les protocoles HTTP et HTTPS, Cloud DNS vérifie que le point de terminaison renvoie un code de réponse HTTP 200. Vous pouvez également configurer une vérification d'état basée sur le contenu, dans laquelle Cloud DNS vérifie que la réponse contient une chaîne spécifique.

Contrairement à la vérification de l'état des équilibreurs de charge internes, les vérifications de l'état Cloud DNS pour les points de terminaison externes ne proviennent pas de plages d'adresses IP fixes. Les plages d'adresses IP sources des vérifications sont susceptibles de changer au fil du temps.

Le protocole et le port que vous spécifiez lors de la création de la vérification d'état déterminent la manière dont les vérifications sont effectuées. Si vous ne spécifiez aucun port, Cloud DNS utilise le port 80. Pour vous assurer que les vérifications d'état fonctionnent correctement, configurez vos règles de pare-feu de sorte qu'elles autorisent les vérifications d'état provenant de n'importe quelle adresse IP source et sur le port spécifique configuré dans la vérification d'état.

Si vous n'avez pas configuré votre pare-feu pour autoriser les vérifications d'état, elles échouent. Cloud DNS considère alors que les points de terminaison bloqués ne sont pas opérationnels. Si tous les points de terminaison sont signalés comme non opérationnels, Cloud DNS les fournit quand même tous dans les résultats, même s'ils ne sont pas opérationnels.

Intervalle de vérification de l'état

Cloud DNS envoie régulièrement des vérifications d'état en fonction de l'intervalle défini. Par exemple, si cet intervalle est de 30 secondes, Cloud DNS envoie une vérification de l'état toutes les 30 secondes.

Pour la vérification de l'état des points de terminaison externes Cloud DNS, l'intervalle doit être compris entre 30 et 300 secondes.

Règles de routage round robin pondéré et vérifications de l'état

Cloud DNS prend en charge des valeurs de pondérations allant de 0 à 1 000 (ces deux nombres compris). Lorsque les vérifications de l'état sont incluses, il se produit ce qui suit :

  • Si vous configurez plusieurs cibles avec une valeur de pondération de 0, le trafic est réparti de manière égale entre les cibles.
  • Si vous configurez une nouvelle cible dont la pondération n'est pas nulle, elle devient alors la cible principale et tout le trafic se dirige vers elle.
  • Au fur et à mesure que vous ajoutez des cibles avec des pondérations non nulles, Cloud DNS calcule de manière dynamique la répartition du trafic entre les cibles (à chaque requête envoyée) et distribue le trafic de manière appropriée. Si vous avez configuré trois cibles avec des pondérations de 0, 25 et 75, la cible configurée avec une valeur de pondération de 0 ne reçoit aucun trafic, celle à 25 reçoit un quart du trafic, et la cible restante reçoit trois quarts du trafic entrant.
  • Si des vérifications de l'état sont uniquement associées à des cibles dont les valeurs de pondération sont non nulles, les cibles dont la valeur de pondération est nulle sont toujours considérées comme opérationnelles. Si tous les enregistrements dont la valeur de pondération est non nulle ne sont pas opérationnels, Cloud DNS renvoie les enregistrements dont la valeur de pondération est nulle.
  • Si des vérifications de l'état sont associées à des enregistrements dont les valeurs de pondération sont à la fois nulles et non nulles, et si tous les enregistrements échouent aux vérifications de l'état, Cloud DNS renvoie les cibles dont la valeur de pondération est non nulle et évite complètement les cibles dont la valeur de pondération est nulle.
  • Lorsque Cloud DNS choisit un bucket de pondération à renvoyer au demandeur (un seul élément de règle), seule l'adresse IP de ce bucket est renvoyée. Si vous n'indiquez qu'une seule adresse IP dans le bucket de pondération, seule cette adresse IP figure dans la réponse. Si le bucket de pondération contient plus d'une adresse IP, Cloud DNS renvoie toutes les adresses IP dans un ordre aléatoire.

Règles de routage avec géolocalisation et vérifications de l'état

Pour la règle de routage avec géolocalisation et vérification de l'état activée, il se produit ce qui suit :

  • Lorsqu'une règle a plusieurs adresses IP configurées et que toutes les adresses IP ont fait l'objet d'une vérification de l'état, seules les adresses IP opérationnelles sont renvoyées.
  • En cas de mélange d'adresses IP vérifiées et non vérifiées, et si toutes les adresses IP vérifiées échouent, Cloud DNS renvoie toutes les adresses IP pour lesquelles la vérification de l'état n'est pas configurée. Dans ce scénario, le basculement automatique vers la zone géographique suivante la plus proche ne se produit pas.

Journalisation des vérifications d'état

Cloud DNS accepte la journalisation des vérifications de l'état et enregistre l'état de fonctionnement de vos adresses IP pour lesquelles la vérification de l'état est activée lorsque vous interrogez le nom DNS qui fait référence à ces adresses IP.

La journalisation des vérifications de l'état vous permet d'effectuer les opérations suivantes :

  • Vérifiez si les règles de routage fonctionnent comme prévu. Par exemple :
    • Pour les règles de géolocalisation, vous pouvez vérifier qu'elles détectent la bonne zone géographique et renvoient le bon ensemble de données d'enregistrement de ressources.
    • Pour les règles WRR, vous pouvez vérifier qu'elles renvoient les adresses IP avec la bonne pondération.
  • Identifiez les problèmes d'infrastructure avec des backends et des adresses IP spécifiques qui présentent des défaillances.
  • Déterminez pourquoi certains backends ne sont jamais inclus ou sont les seuls à être renvoyés.

Pour en savoir plus, consultez Informations concernant les journaux de vérification d'état.

Types d'enregistrements compatibles avec les règles de routage DNS

Les règles de routage DNS ne sont pas compatibles avec tous les types d'enregistrements acceptés par Cloud DNS.

Les types d'enregistrements suivants sont acceptés :

Type d'enregistrement Description
A Adresses IPv4 pour les vérifications d'état internes (zone privée) et externes (zone publique) .
AAAA Adresses IPv6 pour les vérifications d'état externes (zone publique).
CNAME Noms canoniques. Les vérifications de l'état ne sont pas acceptées.
MX Enregistrements Mail Exchange. Les vérifications de l'état ne sont pas acceptées.
SRV Hôte/port (RFC 2782). Les vérifications de l'état ne sont pas acceptées.
TXT Données textuelles. Les vérifications de l'état ne sont pas acceptées.

Étapes suivantes