この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "サーバロードバランス"
サーバロードバランシング(英語: Server Load balancing)は、コンピュータネットワークにおける技法の一種である。クライアントとサーバの間にロードバランサ(負荷分散装置)を設置し、複数のサーバが分散処理を行う。利用者の多いWebアプリケーションやネットワークゲームの運営などに適しており、サーバ1台では処理しきれない場合に、この技法を利用することで効率よくサーバの数を増やすことができる。また、故障や保守によりサーバが停止した際にも、サービスを続行させることができる。 ロードバランサは、クライアントからのサービス要求に対して、サーバファーム内から適切な物理サーバを選択するよう管理・制御されなければならない。 物理サーバの選択後、そのクライアントからの要求は同じ物理サーバに転送される。これは、クライアントの状態をサーバ側で管理するようなアプリケーションでは必須となるが、故障などが発生したとき問題となる。この持続性をどう実装するかは、ロードバランサの機種によって異なる。最も典型的な方法は、状態情報を共有データベースに保持し、全ての物理サーバがそれにアクセスできるようにし、Cookieなどの小さなトークンを使って状態情報とクライアントを結びつける手法である。 外部のネットワークから見て、ロードバランサは仮想的な1台のサーバに見える。つまり、IPアドレスやポート番号は、背後にあるサーバ群の代表としてロードバランサのものだけが見える。サーバ群で動作する各種サービスは、外部からはこの仮想サーバが提供するように見える。各サービスは物理サーバのIPアドレスやポート番号を指定することで機能する。クライアントは仮想サーバに要求を送り、ロードバランサが物理サーバを選んでクライアントからの要求をそのサーバに転送する。 サービスが異なれば、ロードバランサによる仮想サーバの構成も変わってくる。基本的にはTCPとUDP上のサービスだが、仮想サーバがサポートする通信プロトコルとしては、HTTP、FTP、SSL、SSL BRIDGE、SSL TCP、NNTP、SIP、DNS などがある。 ロードバランサは、サーバ群が健全に動作しているかを把握することが重要である。このため、各サーバにキープアライブと呼ばれるパケットを定期的に送り、応答時間を監視する。応答が無い場合、そのサーバはダウン状態であると判断される。この監視は通常のネットワークとは別の経路で行われることが多い。サーバダウンが発生したとき、ロードバランサは残っているサーバ群で負荷分散を続行する。仮想サーバを構成する全サーバに障害が発生すると、(もしあれば)バックアップの仮想サーバに要求を転送したり、Webサービスであれば、事前に定義されたURLにリダイレクトする。リダイレクト先は、例えばサイト保守中であることを知らせるWebページである。 負荷分散されるサーバの種類としては、以下のものがある: 広域サーバ負荷分散
概要
サーバファーム
キャッシュ
ファイアウォール
侵入検知システム
SSLオフロードまたは圧縮
コンテンツ監視サーバ(ウイルス監視、スパム監視など)
通常は、サーバはサーバ技術者、ネットワークはネットワーク技術者が相互に依存することなく構築が行われるが、サーバロードバランスにおいては、サーバ構築とネットワーク構築の統合が必要となる。