web-dev-qa-db-ja.com

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

CDNがDNSレベルでどのように機能するのか、この質問は具体化できると思いますが、私が実際に抱えている問題は、会社に3つの大陸にデータセンターがあり、europe.example.com us.example.comとasia.exampleが必要なことです。 .com

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

私が間違っている?これについて間違っている場合、どうすれば効果的にこれを実行できますか?可能であれば、中央(非DNS)サーバーなしで?

15

CDNの問題は、あなた自身のIPアドレスに基づいてあなたを誘導しないことです-彼らはあなたのDNSサーバーのIPアドレスに基づいてあなたを誘導します...それは完全に間違っているかもしれません。そして Paul VixieのACMの記事 を読んでください。

とにかく、すでに_region.example.com_を設定して実行している場合は、できますに基づいて、_example.com_から関連するWebサーバーへのHTTPリダイレクトを行うことを検討してくださいクライアントのIPアドレス。

これがGoogleが行うことのほとんどです。つまり、_google.co.uk_に_google.com_と入力したところです。

また、クライアントが他のバリエーションにアクセスするための手段を提供するようにしてください。クライアントは、Geoデータベースの間違いによるものか、単に別の地域のサイトを実際に表示する必要があるためかを問わず、特定のサイトに強制されたときにそれを好まない。

12
Alnitak

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

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

エニーキャストは うまくやるのが難しい です。

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

5
rmalayter

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

1
Ben Doom

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

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

0
Ben Dowling

Example.comでデフォルトのメインページを設定できます。誰かが初めて訪れるとき、彼らは彼らが向かわれたい地域を選択します。これは、www.ups.comが機能するのと同じ方法です。

ユーザーはチェックボックスを選択して、その時点からこれを彼/彼女のデフォルトの選択にして、選択をCookieに保存できます。

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

0
Richard West