Come fare il DNS regionale come un CDN?

Penso che questa domanda possa essere legittima, come funziona il CDN a livello DNS, ma il vero problema che ho è che la mia azienda dispone di datacenter in tre continenti e dobbiamo avere europe.example.com us.example.com e asia.example .com

CDN ti trasmette tipicamente al datacenter locale che immagino a seconda dell'indirizzo IP. Questa deve essere una cosa DNS where si dispone del server DNS negli Stati Uniti che ti invia a un datacenter USA per la stessa ricerca DNS example.com?

Ho sbagliato? Se sbaglio a questo proposito, come farlo in modo efficace e, se ansible, senza server centrali (non DNS)?

5 Solutions collect form web for “Come fare il DNS regionale come un CDN?”

Il problema con i CDN è che non ti dirigono in base al proprio indirizzo IP – ti dirigono in base all'indirizzo IP del tuo server DNS … Questo potrebbe essere completamente sbagliato. E leggere l'articolo ACM di Paul Vixie , è il bang sul denaro.

In each caso, se hai già impostato e in esecuzione region.example.com , puoi considerare di fare un reindirizzamento HTTP da example.com al server web relativo, in base all'indirizzo IP del client.

Quello è praticamente quello che fa Google, ecco come google.co.uk su google.co.uk dopo aver digitato google.com .

Assicurarsi anche che si fornisca un mezzo per i clienti per arrivare alle altre varianti. I clienti non lo apprezzano quando sono costretti a un sito particolare, sia per errori nei database geo o semplicemente perché hanno effettivamente bisogno di vedere il sito da un'altra regione.

CDN più recenti (Cloudflare, MaxCDN, fast.ly) utilizzano qualsiasicast sia per i server DNS sia per i server di contenuto effettivi. Questo è un po 'meglio di cercare di utilizzare l'IP di origine di una query DNS e di un database di mapping sempre in evoluzione.

In teoria, utilizzando anycast sia per i server DNS che per i server di contenuti, consente alla networking di trovare i server "più vicini" al client. In pratica, questo è per lo più vero, ma alcuni casi strano sorgono where le persone di Singapore colpiranno server di bordo in California invece di Hong Kong a causa delle mutevoli relazioni di peering tra ISP.

Anycast è difficile fare bene. Vedere https://www.maxcdn.com/blog/anycast-ip-routing-used-maxcdn/ per ulteriori informazioni.

I CDN più vecchi come Akamai e Limelight utilizzano generalmente il broadcast per arrivare al server DNS più vicino, ma prendono poi l'approccio basata su ipotesi basata sul guess-based-on-source. Questo non funziona anche nella mia esperienza, specialmente se un client utilizza i server DNS che non sono in realtà nelle vicinanze in termini di topologia di networking. Tuttavia, un enorme CDN stabilito come Akamai dispone di centinaia di posizioni dei server di contenuto, pertanto la restituzione di una risposta "abbastanza vicina" risulta in un'esperienza utente decente. Ovviamente, avere centinaia di siti è molto costoso, per questo motivo nessuno dei CDN di tutti i casi ha scelto tale itinerario. Di conseguenza, inoltre, non si addebono tanto per un servizio quasi equivalente.

Ci sono diversi modi per gestire questo problema, ma tutti si affaccia per capire where è un indirizzo IP e indicarlo in modo appropriato. Ad esempio, è ansible specificare una gamma di IP per Nord America e uno per l'Europa. Se l'IP che richiede le informazioni (da DNS, il tuo server web, il tuo server di contenuti, ecc.) Rientra nella gamma europea, allora i server europei dovrebbero ricevere le richieste.

È ansible impostare una pagina principale predefinita all'indirizzo example.com. La prima volta che qualcuno visita, seleziona la regione in cui vogliono essere indirizzati. Questo è lo stesso modo in cui funziona http://www.ups.com.

L'utente può select una casella di controllo per rendere la sua scelta predefinita da quel punto, memorizzando così la selezione in un cookie.

Questo ti dà il vantaggio di utilizzare il DNS nel modo in cui è stato progettato secondo Paul Vixie, permettendo al tuo utente di effettuare la più accurata deciza su quale centro dati dovrebbero essere indirizzati.

Se hai un sito web ospitato in più regioni, allora non devi fare nulla al livello DNS. È ansible utilizzare un'API come http://ipinfo.io per get il Paese del visitatore e poi reindirizzarli all'URL appropriato.

Se non parliamo di un sito web o di qualsiasi protocollo che gestisce i reindirizzamenti, ci sono alcune opzioni al livello DNS. È ansible eseguire la stessa ricerca Paese IP e quindi restituire un record che corrisponda alla regione (geolocation based DNS) oppure è ansible avere una mappa della latenza tra le reti differenti e restituire un record che rappresenta la latenza più bassa per l'utente (latenza basato DNS). Il servizio DNS di Route53 di Amazon offre entrambi.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.