Wie richte ich ein GeoIP CName ein?

791
zyklus

Ich suche nach einer Möglichkeit, mein DNS so einzurichten, dass der globale Verkehr auf verschiedene Server trifft. Momentan haben wir Server in einem Rechenzentrum und Benutzer aus abgelegenen Gebieten beschweren sich über langsame Geschwindigkeiten. Wir möchten also Server näher an diesen Benutzern einrichten und haben subdomain.domain.comdiese Server erreicht (sehr ähnlich einem CDN, aber mit dynamischem Inhalt)

Kennt jemand einen DNS-Host, der dies tut? Oder genau so, wie es heißt, damit ich Informationen darüber finden kann?

Zu klären:

subdomain.domain.com should automatically go to one of these:  Server A (Texas) - hosts north/south america Server B (Amsterdam) - hosts europe/africa Server C (Singapore) - hosts asia/australia 
1

1 Antwort auf die Frage

2
milli

Es heißt Global Server Load Balancing. Akamai, Sandpiper, Amazon Web Services usw. können das tun. Wenn Sie es selbst machen möchten, benötigen Sie so etwas wie ein F5 Big-IP (für viel Geld $$$). Denken Sie daran, dass DNS der falsche Ort ist, um dies richtig zu tun. Aus diesem Grund wird es oft als Lastausgleich für Arme bezeichnet.

Warum ist DNS der falsche Weg, dies zu tun? Sicher, Sie können leicht Weiterleitungen zu "north-america.domain.com", "asia.domain.com" usw. erstellen, aber dies würde einen ersten Roundtrip-Treffer dahin bringen, wo sich der Root-Server befindet. Außerdem machen Sites wie Google dies mit DNS. Wenn ich nach "google.com" aus Asien nachschaue, bekomme ich einen Satz IPS, der alle mit "61.91.9" beginnt. Wenn ich von New York nachschaue, bekomme ich ein weiteres Set, alles beginnend mit `74.125.226`. Durch das Aufbringen der Geo-IP-Last auf den NS wird die Anzahl der Suchvorgänge erheblich verringert und die Anfangslastgeschwindigkeit erheblich erhöht. zyklus vor 10 Jahren 0
Da die Clients Ihre DNS-Server nicht direkt abfragen, fragen sie ihren DNS-Server ab, der für sie nicht immer lokal ist. Die meisten Organisationen verwenden auch Weiterleitungen, so dass Sie zwei Schritte von der tatsächlichen Client-IP entfernt sind. Meistens ist dies "nahe genug", aber der beste Ort, um die Entscheidung zu treffen, ist die Routing-Schicht. Das Problem besteht darin, die Informationen zu erhalten, die Sie dafür benötigen. Deshalb verwenden alle immer noch einen DNS-basierten Ansatz, um GLB zu betreiben. Es ist "gut genug" ... Versuche, Telemetrie zu DNS hinzuzufügen, um bessere Routenentscheidungen zu treffen, haben noch nie einen Konsens erzielt, um zum Standard zu werden. milli vor 10 Jahren 0
Okay, es ist zwar nicht perfekt, aber angenommen, ich habe nur 4 oder 5 Standorte auf der ganzen Welt verteilt, ist es nicht so gut wie eine "perfekte" Lösung? Ich sehe es nur auseinander, wenn ich Server in 20 Städten auf einem Kontinent habe, aber selbst dann ist es "anständig", da es immer einen Server in der Nähe des Clients zurückgibt, wenn nicht das absolut nächste. zyklus vor 10 Jahren 0
Ja, es ist gut genug. Zum Spaß fordere ich Sie auf, den DNS von Google (8.8.8.8, den viele verwenden) nach einem von Ihnen kontrollierten Domainnamen zu fragen, die von Google erhaltenen Pakete zu erfassen, um Ihren Namen aufzulösen, und zu prüfen, ob eine Verbindung zu Ihrer Öffentlichkeit besteht IP-Adresse, mit der Sie die Abfrage initiiert haben. Versuchen Sie es zweimal. Das sollte klar machen, wovon ich rede. ;-) milli vor 10 Jahren 0
8.8.8.8 ist eine Anycast-IP-Adresse, eine andere Idee, obwohl ich ein sehr ähnliches Ergebnis vermute. Soweit mir bekannt ist, schlägt Anycast für das fehl, was ich versuche, da nachfolgende Anfragen nicht notwendigerweise denselben Server treffen. Ich brauche Benutzersitzungen, um auf demselben Rechner zu bleiben zyklus vor 10 Jahren 0
Ja, aber Anycast ist _good_ für Ihren Zweck, richtig? Ihre Benutzer werden an eine lokale Instanz weitergeleitet, sodass Sie sie an die nähere Serverfarm senden, oder? milli vor 10 Jahren 0
Ja, aber wenn ich mich nicht irre, muss Anycast auf Router-Ebene implementiert werden und der Hosting-Provider muss dies unterstützen. Dies bedeutet, dass wir den Anbieter zu einem wahrscheinlich viel teureren wechseln müssen (wenn überhaupt einer existiert - mir sind keine VPS-Hosts bekannt, die ihn unterstützen). Die DNS-Lösung kann implementiert werden, indem ein DNS-Host hinzugefügt und NS-Einträge geändert werden. zyklus vor 10 Jahren 0
Danke für die Info, zumindest weiß ich, wonach ich suchen soll :) [nsone] (https://nsone.net/) scheint ein guter Ort für uns zu sein, um gslb anzuschauen, da sie mit 5M eine kostenlose Stufe haben Anfragen / Monat. zyklus vor 10 Jahren 0
Sie schlagen nicht vor, dass Sie Anycast hier machen, sondern nur das, was Sie vorgeschlagen haben. Und denken Sie darüber nach, wie das mit anderen Auflösungsstoffen in der realen Welt (wie Google) funktioniert. milli vor 10 Jahren 0