ラウンドロビンDNS

ラウンドロビンDNSは、適切な統計モデルに従ってクライアントコンピュータからのアドレス要求に対するドメインネームシステム(DNS)の応答を管理することにより、 WebサーバFTPサーバなどの複数の冗長インターネットプロトコルサービスホストをプロビジョニングする負荷分散、負荷分散、またはフォールトトレランスの技術である。[ 1 ]

ラウンドロビン DNS の最も単純な実装では、DNS 要求に対して単一のIP アドレス候補だけでなく、同一のサービスをホストする複数のサーバーに対応する IP アドレス候補のリストで応答します。[ 2 ] [ 3 ]このリストの IP アドレスが返される順序がラウンドロビンという用語の由来です。DNS 応答ごとに、リスト内の IP アドレスの順序が入れ替わります[ 4 ]従来、IP クライアントは最初に DNS クエリから返された最初のアドレスで接続を試行します。[ 5 ]これにより、異なる接続試行ごとにクライアントは異なるプロバイダーからサービスを受け取り、サーバー全体の負荷が分散されます。

一部のリゾルバは、数値的に「近い」ネットワークを優先するためにリストの順序を変更しようとします。この動作は、IPv6の定義時にRFC 3484標準化されました。IPv4に適用された際、 Windows Vistaのバグにより問題が発生し、ラウンドロビン方式の負荷分散が機能しなくなりました。[ 6 ] [ 7 ] [ 8 ] 一部のデスクトップクライアントは、最大30秒の接続タイムアウト後に代替アドレスを試みます。[ 2 ]

ラウンドロビンDNSは、複数のWebサーバー間でリクエストの負荷分散を行うためによく使用されます。例えば、ある企業が1つのドメイン名と、同じWebサイトの3つの同一コピーを、3つのIPアドレスを持つ3台のサーバー上に所有しているとします。DNSサーバーは、ドメイン名が各IPアドレスごとに1つずつ、複数のAレコードを持つように設定されます。あるユーザーがホームページにアクセスすると、最初のIPアドレスに送信されます。2番目にホームページにアクセスするユーザーは次のIPアドレスに、3番目にアクセスできるユーザーは3番目のIPアドレスに送信されます。いずれの場合も、IPアドレスが割り当てられると、そのIPアドレスはリストの末尾に移動されます。したがって、4番目にアクセスできるユーザーは最初のIPアドレスに、というように続きます。

ラウンドロビン DNS 名は、代替 A レコード間のローテーションのため、まれに「ローター」と呼ばれることがあります。

欠点

ラウンドロビンDNSは実装が簡単ですが、DNS階層自体のレコードキャッシュやクライアント側でのアドレスキャッシュと再利用など、いくつかの欠点があります。これらの組み合わせは管理が困難になる場合があります。サービスの可用性をラウンドロビンDNSのみに頼るべきではありません。リスト内のアドレスのいずれかのサービスに障害が発生した場合、DNSはそのアドレスを引き続き割り当てるため、クライアントは引き続きそのサービスにアクセスしようとします。

ラウンドロビンDNSは、ネームサーバーへの問い合わせごとにアドレスレコードの順序を変更するだけなので、それ自体では負荷分散には最適な選択肢ではないかもしれません。トランザクション時間、サーバー負荷、ネットワーク輻輳を考慮しないため、同等の容量を持つサーバーへの接続が均一に分散された多数のサービスに最適です。それ以外の場合は、単に負荷分散を行うだけです。[ 9 ]

このような制限を克服する方法は存在します。例えば、改造されたDNSサーバー(lbnamed [ 10 ]など)は、ミラーリングされたサーバーを定期的にポーリングして、可用性と負荷率を確認することができます。サーバーが要求通りに応答しない場合、そのサーバーはDNSプールから一時的に削除され、仕様範囲内で再び動作していることが報告されるまで、そのサーバーをDNSプールから削除することができます。

参考文献

  1. ^ 「ラウンドロビンDNS」 . Cloudflare . Cloudflare, Inc. 2019年8月16日閲覧
  2. ^ a b Feenberg, Daniel (2016年7月25日). 「DNSラウンドロビンによるWebサーバーフェイルオーバー」 . 2020年1月10日閲覧
  3. ^ 「複数値回答ルーティングポリシーとシンプルルーティングポリシーの違いは何ですか?」 Amazon Web Services, Inc. 2018年8月3日. 2020年1月10日閲覧
  4. ^ Liska, A.; Stowe, G. (2016). 「DNSを理解する」. DNSセキュリティ. p. 19.
  5. ^ Pan, Jianping; Hou, Y. Thomas; Li, Bo (2003). 「コンテンツ配信ネットワークにおけるDNSベースのサーバー選択の概要」. Computer Networks . 43 (6): 695– 711. doi : 10.1016/S1389-1286(03)00293-7 .アクセスが閉じられたアイコン
  6. ^ 「ラウンドロビンDNSとハッピーアイボールを使用したgetaddrinfo」 2012年1月3日。
  7. ^ Draves, R.; Matsumoto, A.; Chown, T.; Chown, T. (2012). Thaler, D. (編). 「RFC 6724 - インターネットプロトコルバージョン6 (IPv6) のデフォルトアドレス選択」 . doi : 10.17487/RFC6724 .{{cite journal}}:ジャーナルを引用するには|journal=ヘルプ)が必要です
  8. ^ 「IPv4 のルール 9 により、深刻な運用上の問題が発生しました ([Debian Linux] ftp サイトが機能しなくなりました!)。 」
  9. ^ Brisco, Thomas P. (1995年4月). 「RFC 1794 - 負荷分散のためのDNSサポート」 . doi : 10.17487/RFC1794 . 2019年8月24日閲覧{{cite journal}}:ジャーナルを引用するには|journal=ヘルプ)が必要です
  10. ^ lbnamed、Perlプログラミング言語で実装された負荷分散DNSサーバー
「 https://en.wikipedia.org/w/index.php?title=ラウンドロビンDNS&oldid =1334865412」より取得