\r\n\r\n
DNSラウンドロビンロードバランシングとDNSロードバランシングの比較
ロードバランシングとラウンドロビンDNSは、負荷分散、高可用性、高速配信のための地理的分散のために、異なるホストまたはネットワークに負荷を分散するために使用されます。主にこのような理由から、Webベースのインターネット・アプリケーションで使用されている。近年、CDN(contentdeliverynetwork)と呼ばれる新しいアプローチが導入されているが、これは主に静的コンテンツの配信を目的としたもので、ホストの同期をより頻繁に行わないと即時更新はできない。
負荷分散(ロードバランサー)
ロードバランサーは、ネットワークアーキテクチャのユーザー側に配置されるソフトウェアアプリケーションまたはハードウェアデバイスで、明らかにファイアウォールの背後にあります。基本的に、ロードバランサーには、ユーザーがサービスのポート番号とやり取りするためのIPアドレスが割り当てられます。例えば、Webロードバランサーを導入する場合、プロバイダーからIPアドレスを取得し、自分だけがそのアドレスを使ってDNSレコードをマッピングすることになります。Webサーバーに使用するには、ロードバランサーに80番ポートを作成する必要があります。ロードバランサーの後、同じ内容、同じ構成のサービス用のサーバーファームを持つことができます。ロードバランサーIPに到達したhttpリクエストのうち、ロードバランサーの背後にあるホストに分配される割合を、定義したとおりに設定します。ひとつは、すべてのホストサーバーを同じコンテンツと構成で同期させ、ユーザーだけが同じコンテンツを入手できるようにすることです。
このアーキテクチャにより、ホストの冗長化により高可用性を高めることができます。ロードバランサーには、ローカルまたはデータセンターのロードバランサーと、グローバルなロードバランサーの2種類があります。グローバルロードバランサーとローカルロードバランサー、データセンターロードバランサーの違いをお読みください。
リカーリングDNS
DNSは、複数のデータベースに分散されたドメインネームシステムで、ホストに読み取り可能で利用可能な識別子を提供します。ホストはIPで識別され、DNSサーバーでそのIPに名前が割り当てられ、そのホストに到達したIPアドレスを記憶しないようにするためです。例えば、あなたがdifferencebetween.comのウェブサイトを要求したとき、あなたのローカルDNSサーバーは、通信のためのホストの詳細を提供します。通常、差between.comウェブホストです。再帰型DNSでは、1つのドメイン名に対して複数のIPアドレスを設定することができ、これらのIPアドレスは、要求したユーザーに対してラウンドロビン方式で送信されます。ここでは、ホストやサーバーは世界のどこにあってもよく、グローバルなロードバランサーに相当する。
DNSは、アプリケーションに応じて定義できるクエリに応答する。一般的には、ラウンドロビン方式で行われます。つまり、最初のクエリにIP1が与えられたら、2番目のクエリにはIP2が与えられ、その繰り返しとなります。ただし、お客様のニーズやアプリケーションの機能に応じて定義することができます。DNSが応答時間やその他のメカニズムによって地理的な位置を認識できるほど賢ければ、その地域にいるクライアントに最も近いIPを提供することができます。
ロードバランサーとサイクリックDNSの違いは何ですか?(1) ロードバランサーではIPアドレスとポート番号の隠蔽を実現できるが、DNS方式ではできない。(2) サービスプロバイダによっては、クライアントの要求に対して新しいIPの取得を停止し、同じIPに誘導するDNSキャッシュを使用しているため、DNS方式がうまくいかないことがあるが、ロードバランサーでは問題ないだろう。(3) DOS、DDOS攻撃はホストサーバに直接影響を与えず、ロードバランサのIPに影響を与えるが、DNS方式ではホストサーバに直接攻撃を与える。(4) ロードバランサー方式では、複数のHTTPリクエストに対して単一のTCPコネクションを使用するため、ネットワークの輻輳やTCPセッションのサーバー側ヘッドトラッキングが軽減されるが、DNS方式では適用されない。(5) HTTPSでは、SSLの暗号化・復号化でCPUリソースを多く消費するが、ロードバランサはホストサーバに割り当てられたタスクを実行させることでこの負荷を軽減できるが、DNS方式ではこれも不可能であること。(6) ロードバランサーの中には、キャッシュ機能を持ち、ホストサーバーに影響を与えることなく、クライアントに対してキャッシュされたコンテンツを提供できるものがある。ロードバランサーでは、ホストサーバーの健康状態をポーリングし、サーバーが死んだらサービスポールを外して負荷を分散させるが、これもDNS方式では利用不可である。(8) ロードバランサーは単一障害点であるのに対し、DNS方式では一般的にDNSレコードはワード間で階層的に更新され、ローカルDNSにキャッシュされるため、IPの解決が速くなる。 |