サーバロードバランス

サーバロードバランシングとは



サーバロードバランシング(Server Load Balancing)とは、コンピュータネットワークにおいて、クライアントからの要求を複数のサーバに分散させる技術です。ロードバランサと呼ばれる装置をクライアントとサーバの間(通常はフロントエンド)に配置し、要求を適切なサーバへ転送することで、特定のサーバへの負荷集中を避け、システム全体のパフォーマンスと可用性を向上させます。

ロードバランサの役割



ロードバランサは、クライアントからのサービス要求に対して、サーバファーム内から最適なサーバを選択・制御します。クライアントからの最初の要求を受けた際、ロードバランサは適切なサーバを選び、その後の要求も原則として同じサーバに転送します。これは、クライアントの状態をサーバ側で管理するアプリケーションにとって重要です。ただし、サーバに障害が発生した場合、この仕組みが問題となることがあります。この問題を解決するために、ロードバランサは状態情報を共有データベースに保存し、Cookieなどのトークンを使ってクライアントと状態情報を関連付けます。

外部ネットワークから見ると、ロードバランサは単一の仮想サーバとして認識されます。つまり、IPアドレスやポート番号は、ロードバランサのものだけが見えます。サーバ群で動作するサービスは、この仮想サーバが提供しているように見えます。クライアントは仮想サーバに要求を送り、ロードバランサが適切な物理サーバを選択して転送します。

仮想サーバの構成は、サービスの種類によって異なります。ロードバランサは、TCPやUDP上のサービスだけでなく、HTTP、FTP、SSL、NNTP、SIP、DNSなどの多様なプロトコルをサポートします。

サーバの監視と障害対応



ロードバランサは、サーバ群が正常に動作しているかを監視します。定期的にキープアライブパケットを送信し、応答がない場合はサーバがダウンしていると判断します。サーバダウン時には、残りのサーバで負荷分散を継続し、仮想サーバを構成する全てのサーバがダウンした場合は、バックアップサーバに要求を転送するか、保守ページにリダイレクトします。

ロードバランシングの対象



ロードバランシングは、Webサーバだけでなく、以下の対象にも適用できます。

サーバファーム
キャッシュ
ファイアウォール
侵入検知システム
SSLオフロードまたは圧縮
コンテンツ監視サーバ
広域サーバ負荷分散(GSLB)

ロードバランサの機能



ロードバランサは、以下のような機能を提供します。

SSLオフロードと加速: SSL処理の負荷を軽減します。
Secure Remote Access (SSL-VPN): 安全なリモートアクセスを提供します。
DDoS攻撃への防御: DDoS攻撃からシステムを保護します。
圧縮: データ転送量を削減します。
TCP負荷低減: TCP接続の負荷を軽減します。
クライアント・キープアライブ: クライアント接続を維持します。
TCPバッファリング: TCP接続のバッファリングを行います。
統合ロギング: ログを統合管理します。
アプリケーションのキャッシュ化: アプリケーションの処理を高速化します。
コンテンツのフィルタリング: 不適切なコンテンツをフィルタリングします。
優先度別キューイング: 要求に優先度を設定します。
コンテンツ切り替え: コンテンツを動的に切り替えます。
キャッシュのリダイレクト: キャッシュを効率的に利用します。
広域サーバ負荷分散: 地理的に離れたサーバ群に負荷を分散します。
リンク負荷分散: 複数の回線を束ねて利用します。

ロードバランシングの手法



負荷分散には、様々な手法があります。

最小コネクション: コネクション数が少ないサーバを選択します。
DNSラウンドロビン: DNSを利用してサーバを分散します。
* ソフトウェアによる負荷分散: コンピュータ・クラスターを実現するソフトウェアに負荷分散機能を利用します。

Webサーバでの負荷分散



Webサイトへのアクセス集中を制御するために、負荷分散が用いられます。例えば、ウィキメディア財団では以下の手法で負荷分散を行っています。

1. DNSラウンドロビンで、ページ要求をSquidサーバに分散。
2. Squidサーバが応答時間を測定し、Webサーバにページ要求を分散。
3. Squidキャッシュで要求の75%を処理。
4. WebサーバはPHPスクリプトで、要求の種類に応じてデータベースサーバを分散。

レイヤ4スイッチやLinux Virtual Server、リバースプロキシなども負荷分散に利用されます。

無線LANにおける負荷分散



無線LANでは、Wireless LAN Controllerがクライアント接続を分散させます。アクセスポイントの負荷を均一化します。

サーバ技術とネットワーク技術の統合



サーバロードバランシングでは、サーバ構築とネットワーク構築の統合が不可欠です。

まとめ



サーバロードバランシングは、システム全体のパフォーマンスと可用性を向上させるための重要な技術です。適切なロードバランサの選択と設定、および、最適な分散アルゴリズムの選択が重要です。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。