DNSを使用して訪問者を最も近いサーバーに送信するにはどうすればよいですか?


20

DNSエントリをローカライズする方法はありますか?つまり、アジアのユーザーはmydomain.comをアメリカやヨーロッパのユーザーとは別のIPに解決します。これは、ユーザーに近くのサーバーを提供するのに役立ちます。DNSはこれまでに使用されている唯一の手法です。つまり、これを解決するためにdnsを置き換えるソフトウェアルーティングや中央システムを配置することはできません。

回答:


20

はい、現在、この問題に対する2つの一般的なソリューションがあります。

最初のものはと呼ばれAnycast、同じIPブロックが文字通り世界中の複数の場所で使用されています。つまり、ドメインのネームサーバーは常に同じIPアドレスを返しますが、そのIPアドレスは実際には複数の物理サーバーのセットに割り当てられます。

詳細については、http://en.wikipedia.org/wiki/Anycastをご覧ください。

2番目の手法にもAnyCastが関係しますが、今回は、エニーキャストされるIPアドレス範囲はネームサーバー自体を参照します。ネームサーバーは(BGPの魔法によって決定される)最も近いクライアントからのみ要求を行うため、クライアントに対して論理的にローカルなIPアドレスを返すことができます。

この例は、googleのl.google.comドメインです

オーストラリアのホストから

crimson:~ dave$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com is an alias for www-notmumbai.l.google.com.
www-notmumbai.l.google.com has address 66.249.89.99
www-notmumbai.l.google.com has address 66.249.89.147
www-notmumbai.l.google.com has address 66.249.89.103
www-notmumbai.l.google.com has address 66.249.89.104

米国のホストから

[dave@odessa ~]$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.95.99
www.l.google.com has address 74.125.95.147
www.l.google.com has address 74.125.95.104
www.l.google.com has address 74.125.95.106
www.l.google.com has address 74.125.95.105
www.l.google.com has address 74.125.95.103

したがって、のCNAMEはにwww.google.com解決されwww.l.google.comますが、それを解決すると、場所に応じて、クライアントは異なるIPアドレスのセットを受け取ります。これは、要求を受信したネームサーバーが、クライアントに相対的なローカルネームサーバーでwww.l.google.comあったためです。


5
この回答は技術的には質問に対応していますが、実際の問題に対する本当の回答であるという点ではかなり役に立たないと思います:ほとんどの関係者はエニーキャストを持っていないので、あなたの答えはすべての関係者に届きません。
cnst

どのソリューションがこのソリューションを提供していますか?
動的

DNSにはこの機能がネイティブに備わっていることにも注意してください。その地域のWebサーバーを指すレコードを持つDNSサーバーを地域に配置します。他の地域で繰り返します。利益。
dmourati

@dmourati:これは他のDNSサーバーを伝播および更新しませんか?DNSサーバーは、すべてのサーバーが同期するまで常に情報を伝達すると想定していました。
グルプラサード

@GuruPrasad複数のホスト(通常は地理的に異なる地域)に同じユニキャストIPアドレスが与えられ、アドレスへの異なるルートがBGPを通じてアナウンスされます。ルーターは、これらを同じ宛先への代替ルートと見なしますが、実際には同じアドレスを持つ異なる宛先へのルートです。通常、ルーターは、使用されている距離メトリック(最低コスト、混雑、最短)に応じてルートを選択します。この設定でルートを選択すると、目的地が選択されます。==ウィキペディア/エニーキャスト----それはこの説明よりも、IPv6ではうまく機能
Garet Claborn

2

アジア、北米、およびヨーロッパのサーバーのみをローカライズする場合は、webappとDNSの両方を自分で実行することを決定できます。

DNSを使用すると、スプリットホライズンDNSアプローチのようなものを使用できます。これは、DNSサーバーの統合機能(GeoDNSと呼ばれることもあります)、または異なるIPアドレス範囲を異なる実行にリダイレクトするファイアウォールを介して実現できますDNSサーバーのインスタンス(ローカルマシン上でサーバーの複数の異なるコピーを実行でき、異なるローカルIPアドレスでリッスンします)。

RIPEおよびAfriNIC IPアドレスからのDNSリクエストにA、ヨーロッパのホストの記録、APNICからのリクエスト—アジアのホスト、およびIPアドレスからのリクエストで返信することにより、おそらく約90%のケースで期待される結果を得ることができます。ARIN、LACNIC、および北米のサーバーのレコードを含む/ 8アドレス空間の残りによって管理される/ 8ブロック。これは特定の状況でいくつかの間違った結果になります(ヨーロッパと北米の間でいくつかの/ 8ブロックが共有され、一部のアドレス空間はエニーキャストなどです)が、最悪の事態は影響を受ける当事者への余分なレイテンシです。大したことではありません。A

(そして、はい、これらのことを簡単にする方法があるはずですが、これまでのところ、何もないようです。)


2

同じ問題がありました。当社にはロシアと中国に顧客がおり、彼らはすべて当社のサービスに非常に高速に接続する必要があります。Amazon Route 53 Geo dnsを使用し、2つのレコードを作成しました。1つは中国から東京地域クラスターに顧客を、ロシアからロンドンに顧客をルーティングします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.