オープンソース

WEB-DBサーバのクラスタ化

クラスタ化の概要

JBOSS、PHPなどのミドルウェアを使って、WWWサーバシステムを構築することが多くなっています。データを扱う場合には、何らかのリレーショナルデータベースとも連携して動作します。

WEBサーバだけであれば、ロードバランサーやNFSサーバなどを使って容易に冗長化することができます。しかし、データベースのデータ共有は比較的難しく、システム全体のリスクとなっている場合も少なくありません。

Pacemakerなどのクラスタソフトウェアとデータベースソフトウェアを効果的に組み合わせることで、WEB-DBサーバを冗長化することができます。

クラスタ化のポイント

キャラクター:クラー

WEB-DBサーバを冗長化する場合には、次のような点を考慮する必要があります。

システム全体の負荷

最小構成では2台で冗長化することができます。しかし、アクセスが多く負荷が高い場合には、WEBサーバとDBサーバを分離したり、DBサーバをさらに増加するための対策も必要になります。

コンテンツ共有の方法

データベースの共有だけでなく、WWWサーバ上のコンテンツの共有についても考慮する必要があります。

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

WWWサーバへのリクエストを分散する方法についても考慮が必要です。ロードバランサーを使う方法や、LinuxのLVSの仕組みを使う方法があります。

データの冗長性やバックアップ

データベースに重要なデータが保管されている場合には、データの冗長性やバックアップについても考える必要があります。

クラスタシステムの構築例

HA構成以外でWEB-DBサーバを構築する場合には、様々な構成を取ることができます。次は、ややアクセスが高い状況まで対応できるスケーラビリティを意識したシステム構成です。

  • 通常は、2台のサーバでWWWサーバが動作し、1台のサーバでNFSサービスとDBサービスが動作します。
  • WWWサーバへのアクセスは、Linux LVSの機能を使ってServer1とServer2でロードバランスしますので、ロードバランサーは不要です。
  • Server2が故障した場合には、Server1、Server3でサービスを継続します。
  • Server1、Server3が故障した場合には、Server2でサービスを継続します。
  • NFSやデータベースは、インターネットに直接接していないセグメントで通信します。

図:クラスタシステムの構築例

OSSでクラスタ化するメリット

キャラクター:スター

リレーショナルデータベースの製品で、データベースの負荷分散と冗長性確保を行えるものもあります。しかし、非常に高価なため、利用用途が限定されてしまいます。これに対して、OSSを使ってクラスタ化すると、次のようなメリットがあります。

データベースの冗長性を最適なコストで確保できる

Pacemakerなどのクラスタソフトウェアを使うことで、コストを抑えながらデータベースの冗長性を確保することができます。

データベース以外のデータの冗長化もできる

NFSサービスなどを組み合わせることで、データベース以外の情報も冗長化できます。

ベンダーロックインしない

完全にオープンな技術だけを使って動作します。データベース製品ベンダーの製品戦略に左右されず、安定して使い続けることができます。

クラスタ化の注意事項

WEB-DBのシステムをクラスタ化する場合には、次のような点に注意する必要があります。

  • DBの冗長方式

    データベースの冗長方式によっては、冗長化の方法によって、アプリケーションからの使い方が変わる場合があります。そのため、十分に検討して、冗長化の方法を決める必要があります。

  • 性能

    データベースの冗長化の方法によって、得られる性能が異なります。また、クラスタソフトウェアは比較的多くのシステムリソースを必要とします。そのため、十分な性能を確保する必要があります。

  • セキュリティ

    データベースや内部データに、インターネットから直接アクセスできないように配慮する必要があります。

  • ロードバランシング

    ロードバランシングはロードバランサーなどの機器を使うこともできますが、クラスタソフトウェアのIPアドレスの付け替えの仕組みとの共存を考えて構成する必要があります。

  • クラスタ監視

    データベースもWWWサーバも、個別には動作しているように見えても、連携部分で問題が発生する場合があります。WEB-DBシステム全体としての動作を保証するように、クラスタ監視の機能を組み込む必要があります。

その他の構築事例

メールサーバのクラスタ化
メールサーバの停止は、ビジネスの停止につながるリスクがあります。クラスタ化することで、メールサーバが停止するリスクを最小限に抑えることができます。
WEB-DBサーバのクラスタ化
OSSのクラスタソフトウェアとデータベースソフトウェアを効果的に組み合わせることで、WEB-DBサーバを冗長化することができます。
NFSサーバのクラスタ化
NFSサーバを冗長化しないと、NFSサーバがシステム内の単一障害点になってしまいます。そのため、共有ファイルシステムを構築する時は、冗長性を確保することがとても大切です。
Windowsファイル共有サーバのクラスタ化
Linux上で動作するSambaとOSSのクラスタソフトウェアを組み合わせることで、Windowsファイル共有のサーバを冗長化することができます。
AWS上でのクラスタ化
AWSの冗長化の機能だけでは、アプリケーションレベルで正しく動作していることまでを監視することができません。OSSのクラスタソフトウェアを利用することで、サービス監視までを実現することができます。

ご検討用の資料をご用意しております。

様々な事例を集めたモデルプラン(費用例付き)をお送りしています。

代表的な事例を集めた「モデルプラン」をお送りしています。費用の例も記載しておりますので、価格感も知って頂ける資料となっております。
ご希望の方は、下記よりお申し込みください。


モデルプランをご希望の方

デモの申し込みイメージ

各種費用についてのお問い合わせ

コンサルティング費用、設計費用、構築費用、運用費用、保守費用など、各種費用についてのお見積もりは以下のフォームよりお気軽にお問合せ下さい。


unboundやPowerDNSを使用したDNSサーバのモデルプランをご希望の方

全国対応可能イメージ

WEB-DBサーバのクラスタ化の先頭へ