今回紹介したリバースプロキシでは、複数台のWebサーバを用意することである程度耐障害性を高めます。ただし、リバースプロキシ自体は1台であるため、リバースプロキシが停止してしまうとHTTPサービスがすべて停止してしまいます。つまり、何台Webサーバを用意したとしても、依然としてシングルポイントフェイルが存在するのです。
フロントエンドのロードバランサも冗長化すれば、シングルポイントフェイルを解消できます。そのためには、単に冗長化するだけでなく、冗長化したサーバ同士が互いに死活監視を行うなどの連携が必要になります。
クラスタの詳細については、「Linuxクラスタリングへの招待」を参照してください。
LVS(Linux Virtual Server)は、TCP/UDPの情報を基にしたレイヤ4スイッチと呼ばれるルーティング制御を実現します。そのためWebサーバに限らず、メールやFTPなどのサービスにも応用できます。
ただし、対応カーネルが必要になるなど、インストールも大掛かりになります。また、LVS自体はカーネルを拡張するコードであるため、ハートビート関連パッケージや設定ツールなど、LVSに対応したクラスタソフトウェアを別途導入する必要があります。LVSにも「ipvsadm」コマンドが用意されていますが、操作が複雑です。
ちなみに、LVSに対応した代表的なパッケージとしてUltra Monkeyがあります。
Linux Virtual Server Project
http://jlvs.infoscience.co.jp/
Ultra Monkey
http://www.ultramonkey.org/(配布元)
http://ultramonkey.jp/(日本語)
今回紹介した方法以外にも、DNSやiptablesなどを利用してソフトウェアでできる冗長化や負荷分散もあります。以下の記事も参考にしてください。
3回にわたり、Apache Webサーバの最適化について解説しました。最適化と堅牢性、セキュリティはトレードオフの関係にあります。最適化にとらわれるあまり、堅牢性やセキュリティがおろそかにならないよう注意しましょう。
次回はLDAP認証+WebDAV+SSLでセキュアなファイルサーバを構築する手法を紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.