ロード バランシングは、ネットワークまたはアプリケーション トラフィックをサーバー ファームまたはサーバー プール内の複数のサーバーに分散するプロセスです。ロード バランサーの背後にある基本的な考え方は、クライアントの要求またはトラフィックを他の潜在的にアイドル状態のノードにルーティングすることで、計算ノードの過負荷を回避することです。クライアント デバイスとバックエンド サーバーの間に配置されるロード バランサと呼ばれるネットワーク デバイスまたはソフトウェア。これらは、着信トラフィックを受信し、要求を満たすことができるサーバーにルーティングする役割を果たします。
ロード バランシングは、企業が増大する需要に対応し、アプリケーションがユーザーのために稼働していることを確認するための効果的な方法になりました。今日のビジネスでは、Web サイトやアプリケーションに対して毎分数百、数千のクライアント リクエストが送られています。ピーク シーズンまたは時間帯には、このトラフィックがさらに急増する可能性があります。サーバーは、写真、ビデオ、およびその他のアプリケーション データを含む高品質のメディアに遅れずについていき、対応しなければならないというプレッシャーにさらされています。これらのアプリケーションの中断やダウンタイムは、標準以下のエクスペリエンスをもたらし、ユーザーを遠ざけ、利益の損失につながる可能性があります.
ロードバランサーとは?
ロード バランサーは、ネットワーク内のデバイスまたはプロセスであり、着信要求を分析して関連するサーバーに転送します。ロード バランサーは、ネットワーク内の物理デバイス、特殊なハードウェア (仮想ロード バランサー) で実行される仮想化されたインスタンス、またはソフトウェア プロセスである場合もあります。また、アプリケーション デリバリー コントローラー (ADC) (アプリケーション全般のパフォーマンスとセキュリティを向上させるように設計されたネットワーク デバイス) に組み込むこともできます。
ユーザーが一貫したエクスペリエンスを得られるようにするために、ロード バランサーは Open Systems Interconnection (OSI) モデルに従います。 OSI は、基盤となる内部構造や技術に依存しないシステムの通信機能に関する一連の標準です。このモデルによると、最適で一貫したユーザー エクスペリエンスを実現するには、2 つのレイヤーで負荷分散を行う必要があります。
レイヤー 4 (L4) ロード バランサー
これらのロード バランサーは、使用する TCP または UDP ポートと、送信元と送信先の IP アドレスに基づいて、トラフィック パケットのルーティング方法を決定します。 L4 ロード バランサーは、パケットの実際の内容を検査しませんが、ネットワーク アドレス変換と呼ばれるプロセスで IP アドレスを適切なサーバーにマッピングします。
レイヤー 7 (L7) ロード バランサー
L7 ロード バランサーはアプリケーション レイヤーで動作し、HTTP ヘッダー、SSL セッション ID、およびその他のデータを検査して、着信要求をどのサーバーにどのようにルーティングするかを決定できます。サーバーへのクライアント要求を理解して処理する際に追加のコンテキストが必要になるため、L7 ロード バランサーは L4 ロード バランサーよりも CPU を集中的に使用しますが、結果としてより効率的になります。
と呼ばれる別のタイプの負荷分散があります。 グローバル サーバー ロード バランシング.これにより、L4 および L7 ロード バランサーの機能が複数のデータ センターに拡張され、エンド ユーザーへのサービスに悪影響を与えることなく大量のトラフィックが分散されます。これらは、地理的に分散したクラウド データ センターからのアプリケーション リクエストを処理する場合にも特に役立ちます。
負荷分散の簡単な歴史
ロード バランシングは、1990 年代にネットワーク全体にトラフィックを分散するハードウェア アプライアンスとして注目されるようになりました。インターネット技術と接続性が急速に向上するにつれて、Web アプリケーションはより複雑になり、その要求は個々のサーバーの能力を超えました。類似したリソースに対する複数のリクエストを受け取り、それらをサーバー間で効果的に分散するためのより良い方法を見つける必要がありました。これがロードバランサーの起源です。
負荷分散により、Web アプリケーションは個々のサーバーに依存することを回避できるため、単一のサーバーがサポートできる範囲を超えてこれらのアプリケーションを簡単にスケーリングすることもできました。すぐに、継続的なヘルス チェック、アプリケーションのコンテンツに基づくインテリジェントな配布、およびその他の特殊な機能を提供する機能など、他の機能が進化しました。
2000 年代初頭の ADC の台頭は、アプリケーションの負荷分散の歴史における重要なマイルストーンでした。 ADC は、アプリケーションのパフォーマンスを向上させる目的で開発されたネットワーク デバイスであり、アプリケーションの負荷分散はそれを達成する方法の 1 つになりました。しかし、圧縮、キャッシング、認証、Web アプリケーション ファイアウォール、その他のセキュリティ サービスなど、より多くのアプリケーション サービスをカバーするようにすぐに進化します。
負荷分散とクラウド コンピューティング
クラウド コンピューティングがアプリケーション配信を徐々に支配し始めると、ADC も同様に進化しました。ハードウェア アプライアンスとして始まった ADC は、レガシー ハードウェアや純粋なソフトウェア ロード バランサーから抽出されたソフトウェアを備えた仮想マシンの形にもなりました。ソフトウェア ADC は、対応するハードウェアと同様のタスクを実行しますが、より多くの機能と柔軟性も提供します。これにより、組織はクラウド環境でアプリケーション サービスを迅速にスケールアップして、セキュリティを維持しながら需要の急増に対応できます。
負荷分散はどのように機能しますか?
ロード バランサは、ネットワーク内のハードウェア デバイスの形をとる場合もあれば、純粋にソフトウェア定義のプロセスである場合もあります。いずれの形式であっても、ネットワーク トラフィックをさまざまな条件に基づいてさまざまな Web サーバーに分配し、いずれかのサーバーが過負荷になるのを防ぎます。
混雑を避けるために、大量の交通量を混雑していない車線にリダイレクトする交通警察のようなロード バランサーを考えてみてください。ロード バランサーは、アプリケーション サーバーと、PC、ラップトップ、タブレットなどのエンドポイント デバイス間のシームレスな情報の流れを効果的に管理します。問題のサーバーは、オンプレミス、データセンター、またはクラウドにある可能性があります。ロードバランサーがないと、個々のサーバーが過負荷になり、アプリケーションが応答しなくなり、応答の遅延、使用体験の低下、収益の損失につながる可能性があります。
ロード バランサーが機能する正確なメカニズムは、それがハードウェア アプライアンスかソフトウェアかによって異なります。
ハードウェアとソフトウェアの負荷分散
ハードウェア ベースのロード バランサーは、オンプレミスのハードウェアと物理デバイスを使用してネットワーク負荷を分散することで機能します。これらは、大量のネットワーク トラフィックと高性能アプリケーションを処理できます。ハードウェア ロード バランサーには、仮想化が組み込まれている場合もあり、同じデバイスに多くのインスタンスが統合されます。
専用のプロセッサを使用してソフトウェアを実行するため、スループットが高速になりますが、ネットワークまたはアプリケーション サーバーへの物理的なアクセスが必要になるため、セキュリティが強化されます。欠点として、ハードウェア ロード バランサーは、ハードウェアの構成、プログラミング、および保守のために物理マシンと有料のコンサルタントを購入する必要があるため、コストがかかる可能性があります。
ソフトウェア負荷分散はどのように機能しますか?
一方、ソフトウェア ベースのロード バランサーは、高価なハードウェアを置き換えながら、ハードウェア ロード バランサーと同じ利点を提供できます。あらゆる標準デバイスで実行できるため、スペースとハードウェアのコストを節約できます。ソフトウェア ロード バランサーは、変化する要件に合わせて調整する柔軟性を提供し、ソフトウェア インスタンスを追加することで容量を拡張するのに役立ちます。また、クラウド上の管理されたオフサイト ソリューションや、社内ホスティングを使用したハイブリッド モデルでの負荷分散にも簡単に使用できます。
DNS ロード バランシングは、ロード バランシングに対するソフトウェア定義のアプローチです。ここでは、ドメイン ネーム システム (DNS) 内のドメインへのクライアント リクエストがさまざまなサーバーに分散されます。 DNS システムは、新しいクライアント要求に応答するたびに、異なるバージョンの IP アドレス リストを送信します。これにより、DNS 要求がさまざまなサーバーに均等に分散され、全体的な負荷が処理されます。応答しないサーバーが自動的に削除されるため、DNS 負荷分散により、稼働中のサーバーへの自動フェイルオーバーまたはバックアップが可能になります。
さまざまな種類の負荷分散アルゴリズム
ネットワーク ロード バランサーが負荷を管理および分散するために使用する方法または手法がいくつかあります。各クライアント要求を受信するアプリケーション サーバーを決定するために使用するアルゴリズムが異なります。最も一般的な 5 つの負荷分散方法は次のとおりです。
ラウンドロビン
この方法では、着信要求が周期的に各サーバーに転送されます。最後のサーバーに到達すると、最初のサーバーから始まるサイクルが繰り返されます。これは実装が最も簡単な方法の 1 つですが、すべてのサーバーの容量が同じであることを前提としているため、最も効率的ではない可能性があります。この方法には、加重ラウンド ロビンと動的ラウンド ロビンの 2 つのバリエーションがあり、この仮定に合わせて調整できます。
IP ハッシュ
これは負荷分散の比較的簡単な方法であり、クライアントの IP アドレスによって要求を受信するサーバーが決定されます。アルゴリズムを使用して、一意のハッシュ キー、または送信元と宛先の IP アドレスの暗号化されたバージョンを生成します。このキーは、クライアントの要求を特定のサーバーに割り当てるために使用されます。
最小接続数
最小接続方法では、アクティブな接続が最も少ないサーバーにトラフィックが迂回されます。トラフィックが集中する期間があるシナリオに最適なこの方法は、使用可能なすべてのサーバー間でトラフィックを均等に分散するのに役立ちます。
最短応答時間
最小応答時間方式では、トラフィックは 2 つの条件 (アクティブな接続が最も少ないサーバー) を満たすサーバーに送信されます。 と 最低の平均応答時間。
最小帯域幅
この方法では、ロード バランサーは過去 14 秒間のサーバーの帯域幅消費を Mbps で調べます。クライアント要求の送信先として、帯域幅の消費が最も少ないものが選択されます。
負荷分散の利点
結局のところ、ロード バランシングとは、エンド ユーザーに信頼性の高い一貫したエクスペリエンスを提供するために、企業がネットワーク トラフィックとアプリケーションの負荷を効果的に管理できるようにすることです。これを行う際に、ロード バランサーには次の利点があります。
トラフィックの急増に対応するスケーラビリティ
負荷分散は、企業がトラフィックの変動や急増を把握し、変化するニーズに合わせてサーバーを増減するのに役立ちます。これにより、企業は顧客の需要の急激な増加を利用して収益を増やすことができます。たとえば、e コマース Web サイトでは、ホリデー シーズンやプロモーション中にネットワーク トラフィックが急増することが予想されます。サーバー容量をスケーリングして負荷のバランスを取る能力は、新規または保持された顧客による売上の増加と、不満のある顧客による大幅な顧客離れの違いになる可能性があります.
ダウンタイムを最小限に抑える冗長性
前例のないトラフィックの急増時に Web サイト サーバーに障害が発生することは珍しくありません。ただし、複数の Web サーバーで Web サイトを維持できる場合は、単一のサーバーのダウンタイムが引き起こす可能性のある損害を制限できます。ロード バランシングは、機能しているサーバーに障害が発生した場合にネットワーク負荷を自動的に転送し、自動化のレイヤーを追加してワークロードを最新化するのに役立ちます。一方のサーバーをアクティブ モードにしてトラフィックを受信し、もう一方のサーバーをパッシブ モードのままにして、アクティブ サーバーに障害が発生した場合にオンラインにできるようにすることができます。この配置により、企業は、ハードウェア障害のインスタンスを処理するために 1 台のサーバーが常にアクティブであるという保証が得られます。
メンテナンスの柔軟性
トラフィックを一時的にパッシブ サーバーに迂回させる機能により、開発者は障害のあるサーバーで保守作業を柔軟に実行できます。すべてのトラフィックを 1 つのサーバーに向けて、ロード バランサーをアクティブ モードに設定できます。その後、IT サポート チームは、パッシブ サーバーでソフトウェアの更新とパッチを実行し、運用環境でテストし、すべてが正常に機能したらサーバーをアクティブに切り替えることができます。
プロアクティブな障害検出
負荷分散は、企業がサーバーの停止を検出し、影響を受けていないサーバーにリソースを分散することでそれらを回避するのに役立ちます。これにより、特にサーバーが複数のデータ センターやクラウド プロバイダーに分散している場合に、サーバーを効率的に管理できます。これは、予測分析を使用して潜在的なトラフィックのボトルネックを発生前に発見できるソフトウェア ロード バランサーの場合に特に当てはまります。
DDoS 攻撃の緩和
サーバー間でトラフィックを分散するロード バランサーの機能は、分散型サービス妨害 (DDoS) 攻撃に対する防御にも役立ちます。単一のサーバーが過負荷になると、 DDoS 攻撃、ロードバランサーは、トラフィックを他のサーバーに再ルーティングし、攻撃面を減らすことで役立ちます.このように、ロード バランシングは単一障害点を排除し、そのような攻撃に対するネットワークの回復力を高めます。
テクノロジーとしてのロード バランシングは時間の経過とともに進化し、企業が中断のないユーザー エクスペリエンスを提供するための重要な方法であり続けています。ロード バランシングは、ダウンタイムの短縮と高可用性を IT チームに提供するだけでなく、ビジネスにリソースを拡張し、顧客の要求を満たし、収益を生み出す新たな機会を提供します。