web-dev-qa-db-ja.com

AnycastとGeoDNS / GeoIP wrt HAの違いは何ですか?

ウィキペディアの Anycast の説明に基づいて、多数のDNSサーバーにドメイン名から多数のIPマッピングを配布することと、地理的に最も近いクライアントに応答すること(または最速)サーバー。

Google.com(または多くのグローバルエッジロケーションを持つ任意のCDNサービス)などのグローバルに分散された高可用性サイトのコンテキストでは、2つの主要な機能が必要と思われます。

AmazonのRoute53、EasyDNS、DNSMadeEasyなどのDNSサービスはすべて、エニーキャスト対応ネットワークとしてアドバタイズします。

したがって、私の仮定は、これらの各DNSサービスが、マルチIPからドメインへのマッピングと最も近いノードへのルーティングクライアントの2つのキラー機能を透過的に提供することです。

ただし、これらの各サービスは、2つ目の機能(クライアントを最も近いノードにルーティングする)を「GeoDNS」、 GeoIP」または「Global Traffic Director」を使用し、サービスに追加料金を請求します。

エニーキャスト対応システムのコアテナントが既にこれを行う場合、なぜこの機能がこの追加機能として割り当てられているのですか?この「GeoDNS」機能は、標準のエニーキャストDNSサービスでは機能しない(ウィキペディアのエニーキャストの定義によれば、アドバタイズされているものを理解していますが、なぜそれがすでに暗示されていないのかだけではありません)。

この曖昧な「GeoDNS」機能をサポートしないRoute53のようなDNSサービスが次のような機能をリストするとき、私はさらに混乱します:

高速– Route 53は、世界中のDNSサーバーのグローバルエニーキャストネットワークを使用して、ネットワークの状態に応じてユーザーを最適な場所に自動的にルーティングするように設計されています。その結果、このサービスは、エンドユーザーに低いクエリ待機時間を提供し、DNSレコード管理のニーズに対応する低い更新待機時間を提供します。

...これは、GeoDNSの目的とまったく同じように聞こえますが、地理的にクライアントを指示することは、クライアントが 明示的にまだサポートしていない です。

最終的に、DNSプロバイダーから次の2つの機能を探しています。

  1. 複数のIPアドレスを単一のドメイン名にマッピングする(google.com、Amazon.comなどのように)
  2. 要求先に最も近いサーバーのIPアドレスを使用して、そのドメインのクライアント要求に応答するDNSサービスを利用します。

既に述べたように、これはすべて「エニーキャスト」DNSサービス(これらのサービスはすべて)の一部であるように見えますが、これらのサービスから見た機能とマーケティングはそうでないことを示唆しているため、方法についてもう少し学ぶ必要があると思いますDNSは、展開を選択する前に機能します。

明確化のために事前に感謝します。

18
Riyad Kalla

GeoDNSの主な利点は、リクエスターのIPアドレスに基づいて、同じ名前を異なるIPアドレスに解決することです。

エニーキャストDNSサーバーは、誰が要求しているかに関係なく同じIPアドレスを返します。

2つは異なるネットワーク層で動作します。エニーキャストは、リクエスターのIPアドレスの場所がわからないため、GeoDNSの下にあります。ネットワークダイアグラム内の場所だけです。 DNSサーバーの近くにある可能性のあるものは、要求されているリソースの近くにない可能性があります、そしてエニーキャストされたDNSサーバーにはこれを伝える方法がありません。

GeoDNSは、リソースの場所のマップを使用してロジックを実行し、これらのリソースのどれが特定の要求IPアドレスに最も近いかを判断してから、そのIPアドレスを返します。

DNSサーバーをネットワークリソースと同じ場所に配置しない限り、DNSサーバーに近いものは常にリソースに近くなるとは限らないため、データ局所性メソッドとしてAnycastを使用することは、GeoDNSをまっすぐにするよりも効果的ではありません。

17
sysadmin1138

BGPエニーキャストアスペクトを使用すると、クライアントは特定のDNSサーバーにリクエストを送信し、BGPルーティングテーブルを使用してそのリクエストをDNSサーバーの近くのインスタンスに送信できます。うまくいけば、迅速な応答が得られます。

ただし、地理的に分散され、エニーキャストされた通常の旧式のDNSサーバーには、要求元のクライアントの場所に応じて異なる方法でクエリに応答する機能はありません-これはそれらの「Geo-DNS」サービスが追加コストを提供している追加機能により、クライアントをそれらに近いサービスのインスタンスに送信できます。

この機能が存在する理由は、BGPエニーキャストがDNSのようなステートレスなものに対しては正常に機能するためです。この場合、BGPエニーキャストは高速でダーティであり、接続やセッションの永続性を必要としませんが、Webサーバーのようなものでは、世界中のインスタンスを固定する必要があります。そして、特定のクライアントが特定のインスタンスに固執することを確認します-接続の途中でグローバルBGPテーブルのルーティングを変更すると、TCP接続が切断され、Webアプリケーションセッションが切断され、一般に混乱が生じます。エニーキャストは一般にこのため、Webサーバーには使用されません。

X郡のユーザーに、DNSを介してX国のインスタンスのIPを提供するのが最適です。これは、Geo-DNSサービスで代金を支払う必要があるものです。

6
Shane Madden

従来、DNSサーバーは複数あります。クライアントはランダムに1つを選択し、WebサーバーのIPアドレスを要求します。これは、DNSサーバーがクライアントの近くにある場合は適切ですが、DNSサーバーがクライアントから離れている場合はよくありません。どちらの方法でも、クライアントは回答と同じIPアドレスを取得します。

エニーキャストを使用すると、複数のサーバーが同じIPアドレスに応答できます。エニーキャストDNSでは、クライアントがネームサーバーと通信しようとすると、最も近い/最速のネームサーバーが応答します。つまり、クライアントは常にDNSクエリに対して高速な応答を受け取ります。ただし、彼は引き続きDNSクエリへのsame回答、つまりサーバーのIPを常に取得します。サーバーがクライアントから遠く離れている場合、クライアントエクスペリエンスは最適ではない可能性があります。

GeoDNSを使用すると、DNSサーバーは、クライアントの場所に応じて、異なるIPアドレスで応答できます。 (明らかに、これには地理的に分散した複数のサーバーが必要です。)GeoDNSはエニーキャストを意味しませんが、通常は両方を展開するので、クライアントは地理的に近くのDNSサーバーからDNSクエリに応答し、応答します。地理的に近くにあるWebサーバーのIPアドレス。

4
Cody Hatch