オープンシステム相互接続 (Open Systems Interconnection、OSI) モデル (OSI 参照モデル) では、ネットワーク通信は7つの論理レイヤにグループ化され、各レイヤで OSI 標準化プロトコルを使用して通信します(下図参照)。負荷分散はいくつかのレイヤで実行できます。
OSI 参照モデルで、レイヤ7 は適用可能な最高レベルであり、HTTP などのアプリケーション層プロトコルでより深いコンテキストを提供します。アプリケーション層で動作するレイヤ7 負荷分散は、このアプリケーションレベルの情報を認識して、メッセージのコンテンツに基づいた、より複雑な負荷分散の決定を行い、コンテンツに最適化と変更 (HTTP ヘッダー操作、圧縮、暗号化など) を適用できます。アプリケーションの稼働状況の監視で、信頼性と可用性が確保できます。
レイヤ7 負荷分散は、リバースプロキシとも呼ばれます。
図: OSI 参照モデル
レイヤ4 負荷分散は、伝送制御プロトコル (TCP) やユーザーデータグラムプロトコル (UDP) などのトランスポート層で動作します。通常、レイヤ4 でのルーティング決定は、追加のパケットインスペクションなしで送信元/送信先の IP/ポートに基づいて行われます。レイヤ4 負荷分散はメッセージの内容を検査したり変更したりせず、ルーティング決定にアプリケーション情報を適用できません。
HTTP は OSI 参照モデルのレイヤ5、6、7の機能を組み合わせており、Kemp LoadMaster のレイヤ7 負荷分散は、便宜上、レイヤ7 負荷分散という用語を使っていますが、レイヤ5、レイヤ6、レイヤ7の情報を機能強化のために利用しています。
レイヤ7 負荷分散が受信したリクエストは、通常、設定されたアルゴリズムに基づいてアプリケーションに配信されます。Kemp LoadMaster は、次の負荷分散アルゴリズムを利用します。
負荷分散アルゴリズムについては、Load Balancing Algorithms and Techniques (英語) を参照してください。
パーシステンス機能により、個々のクライアントからのすべてのリクエストを同じサーバーに送信して、そのアプリケーションコンテキストを維持することができます。
Kemp LoadMaster は、次のパーシステンス手法を提供しています。
レイヤ7 コンテンツスイッチング (URL 書き換えとも呼ばれます) により、クライアントからのリクエストに含まれるアプリケーション層からの情報を使用して、コンテンツとコンテキストに基づいてパケットを処理するのに最適なサーバーにトラフィックを誘導できます。
ネットワークパケットの SSL/TLS 暗号化の処理は、リソースを集中的に使用するタスクであり、Web サーバーとアプリケーションサーバーでこれを行うとコンテンツ配信用に最適化する必要があるサーバーに追加のオーバーヘッドがかかりますが、レイヤ7 負荷分散にオフロードすることによりサーバーへの負荷を軽減します。
Kemp LoadMaster は、以下の機能を提供します。
ヘルスチェックは、ロードバランサーがアプリケーションサーバーとアプリケーションにクエリを実行し、正しく動作してトラフィックを受信できるかどうかを判断する手段として進化しました。負荷分散アルゴリズムは、ヘルスチェックの結果を尊重し、利用可能でタイムリーに応答できるアプリケーションサーバーとアプリケーションにのみリクエストを送信します。
レイヤ7 負荷分散は、Web サイトおよびアプリケーションサーバーとの間で送受信されるすべてのレイヤ 4-7 トラフィックを検査します。このアクティビティはすべてログに記録され、ネットワーク情報に関する監視とトレースに役立ちます。これらは分析のために専用の監視ツールに渡すことができ、疑わしいアクティビティを特定できます。ログは、ログを収集するネットワークデバイスから送信され、リモートで分析されるのがベストプラクティスです。
LoadMaster は、レイヤ4 負荷分散のシンプルさと、レイヤ7 負荷分散が提供する、コンテンツに応じたより複雑で高機能なオプション (ヘルスチェック、FIPS 140-2 レベル 1 のサポート、キャッシュ/圧縮、コンテンツのスイッチング、自動化対応 API などを含む) を組み合わせています。
Kemp LoadMaster 負荷分散の機能については、LoadMaster 機能リストをご参照ください。