web-dev-qa-db-ja.com

DNSサーバーの負荷分散:UDP / TCP

データセンターで負荷分散インフラストラクチャを再構築するように依頼されました。

元の要求は、FTPサーバーの負荷分散でした。現在のロードバランサー(Piranha / LVS)を使用してそれを試してみましたが、起動して実行できませんでした。このソフトウェアのドキュメントがほとんどないからというだけではありません。 Piranhaは非推奨と見なされているため、数日後にHAProxyに進みましたPiranhaに費やした時間のほんの一部でジョブを実行しました。

そのため、FTP負荷分散(パッシブモード)を用意しています。ここで、データセンターのピラニアロードバランサー全体を交換するように依頼されました。現在のピラニア構成では、IIS servers .... aaaand[〜#〜] dns [〜#〜]

いいえ、ここにはありません。
HAProxyは一般的に使用されるLBのようですが、それはUDP load balancingを処理することができませんHAProxyの動作が好きなので、これは残念です。だから私はたくさんググって、いくつかのものに出くわしました。ほとんどの人はDNS(TCP/UDP)のLBとしてLVSを使用しているようです。一部の使用dlbDNS、一部の使用lbnamed、一部の使用netfilter / iptables

FTP、HTTP、HAProxyにこだわりたいので、IISサーバー)、それを使用することで混乱しましたLVSの側。

要件:
フェイルオーバーのある2つのLBインスタンス
フェイルオーバーを備えた2つのDNSサーバー(すでに存在)
複数のバックエンドサーバー(http、アプリケーションなど...)

質問:
これは可能ですか? DNSサーバーでのUDP負荷分散は必要ですか?それを始める方法を教えてくれるリソースはありますか?または、TCP/HTTPだけでなくUDP負荷分散も処理できるLBソリューションはありますか?

PS:LBソリューションはハードウェアではなく、オープンソース/ GPLライセンス/コストなしである必要があります。

それぞれのリソースへの助けやリードは大歓迎です!

10
Mosh Pit

DNSの負荷を分散しないでください。

これは信じられないほど軽量なプロトコルです。複数のボックスが必要になるには膨大な量のトラフィックが必要です(この場合、ロードバランサーでボトルネックになるだけです)。複数のNSレコード(ダウンした場合、他のサーバーが使用されます)。

15
Shane Madden

このQ&Aでは、どの種類のDNSサーバーについて話しているのか実際に確立されていないため、不快です。再帰的なDNSの復元力に関しては、いくつかの重大な誤解があります。検索エンジンを介して巡航する人々は、誤った安心感をもってこの議論から離れないことが重要です。

  • 権威DNS:権威DNSサーバーの場合、DNSの回復力に関する一般的な知識はかなり注目されています。地理的に冗長な信頼できるDNSサーバーが複数ある限り、問題ありません。個々のIPに高可用性を追加する主な理由は、many権限のあるゾーンをホストしている場合です。これにより、ホストされているすべてのドメインのレジストラ設定を変更する必要なく、サーバーの数を増やすことができます。

  • 再帰DNS:常に何らかの形の高可用性ソリューションを使用します。 (BGP、アプライアンスなど)これは、深刻な問題に遭遇する可能性がある場所です。すべてのリゾルバーライブラリは等しく作成されていません。WindowsDNSクライアントはクエリ間で使用される初期サーバーをラウンドロビンしますが、Unixベースのシステムの大部分は常にリストを順番に循環します。何がless既知であるかは、これらのUnixライブラリが次のサーバーに移動する前にすべての検索ドメインでの組み合わせでタイムアウトする必要があることです。複数の検索ドメインが構成されていて、リゾルバーのルックアップ順序の最初のサーバーが停止している場合、これにより、すべての単一の要求のDNS解決に大幅な遅延が発生する可能性があります。

再帰DNSに関しては、サーバーインフラストラクチャは、最も頭の痛いクライアント構成と同じように回復力があることに注意してください。あなたの会社が成長するにつれて、これはあなたがneverが制御できるものです。成長する企業ではほとんど同じ状態が維持されることはないため、同種のサーバーOS環境に基づいて設計を想定しないでください。あなたがそれを前もって計画しないなら、これは間違いなく誰かを噛みます。

11
Andrew B

最近はPowerDNSでdnsdistを使用できます

READMEから

dnsdistは、非常にDNS、DoS、および悪用を認識するロードバランサーです。その人生の目標は、トラフィックを最良のサーバーにルーティングし、不正なトラフィックを回避またはブロックしながら、正当なユーザーに最高のパフォーマンスを提供することです。

dnsdistは動的であり、その構成は実行時に変更でき、その統計はコンソールのようなインターフェイスから照会できます。

https://github.com/PowerDNS/pdns/tree/master/pdns/dnsdistdist

一般的なOSのリポジトリを提供します。 https://repo.powerdns.com/

2
Boden Garman