小規模サイトに地理冗長DNSが必要なのはなぜですか?


31

これは、DNSの地理的冗長性に関する標準的な質問です。

復元力のあるWebサービスを提供する場合、物理的に離れた場所にある地理的に冗長なDNSサーバーが非常に望ましいことは非常に一般的な知識です。これは文書BCP 16で詳細に説明されていますが、最も頻繁に言及される理由のいくつかは次のとおりです。

  • データセンターの災害に対する保護。地震が起こります。火災はラックで発生し、近くのサーバーやネットワーク機器を持ち出します。複数のDNSサーバーは、データセンターの物理的な問題が両方のDNSサーバーを一度にノックアウトした場合、同じ行にない場合でも、あまり役に立ちません。

  • アップストリームピアの問題に対する保護。複数のDNSサーバーは、共有されたアップストリームネットワークピアがダート仮眠をとる場合に問題を防止しません。アップストリームの問題が完全にオフラインになるか、単にすべてのDNSサーバーをユーザーベースの一部から分離するかどうかにかかわらず、最終結果は、サービス自体が完全に異なるデータセンターにある場合でも、ユーザーがドメインにアクセスできないことです。

すべてうまくいきますが、すべてのサービスを同じIPアドレスで実行している場合、冗長DNSサーバーは本当に必要ですか?とにかく私のドメインが提供するものに誰もアクセスできない場合、2番目のDNSサーバーがどのようにメリットをもたらすかはわかりません。

これはベストプラクティスと見なされることを理解していますが、これは本当に意味がないようです!


回答:


33

注:紛争中のコンテンツ。両方の回答についてコメントを参照してください。エラーが見つかったため、このQ&Aはオーバーホールが必要です。

この標準的なQ&Aの状態が適切に対処されるまで、当面はこの回答から同意を削除します。(この回答を削除すると、添付されたコメントも削除されますが、これはIMOに行く方法ではありません。おそらく、広範囲に編集した後、コミュニティWikiの回答に変更するでしょう。)


ここでRFCを引用して技術用語を使用することもできますが、これは知識の範囲の両端にいる多くの人々に見逃される概念であり、これを幅広い聴衆に答えようとします。

これはベストプラクティスと見なされることを理解していますが、これは本当に意味がないようです!

それは無意味に見えるかもしれません...しかし、実際にはそうではありません!

再帰サーバーは、リモートサーバーがクエリに応答しない場合、特に再試行しても応答が表示されない場合に非常に優れています。多くの場合、これらの通信障害のネガティブキャッシュを実装し、5分以内の期間、応答しないネームサーバーをペナルティボックスに一時的に入れます。最終的に、この「ペナルティ」期間が終了し、通信を再開します。不正なクエリが再度失敗すると、ボックスに戻ります。それ以外の場合は、通常どおりビジネスに戻ります。

ここで、単一のネームサーバーの問題が発生します。

  • ペナルティ期間は、実装の性質上、常にネットワーク問題の継続時間以上になります。ほとんどすべての場合、最大5分まで増加します。
  • 単一のDNSサーバーがペナルティボックスに入ると、障害に関連するクエリは、完全に停止します。
  • インターネットでは、ほとんどの人が気づくよりも短いルーティング中断が発生します。TCP / IPの再送信と同様のアプリケーションの安全対策は、これをユーザーから隠すのに適していますが、やむを得ないことです。インターネットは、ネットワークスタックをサポートするさまざまな標準に組み込まれているセーフガードにより、ほとんどの部分でこの損害を回避する優れた仕事をしています...しかし、これにはDNSに組み込まれたものも含まれ、地理冗長DNSサーバーを持つことその一部。

要するに、単一のDNSサーバー(NSレコード間で同じIPアドレスを複数回使用することを含む)を使用する場合、これは起こります。また、あなたが理解するよりもはるかに多く発生しますが、問題は散発的であるため、障害の確率は1)あなたに報告され、2)再現され、3)この特定の問題に非常に近いゼロ。彼らはかなりいたあなたは、このQ&Aに入ってきた場合には、このプロセスが働いていたか知らないが、ありがたいことに、今の場合であってはならないというゼロ!

これは気にする必要がありますか?私が言うべき場所ではありません。この5分間の中断の問題をまったく気にしない人もいますが、私はあなたにそのことを納得させるつもりはありません。私あなたを納得させるためここにいるのは、単一のDNSサーバーを実行するだけで、すべてのシナリオで実際に何かを犠牲にしているということです。


1
一部のシステムは、失敗しないDNSルックアップに絶望的に依存しています。これは、多くのトラブルを引き起こす冗長性が欠如している一般的な障害点です。
-artifex

18
キャッシュされているメールは、インフラストラクチャの残りの部分と同時にDNSをダウンさせて自分自身を撃つ方法の典型的な例です。冗長DNSを使用すると、サイトがダウンすると、メールは送信者のサーバーのキューに入れられ、回復後に配信されます。単一のDNSでは、ダウン中に送信された受信メールは、多くの場合、存在しないドメインまたは同様のエラーで送信者のサーバーによって完全に拒否されます。現在、送信者ドメインが解決されていないため、周辺(まだ)システムから送信された送信メール失敗する可能性があります。
MadHatterはモニカをサポートします

5
また、ドメイン名は通常、ウェブだけでなく、メールでもあります。ドメインにメールサービスプロバイダーを使用している場合、ウェブサーバーがダウンしていてもダウンしていない可能性があります。また、冗長DNSがあれば、メールを取得できます。
ジェニーDは、モニカを復活させる

5mは単一サーバーの再試行期間に過ぎませんか?これはチェーン内の多くのサーバーで増加することはなく、クライアントも悪いクエリをキャッシュしますか?
ニルス

@Nils少し言い直せますか?再帰クラスタ内の多数のサーバーを意味するのか、多数の権限のあるサーバーを意味するのかを判断するのに苦労しています。5mのネガティブキャッシュ間隔はサーバーごとであるため、再帰クラスター全体で単一のレコードネガティブキャッシュを取得するには、多くの要求を取得する必要があり、障害がさらに散発的になります。
アンドリューB

-1

OPの質問:

すべてうまくいきますが、すべてのサービスを同じIPアドレスで実行している場合、冗長DNSサーバーは本当に必要ですか?とにかく私のドメインが提供するものに誰もアクセスできない場合、2番目のDNSサーバーがどのようにメリットをもたらすかはわかりません。

いい質問です!

最良の答えはで提供される教授のダニエル・バーンスタイン博士バークレー世界的に有名な研究者、科学者とcryptologistだけではありませんが、またとして知られている非常に人気と好評DNSスイート書かれた、のdjbdnsを最後のリリース2001- 02-11、現在でも人気があります)。

http://cr.yp.to/djbdns/third-party.html(2003-01-11

サードパーティのDNSサービスのコストと利点

この短く簡潔な部分に注意してください。

サードパーティのDNSサービスに関する誤った議論

2番目の戦術は、広く普及しているDNSクライアントがすべてのDNSサーバーに到達できない場合、特に悪を行うと主張することです。この議論の問題は、主張が偽であることです。このようなクライアントは明らかにバグが多く、市場で生き残ることができません。クライアントのルーターが短時間ダウンした場合や、クライアントのネットワークが一時的にフラッディングした場合にどうなるかを検討してください。

そのため、この質問に対する元の答えはこれ以上間違っていません。

はい、数秒続く短時間の一時的なネットワークの停止は時々起こります。いいえ、そのような停止中に名前を解決できなかった場合、何分もキャッシュされません(そうでない場合、世界で高可用性の信頼できるネームサーバーの最適なセットアップがあっても役に立ちません)。

1998-03 RFCからキャッシュ障害までの最大5分の保守的なガイドラインを自由に実装するソフトウェアは、設計上単純に壊れており、余分な地理的冗長サーバーを使用しても問題はありません。

実際、DNSタイムアウトがキャッシュされる期間は?、BINDでは、SERVFAIL条件は伝統的に2014年以前はまったくキャッシュされていませんでしたが、2015年以降、デフォルトではリゾルバのタイムアウトに達してそのRefreshボタンを押すのにかかる平均時間よりも短い1秒間のみキャッシュされます。

(また、解決の試みをキャッシュするかどうかという上記のポイントに到達する前に、最初のSERVFAILが最初に発生する場合でも、ドロップされたパケットが数回以上かかります。)

さらに、BIND開発者は、わずか30秒の機能の上限を実装しました。これは、上限(たとえば、機能が受け入れる最大値)としても、5分(300秒)の提案よりも10倍低くなっています。 RFCから、(目玉ユーザーの)最も善意の管理者でさえ、自分のユーザーを足で撃てないことを保証します。


また、多くのがありますが、さまざまな理由ではないサードパーティ製のDNSサービスを実行したい - 全体を読んでdjbdns/third-party.html、すべての詳細については、ちょうど自分で管理するためのDNSのために小さな余分なサーバーを借りるの必要はありませんほとんど保証されませんがそのような努力のために、BCP 16以外が存在します。

少なくとも2002年以来のドメイン名の所有と設定に関する個人的な「逸話的」な経験から、プロとして運営されているために実際に合計でさまざまなドメインのダウンタイムが大幅にかかったことを確実かつ誠実に伝えることができます。私のレジストラとホスティングプロバイダーのサードパーティサーバーは、一度に1つのプロバイダーであり、長年にわたってすべてインシデントが発生していましたが、利用できず、自分のIPアドレス(特定のドメインのHTTPおよびSMTPのホスト元)は、他の方法では完全に到達可能でした。これらの停止は、独立した、尊敬され、専門的に運営されている複数のプロバイダーで発生したものであり、決して個別のインシデントではなく、毎年発生し、サードパーティのサービスとして、完全にあなたのコントロールの外にあります。長期にわたってそれについて話す人はほとんどいないのです。


要するに:

ジオ冗長DNSは、小規模なサイトにはまったく必要ありません。

すべてのサービスを同じIPアドレスから実行ている場合、2番目のDNSを追加すると追加の障害点が発生する可能性が高く、ドメインの継続的な可用性に悪影響を及ぼします。想像できるあらゆる状況 で常にそれをしなければならない「知恵」は、非常に人気のある神話です。破産。

もちろん、ウェブのサービス(HTTP / HTTPS)、メール(SMTP / IMAP)、音声/テキスト(SIP / XMPP)のいずれかがサードパーティによって既に提供されている場合、アドバイスはまったく異なります。その場合、単一障害点としてあなた自身のIPを削除することは確かに非常に賢明なアプローチであり、地理的冗長性は実際に非常に有用です。

同様に、何百万人もの訪問者がいる特に人気のあるサイトがあり、BCP 16に従って地理的に冗長なDNSの追加の柔軟性と保護を意図的に必要とする場合は、おそらくWeb /メール/すでに音声/テキストなので、この質問と回答は明らかに当てはまりません。がんばろう!


確立された専門家を招いて両方の答えを検討することは嬉しいことですが、この言葉遣いから演劇のちょっとした雰囲気以上のものを得ています。そのため、あなたや私の意見よりもはるかに信頼できる意見を持つ当事者によって意見が表明された場合は受け入れますが、このコメントスレッドにさらに参加することを拒否します。
アンドリューB

あなたのコメントが何を言っているのか分かりません。あなたは、DJBから直接引用された、私の答えに示されているように、単に無効な引数であなた自身の質問に答えました。あなたの答えは間違っています。このように、あなたは神話を支持することにより、コミュニティに悪影響を与えています。回答を取り消して、私の意見を受け入れたい場合は、建設的な批判/編集を喜んで受け入れます。
cnst

2
優れたソフトウェアは、SERVFAIL応答(権限のあるサーバーに到達できない場合に再帰サーバーによって生成される)を認識し、SMTPメールをキューに入れることによって適切に処理します。残念ながら、すべてのソフトウェアが優れているわけではありません。プロトコルを実装する独断的なアプローチが、重大な相互運用性の問題を引き起こすことが知られている特定の教授がいます
...-Alnitak

2
業界の現状と現状は、2001年はもちろん、2003年よりもはるかに関連性があります。潜在的に時の試練を乗り切りました。Alnitakは、BINDがこのケースをどのように処理したかについての私の記憶は誤りであり、RFC 2308の言葉遣いでその記憶を強化したことは確かに誤りであると指摘しました。私が時間を見つけて、撤回は今週に続きます。
アンドリューB

2
サイドノート:私は事実上の誤りを認めるためにあなたと関わりを持たないことを容赦しましたが、私たちは境界線上の交戦の領域に戻っているようです。誤報を広めたことをおizeび申し上げますが、エラーを認めましたが、これ以上あなたと関わりたいとは思いません。(ここにその歴史があるように見えるので、私も)
アンドリューB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.