こんにちは、UOZUです。
「冗長化構成を考える」シリーズとして、前回はWebサーバーの冗長化構成についてご紹介しました。今回は、Webサイトやアプリケーションで重要な役割を持つ、データベースサーバーの冗長化について整理していきます。
-300x200.png)
冗長化構成では、原則として「単一障害点」をなくすことが重要です。
静的なHTMLや画像のみを配信するサイトや、ログイン情報・投稿情報などを保持しない構成であれば、Webサーバー側の冗長化だけでも対応できる場合があります。
しかし、ユーザー情報の登録やWordPressの記事データなど、データベース上で更新が発生する構成では、データベース側の冗長化もあわせて検討する必要があります。同期設定や切り替え方法を考慮しておかないと、障害発生時にデータの整合性が取れなくなる可能性があるためです。

データベースサーバーの冗長化パターン
データベースサーバーの冗長化には、いくつかの代表的な構成があります。ここでは、主なパターンとして以下の4つを紹介します。
- 一般的なレプリケーション構成
- DRBD構成
- データベースアプライアンスの冗長化機能
- データベース クラスタ機能
一般的なレプリケーション構成
データベースサーバーの冗長化でよく利用される構成の一つが、レプリケーション構成です。
これは、一方のデータベースサーバーをソース、もう一方をレプリカとして設定し、ソース側のデータをレプリカ側へ同期する構成です。Webサーバーでコンテンツをrsync同期する構成に近い考え方です。
例えば、ソースとなるデータベースサーバーのIPアドレスが 192.168.2.10

例えば、ソースとなるデータベースサーバーのIPアドレスが 192.168.2.10、レプリカ側が 192.168.2.12 の場合、通常時はアプリケーションから 192.168.2.10 に接続します。
ソース側で障害が発生した場合は、レプリカ側を新たなソースとして昇格させ、アプリケーション側の接続先を 192.168.2.12 に切り替える、といった運用が必要になります。

また、相互レプリケーションとして、双方をソース兼レプリカとする構成も可能です。ただし、同じタイミングで両方のデータベースに更新が発生した場合、データの整合性が取れなくなる可能性があります。そのため、運用設計には十分な注意が必要です。
DRBD構成
障害発生時にアプリケーション側の接続先を変更しない構成として、DRBDを利用する方法があります。
DRBD構成では、仮想IPアドレスを用意し、アプリケーション側は常にその仮想IPへ接続します。障害発生時には、スタンバイ側のデータベースサーバーが自動的に起動し、仮想IPアドレスもスタンバイ側へ移動します。

例えば、DRBD用の仮想IPアドレスを 192.168.2.20 として設定し、アプリケーション側のデータベース接続先も 192.168.2.20 にしておくことで、障害時にアプリケーション側で接続先を変更することなく、切り替え後のデータベースサーバーを継続して利用できます。
以前弊社のニュースレターでも紹介したものとなりますね!

データベースアプライアンス+冗長化機能
さくらのクラウドのマネジメントサービスでは、「データベースアプライアンス」の冗長化機能を利用することもできます。
DRBDと同様、障害が発生した場合でも、DRBD構成と同様に仮想IPアドレスを用いた切り替えが可能です。

仮想サーバーの作成やミドルウェアのインストール、DRBDの導入作業を省略できるため、構築作業を短縮したい場合には大きなメリットがあります。また、TLS 1.2や自己証明書を利用できる点も特徴です。
手作業で冗長化構成を組むよりも、構築・運用の負荷を抑えやすい構成といえますね!


データベース クラスタ機能
さらに高可用性を求める場合は、さくらのクラウドの「データベース クラスタ機能」も選択肢になります。
この機能では、ブリッジ・スイッチを介する必要はありますが、リージョンをまたいだ構成が可能です。また、すべてのデータベースサーバー(各ノード)に対して書き込みができる点が大きな特徴です。

通常のレプリケーション構成では、書き込み先を意識する必要がありますが、クラスタ構成では複数ノードでの書き込みに対応できるため、より柔軟な構成が可能になります。
ただし、2026年5月時点では、利用できるエンジンはMariaDBのみです。また、スペックは4Core/16GB、ディスクサイズは100GBで固定されているため、要件に合うかどうかを事前に確認しておく必要があります。
さいごに
今回は、データベースサーバーの冗長化構成について整理しました。
データベースの冗長化には、一般的なレプリケーション構成のほか、DRBD構成、データベースアプライアンスの冗長化機能、データベース クラスタ機能など、複数の選択肢があります。
構成を選ぶ際は、障害発生時の切り替え方法、データの整合性、構築・運用の負荷、必要なスペックなどを踏まえて検討することが重要です。
さくらインターネットのサービスに関するご相談がありましたら、ぜひネットアシストまでお問い合わせください!
最後までお読みいただき、ありがとうございます。



