Comment résoudre les problèmes de routage de géolocalisation de Route 53 ?

Lecture de 7 minute(s)
0

Mes requêtes DNS renvoient l'adresse IP d'un serveur Web dans une autre région AWS. Par exemple, un utilisateur aux États-Unis est redirigé vers l'adresse IP d'un serveur Web situé en Europe.

Résolution

Les problèmes de routage de géolocalisation Route 53 sont causés par les problèmes suivants :

  • Un emplacement par défaut est manquant dans votre configuration de routage de géolocalisation.
  • Le résolveur DNS ne prend pas en charge l'extension edns0-client-subnet d'EDNS0. Cela conduit à une détermination inexacte de votre position.
  • Les résolveurs DNS sont géographiquement diversifiés.
  • Des modifications DNS ont été apportées aux enregistrements de ressources qui ne se sont pas propagés à l'échelle mondiale.

Pour résoudre ces problèmes, procédez comme suit :

  1. Vérifiez que les enregistrements de ressources de votre zone hébergée Route 53 sont correctement configurés pour votre cas d'utilisation. Vérifiez également qu'il existe un ensemble d'enregistrements de ressources par défaut. À partir de la console Route 53, vérifiez l'emplacement par défaut spécifié dans la configuration de votre zone hébergée Route 53.

Exemple : Examinez l'exemple de sortie suivant :

>> dig images.example.com

; <<>> DiG
9.8.2rc1-RedHat-9.8.2-0.37.rc1.45.amzn1 <<>> images.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR,
id: 51385
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1,
ADDITIONAL: 0

;; QUESTION SECTION
;images.example.com.    IN            A

;; AUTHORITY SECTION:
images.example.com.    60          IN           SOA        ns-1875.awsdns-42.co.uk.awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

;; Query time: 65 msec
;; SERVER: 172.31.0.2#53(172.31.0.2)
;; WHEN: Tue Feb  7 22:02:30 2017
;; MSG SIZE  rcvd: 124

Dans l'exemple précédent, aucun emplacement par défaut n'est spécifié dans la configuration du routage de géolocalisation. Ainsi, en cas de géolocalisation non correspondante, la réponse DNS renvoie NOERROR pour le champrcode, et il n'y a aucun résultat dans la sectionRÉPONSE. Pour corriger ce problème, ajoutez un emplacement par défaut dans votre configuration de routage de géolocalisation.

  1. Pour vérifier la plage d'adresse IP du résolveur DNS, exécutez les commandes suivantes, puis notez le résultat.

Sous Linux ou macOS, utilisez dig :

for i in {1..10}; do dig +short resolver-identity.cloudfront.net; sleep 11; done;

Sous Windows, utilisez nslookup :

for /l %i in (1,1,10) do (nslookup resolver-identity.cloudfront.net && timeout /t 11 /nobreak)
  1. Vérifiez si le résolveur DNS prend en charge EDNS0-Client-Subnet à l'aide de l'une des commandes suivantes et notez le résultat.

Sous Linux ou macOS, utilisez dig :

dig +nocl TXT o-o.myaddr.l.google.com

Sous Windows, utilisez nslookup :

nslookup -type=txt o-o.myaddr.l.google.com

Passez en revue le premier enregistrement TXT renvoyé dans la section Réponse de la sortie. La première valeur d'enregistrement TXT est l'adresse IP du résolveur DNS. S'il n'y a pas de deuxième enregistrement TXT, le résolveur DNS ne prend pas en charge le sous-réseau edns0-client-subnet. S'il existe un deuxième enregistrement TXT, le résolveur DNS prend en charge edns0-client-subnet. Le résolveur fournit une adresse IP de sous-réseau client tronquée (/24 ou /32) au serveur de noms officiel Route 53. Pour plus d'informations, consultez Comment puis-je déterminer si mon résolveur DNS public prend en charge l'extension EDNS Client Subnet (ECS) ?

  1. Utilisez le jeu d'enregistrements de test Route 53 issu de l'outil de vérification pour déterminer les enregistrements de ressources renvoyés pour une demande spécifique. Pour plus d'informations, consultez la section Utilisation de l'outil de vérification pour voir comment Amazon Route 53 répond aux requêtes DNS.

Si le résolveur DNS ne prend pas en charge le sous-réseau edns0-client-subnet, spécifiez l'adresse IP du résolveur DNS comme valeur dans l'outil.

Si le résolveur DNS prend en charge edns0-client-subnet, spécifiez l'adresse IP du sous-réseau client EDNS0 comme valeur dans l'outil. Choisissez Plus d'options, puis spécifiez le masque de Sous-réseau. Ne spécifiez pas d'adresse IP de** résolveur**.

  1. (Facultatif) Si vous n'avez pas accès à l'outil de vérification, utilisez dig pour interroger les serveurs de noms officiels Route 53 pour votre zone hébergée avec EDNS0-Client-Subnet. Utilisez la sortie pour déterminer la réponse officielle à l'enregistrement de géolocalisation pour votre adresse IP source :
dig geo.example.com +subnet=<Client IP>/24 @ns-xx.awsdns-xxx.com +short
  1. Les serveurs de noms Route 53 prennent en charge l'extension edns0-client-subnet d'EDNS0. Le résolveur ou le serveur DNS local ajoute edns0-client-subnet à la requête DNS pour effectuer une recherche DNS en fonction du sous-réseau IP source du client. Si ces données ne sont pas transmises avec la demande, Route 53 utilise l'adresse IP source du résolveur DNS pour déterminer la position approximative du client. Route 53 répond ensuite aux requêtes de géolocalisation avec l'enregistrement DNS de l'emplacement du résolveur. Les données EDNS0 doivent être transmises à Route 53 et le client doit utiliser un serveur de noms récursif géographiquement plus proche. Si ce n'est pas le cas, le résultat est un emplacement sous-optimal fournissant l'enregistrement de ressource incorrect à la requête DNS.

Pour corriger cette configuration, modifiez le serveur DNS récursif qui prend en charge edns0-client-subnet. Effectuez la résolution DNS, puis partagez la sortie. Si le serveur DNS récursif ne prend pas en charge le sous-réseau client edns0, essayez d'en utiliser un qui le permet. Les options qui prennent en charge edns0-client-subnet incluent les résolveurs Google DNS et OpenDNS.

  1. Vérifiez l'emplacement géographique de l'adresse IP du sous-réseau client à l'aide de la base de données GeoIP de MaxMind sur le site Web de MaxMind ou de votre base de données GeoIP préférée. Vérifiez que le résolveur DNS est géographiquement proche de l'adresse IP publique du client. Si la réponse ou le pays sur le site Web de MaxMind ne correspond pas à la réponse donnée par Route 53, les données géographiques de production de Route 53 sont peut-être obsolètes. Si le routage est obsolète, contactez AWS Support.

  2. Vérifiez les problèmes de propagation DNS à l'aide d'un outil tel que CacheCheck sur le site OpenDNS.

  3. (Facultatif) Déterminez si les enregistrements de routage basés sur la géographie sont associés à un contrôle de surveillance de l’état de Route 53. Déterminez également si l'option Évaluer l'état de santé de la cible (ETH) est activée pour les enregistrements d'alias. Si l'un ou l'autre est vrai, Route 53 renvoie le point de terminaison sain qui correspond le mieux à l'emplacement source.

Vérifiez l'état de votre contrôle de surveillance de l’état de Route 53 dans la console Route 53. Si l'ETH est activé, vérifiez l'état du point de terminaison d'enregistrement. Route 53 considère que le point de terminaison d'un Classic Load Balancer sur lequel l'ETH est activé est sain si au moins une instance de backend est saine. Pour les Application Load Balancers et les Network Load Balancers, chaque groupe cible comportant des cibles doit contenir au moins une cible saine pour être considéré comme sain. Un groupe cible sans cible enregistrée est considéré comme malsain. Si un groupe cible ne contient que des cibles non saines, l'équilibreur de charge est considéré comme non sain.

**Exemple :**Vous avez des enregistrements pour le Texas aux États-Unis, pour les États-Unis, l'Amérique du Nord et pour tous les lieux (l'emplacement est défini par défaut). Et vous avez des requêtes qui proviennent du Texas avec un point de terminaison non sain. Route 53 vérifie les États-Unis, l'Amérique du Nord, puis tous les sites, dans cet ordre, jusqu'à ce qu'un enregistrement avec un point de terminaison sain soit trouvé. Si l'enregistrement américain est sain, Route 53 renvoie ce point de terminaison. Sinon, Route 53 renvoie un enregistrement par défaut. Si tous les enregistrements applicables sont non sains, Route 53 répond à la requête DNS en utilisant la valeur de l'enregistrement pour la plus petite région géographique.

**Remarque :**La propagation des modifications apportées aux enregistrements de ressources de géolocalisation sous alias peut prendre jusqu'à 60 secondes.

Informations connexes

Comment puis-je résoudre les problèmes liés aux contrôles de surveillance de l’état de Route 53 ?

Pourquoi mon enregistrement d'alias pointant vers un Application Load Balancer est-il marqué comme non sain lorsque j'utilise « Évaluer l'état de la cible » ?

Vérification des réponses DNS depuis Amazon Route 53

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an