冗長化構成を考える(3)|レプリケーション・DRBD・クラスタを解説

ストレージとデータ # データベース # 冗長化

こんにちは、UOZUです。

「冗長化構成を考える」シリーズとして、前回はWebサーバーの冗長化構成についてご紹介しました。今回は、Webサイトやアプリケーションで重要な役割を持つ、データベースサーバーの冗長化について整理していきます。

https://www.netassist.ne.jp/sakuracloud-labo/archives/1436

冗長化構成では、原則として「単一障害点」をなくすことが重要です。

静的な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 にしておくことで、障害時にアプリケーション側で接続先を変更することなく、切り替え後のデータベースサーバーを継続して利用できます。

以前弊社のニュースレターでも紹介したものとなりますね!

https://www.netassist.ne.jp/techblog/27956/

データベースアプライアンス+冗長化機能

さくらのクラウドのマネジメントサービスでは、「データベースアプライアンス」の冗長化機能を利用することもできます。

DRBDと同様、障害が発生した場合でも、DRBD構成と同様に仮想IPアドレスを用いた切り替えが可能です。

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

手作業で冗長化構成を組むよりも、構築・運用の負荷を抑えやすい構成といえますね!

https://cloud.sakura.ad.jp/products/database-appliance

https://www.netassist.ne.jp/sakuracloud-labo/archives/477#index_id3

データベース クラスタ機能

さらに高可用性を求める場合は、さくらのクラウドの「データベース クラスタ機能」も選択肢になります。

この機能では、ブリッジ・スイッチを介する必要はありますが、リージョンをまたいだ構成が可能です。また、すべてのデータベースサーバー(各ノード)に対して書き込みができる点が大きな特徴です。

https://manual.sakura.ad.jp/cloud/appliance/database/database-cluster.html

通常のレプリケーション構成では、書き込み先を意識する必要がありますが、クラスタ構成では複数ノードでの書き込みに対応できるため、より柔軟な構成が可能になります。

ただし、2026年5月時点では、利用できるエンジンはMariaDBのみです。また、スペックは4Core/16GB、ディスクサイズは100GBで固定されているため、要件に合うかどうかを事前に確認しておく必要があります。

さいごに

今回は、データベースサーバーの冗長化構成について整理しました。

データベースの冗長化には、一般的なレプリケーション構成のほか、DRBD構成、データベースアプライアンスの冗長化機能、データベース クラスタ機能など、複数の選択肢があります。

構成を選ぶ際は、障害発生時の切り替え方法、データの整合性、構築・運用の負荷、必要なスペックなどを踏まえて検討することが重要です。

さくらインターネットのサービスに関するご相談がありましたら、ぜひネットアシストまでお問い合わせください!

最後までお読みいただき、ありがとうございます。

この記事を書いた人

UOZU

ネットアシスト運用チーム10年目の運用エンジニア さくらのクラウド検定 ベーシック さくらのクラウド検定 アドバンスド AWS Certified Solutions Architect - Associate