CDNのように地域DNSを行う方法は?


15

私はこの質問はCDNの仕事は、DNSレベルでどのように行う、entitiledすることができると思いますが、私は持っている本当の問題は、私の会社は3つの大陸でのデータセンターを持っていることであり、我々はeurope.example.com us.example.comとasia.exampleを持っている必要があります.com

通常、CDNは、IPアドレスに応じてローカルデータセンターにあなたを送ります。これは、同じexample.com DNSルックアップのために米国のDNSサーバーから米国のデータセンターに送信されるDNSのものでなければなりませんか?

私が間違っている?これについて間違っている場合、どのようにこれを効果的に行い、可能であれば中央の(DNS以外の)サーバーなしで行うのでしょうか?


5
次のことはできません:queue.acm.org/detail.cfm?id
Etienne Dechamps 2009年

回答:


12

CDNの問題は、独自のIPアドレスに基づいてユーザーを誘導しないことです。DNSサーバーのIPアドレスに基づいてユーザーを誘導します。これは完全に間違っている可能性があります。そして、Paul VixieのACM記事を読んでください。

とにかく、既にregion.example.comセットアップして実行している場合は、クライアントのIPアドレスに基づいて、関連するWebサーバーへのHTTPリダイレクトを検討することができexample.comます。

それはほとんどGoogleが行うことであり、それが私google.co.ukがに入力することになった方法google.comです。

ただし、クライアントが他のバリエーションに到達するための手段を提供することも確認してください。クライアントは、Geoデータベースでの間違いや、単に別の地域のサイトを実際に見る必要があるために、特定のサイトに強制された場合、それを好みません。


5

新しいCDN(Cloudflare、MaxCDN、fast.ly)は、DNSと実際のコンテンツサーバーの両方にエニーキャストを使用します。これは、DNSクエリのソースIPと常に変化するマッピングデータベースを使用しようとするよりもいくぶん優れています。

理論的には、DNSサーバーとコンテンツサーバーの両方にエニーキャストを使用すると、ネットワーク自体がクライアントに「最も近い」サーバーを見つけることができます。実際には、これはほとんどが真実であるが、シンガポールの人々が原因のISP間で刻々と変化するピアリング関係にカリフォルニアの代わりに、香港のエッジサーバーをヒットする場所をいくつかの奇妙なケースが発生します。

エニーキャストは、うまく行うことは困難

AkamaiやLimelightのような古いCDNは、一般にエニーキャストを使用して最も近いDNSサーバーにアクセスしますが、ソースIPに基づいた推測ベースのアプローチを採用しています。私の経験では、これはうまくいきません。特に、クライアントがネットワークトポロジの点で実際には近くにないDNSサーバーを使用している場合はそうです。ただし、アカマイのような巨大な確立されたCDNには何百ものコンテンツサーバーの場所があるため、「十分に近い」回答を返すと、ユーザーエクスペリエンスはまともになります。明らかに、数百のサイトを持つことは非常に高価であり、そのため、すべてのエニーキャストCDNのいずれもそのルートを選択しませんでした。その結果、ほぼ同等のサービスに対しても課金されません。


1

これを処理する方法はいくつかありますが、それらはすべて、IPアドレスがどこにあるのかを把握し、それに応じてそれを指すことに要約されます。たとえば、北米用と欧州用にIPの範囲を指定できます。(DNS、Webサーバー、コンテンツサーバーなどから)情報を要求するIPがヨーロッパの範囲内にある場合、ヨーロッパのサーバーが要求を取得する必要があります。


ベン、どういう意味?DNSサーバーが米国にあり、たとえば英国に1つあるということですか。DNSについて考えるとき、Aレコードを設定するだけで完了です。これらのDNSサーバーを地域ごとに指定するにはどうすればよいですか?
スチュワートロビンソン

彼が言及しているのは、バインドされたビューのようなものだと思います。クライアントのIPアドレスに基づいて一致するさまざまなビューをDNS内に設定できます。これは、大まかに地理的地域に属していると識別できます。リクエストをAPIにパイプして場所を取得できる多くのサービスが利用可能です。簡単に見てみると、hostip.info / dl / index.htmlを試して低コスト/無料のオプションを試すことができます。
Greeblesnort

ちょうど私の夜のブラウジングにこの全体を実行するために起こった:blogs.techrepublic.com.com/networking/...
Greeblesnort

@Stewart-いいえ、リージョンごとに1つのDNSサーバーを実行することはありません。できますが、DNSシステム自体がロケーションブラインなので、それは冗長性のためです。@greeblesnortの答えは、彼の名前とほぼ同じです。:-)
ベン・ドゥーム

0

example.comでデフォルトのメインページをセットアップできます。誰かが初めて訪れたとき、どの地域に行きたいかを選択します。これはwww.ups.comが機能するのと同じ方法です。

ユーザーはチェックボックスをオンにして、その時点からこのデフォルトの選択を行うことができ、選択をCookieに保存できます。

これにより、Paul Vixieに基づいて設計された方法でDNSを使用する利点が得られます。また、ユーザーはどのデータセンターに向けるべきかについて最も正確な判断を下すことができます。


0

あなたは、複数の地域でホストされているウェブサイトを持っている場合は、DNSレベルで何もする必要はありません。http://ipinfo.ioなどのAPIを使用して訪問者の国を取得し、適切なURLにリダイレクトできます。

Webサイト、またはリダイレクトを処理するプロトコルについて話していない場合は、DNSレベルでいくつかのオプションがあります。同じIP国のルックアップを行ってから、地域に一致するレコードを返す(地理ベースのDNS)か、異なるネットワーク間のレイテンシのマップを作成して、ユーザーの最低レイテンシを表すレコードを返す(レイテンシベースのDNS)。AmazonのRoute53 DNSサービスは、両方を提供します。

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