Je suppose que cette question pourrait être intitulée, comment fonctionne CDN au niveau DNS, mais le vrai problème que j'ai est que mon entreprise a des centres de données sur trois continents et nous devons avoir europe.example.com us.example.com et asia.example .com
Les CDN vous envoient généralement vers le centre de données local, j'imagine en fonction de votre adresse IP. Cela doit être une chose DNS où le serveur DNS aux États-Unis vous envoie dans un centre de données américain pour la même recherche DNS example.com?
Ai-je tort? Si je me trompe, comment pourrais-je le faire efficacement et si possible sans serveurs centraux (non DNS)?
domain-name-system
cdn
Stewart Robinson
la source
la source
Réponses:
Le problème avec les CDN est qu'ils ne vous dirigent pas en fonction de votre propre adresse IP - ils vous dirigent en fonction de l'adresse IP de votre serveur DNS ... Cela pourrait être complètement faux. Et lisez l'article ACM de Paul Vixie , c'est un coup sur l'argent.
Quoi qu'il en soit, si vous avez déjà
region.example.com
configuré et exécuté, vous pouvez envisager de faire une redirection HTTP depuisexample.com
le serveur Web concerné, en fonction de l'adresse IP du client.C'est à peu près ce que fait Google, c'est comme ça que je finis par
google.co.uk
tapergoogle.com
.Assurez-vous également que vous fournissez aux clients un moyen d'accéder aux autres variantes. Les clients ne l'aiment pas lorsqu'ils sont forcés de se rendre sur un site particulier, que ce soit par des erreurs dans les bases de données géographiques ou simplement parce qu'ils ont réellement besoin de voir le site d'une autre région.
la source
Les nouveaux CDN (Cloudflare, MaxCDN, fast.ly) utilisent anycast pour les serveurs de contenu DNS et réels. C'est un peu mieux que d'essayer d'utiliser l'IP source d'une requête DNS et une base de données de mappage en constante évolution.
En théorie, l'utilisation de anycast pour les serveurs DNS et de contenu permet au réseau lui-même de trouver les serveurs "les plus proches" du client. Dans la pratique, cela est principalement vrai, mais certains cas étranges surviennent lorsque des personnes à Singapour frappent des serveurs de pointe en Californie au lieu de Hong Kong en raison des relations d'appairage en constante évolution entre les FAI.
Anycast est difficile à bien faire .
Les CDN plus anciens comme Akamai et Limelight utilisent généralement anycast pour vous amener au serveur DNS le plus proche, mais adoptent ensuite l'approche IP basée sur une estimation. Cela ne fonctionne pas aussi bien dans mon expérience, surtout si un client utilise des serveurs DNS qui ne sont pas réellement à proximité en termes de topologie réseau. Cependant, un énorme CDN établi comme Akamai a des centaines d'emplacements de serveur de contenu, donc le retour d'une réponse "assez proche" se traduit par une expérience utilisateur décente. De toute évidence, avoir des centaines de sites coûte très cher, c'est pourquoi aucun des CDN tout-anycast n'a choisi cette voie. Par conséquent, ils ne facturent pas autant pour un service essentiellement équivalent.
la source
Il existe un certain nombre de façons de gérer cela, mais elles se résument toutes à déterminer où se trouve une adresse IP et à la pointer en conséquence. Par exemple, vous pouvez spécifier une plage d'adresses IP pour l'Amérique du Nord et une pour l'Europe. Si l'IP demandant les informations (à partir de DNS, de votre serveur Web, de votre serveur de contenu, etc.) se situe dans la plage européenne, alors vos serveurs européens devraient recevoir les demandes.
la source
Vous pouvez configurer une page principale par défaut sur example.com. La première fois que quelqu'un visite, il sélectionne la région vers laquelle il souhaite être dirigé. C'est de la même manière que www.ups.com fonctionne.
L'utilisateur peut sélectionner une case à cocher pour en faire son choix par défaut à partir de ce moment, stockant ainsi la sélection dans un cookie.
Cela vous donne l'avantage d'utiliser le DNS de la manière pour laquelle il a été conçu selon Paul Vixie, tout en permettant à votre utilisateur de décider le plus précisément vers quel centre de données il doit être dirigé.
la source
Si vous avez un site Web hébergé dans plusieurs régions, vous n'avez rien à faire au niveau DNS. Vous pouvez utiliser une API telle que http://ipinfo.io pour obtenir le pays du visiteur, puis les rediriger vers l'URL appropriée.
Si nous ne parlons pas d'un site Web ou d'un protocole qui gère les redirections, il existe quelques options au niveau DNS. Vous pouvez effectuer la même recherche de pays IP, puis renvoyer un enregistrement qui correspond à la région (DNS basé sur la géolocalisation), ou vous pouvez avoir une carte de la latence entre différents réseaux et renvoyer un enregistrement qui représente la latence la plus faible pour l'utilisateur (latence basé sur DNS). Le service DNS Route53 d'Amazon offre les deux.
la source