システムの可用性向上や障害対策を検討する際に必ず出てくる「ホットスタンバイ」という概念は、ミッションクリティカルなシステムを設計するうえで非常に重要な知識です。
「ホットスタンバイって何?」「コールドスタンバイとは何が違うの?」と疑問に感じている方のために、本記事ではホットスタンバイの意味・仕組み・メリット・デメリットをわかりやすく解説していきます。
高可用性システムの設計に携わるエンジニアや、ITインフラの基礎を学びたい方にぜひ参考にしてほしい内容です。
ホットスタンバイとは常時稼働状態で待機し障害時に即座に切り替わる冗長化構成のことである
それではまず、ホットスタンバイの基本的な定義と意味について解説していきます。
ホットスタンバイ(Hot Standby)とは、現用系(アクティブ系)と全く同じ状態で常時稼働・同期した状態を維持しながら待機し、現用系に障害が発生した場合に即座(数秒以内)に切り替わることができる冗長化構成のことです。
「ホット(Hot)」は「熱い=電源が入っており稼働中」という意味であり、待機系が常に現用系と同じ状態で動作準備ができていることを表しています。
銀行のオンラインシステム・航空予約システム・証券取引システムなど、一瞬のサービス停止も許されないミッションクリティカルな環境で広く採用されています。
ホットスタンバイの最大の特徴は「フェイルオーバー時間の短さ」です。
待機系が常にアクティブ系と同じデータ・状態を保持しているため、障害発生から数秒以内(場合によっては1秒未満)で自動的にサービスが継続されます。
RTO(目標復旧時間)をほぼゼロに近づけることができる点が、ホットスタンバイを選択する最大の理由です。
ホットスタンバイの仕組みとレプリケーション
続いては、ホットスタンバイがどのような仕組みで実現されているかを確認していきます。
アクティブ・スタンバイ構成の基本
ホットスタンバイの基本構成は「アクティブ(現用系)」と「スタンバイ(待機系)」の2台以上のサーバーから成ります。
アクティブ系が実際のサービス処理を担当し、スタンバイ系は常にアクティブ系の状態を監視・同期しながら待機します。
両システム間でデータのリアルタイム同期(レプリケーション)が行われており、スタンバイ系は常に最新の状態を保持しています。
ハートビートとフェイルオーバーの仕組み
アクティブ系とスタンバイ系の間では、定期的に「ハートビート(生存確認信号)」が送受信されています。
フェイルオーバーの流れ:
1. スタンバイ系がアクティブ系からのハートビートを検知できなくなる
2. 一定時間(タイムアウト)経過後、アクティブ系の障害を検知
3. スタンバイ系が自動的にアクティブ系の役割を引き継ぐ
4. 仮想IPアドレスの切り替えにより、クライアントは新しいアクティブ系に接続
5. サービスが継続して提供される
仮想IPアドレス(VIP)を使ったフェイルオーバーにより、クライアント側の設定変更なしにサービスの継続性が保たれます。
スプリットブレインとその対策
ホットスタンバイ構成における重大なリスクのひとつが「スプリットブレイン(Split Brain)」です。
スプリットブレインとは、ネットワーク分断などによってアクティブ系とスタンバイ系がお互いの存在を認識できなくなり、両方が同時にアクティブ状態になってしまう現象です。
対策としては、フェンシング(Fencing:一方を強制停止する仕組み)やクォーラム(Quorum:多数決による役割決定)の実装が用いられます。
ホットスタンバイのメリットとデメリット
続いては、ホットスタンバイのメリットとデメリットを確認していきます。
ホットスタンバイのメリット
最大のメリットはフェイルオーバー時間が非常に短い点です。
数秒以内に自動切り替えが完了するため、ユーザーが障害に気づかない場合もあります。
データの損失(RPO:目標復旧時点)も最小限に抑えられます。
常にデータが同期されているため、障害直前のデータまで復旧可能です。
ホットスタンバイのデメリット
最大のデメリットはコストの高さです。
スタンバイ系のサーバーは常時稼働・同期状態を維持するため、通常は実際のサービス処理を行わずにリソースが待機状態で消費されます。
実質的に同スペックのサーバーが2倍必要になるため、ハードウェアコスト・電力コスト・ライセンスコストが増加します。
| 項目 | 内容 |
|---|---|
| フェイルオーバー時間(RTO) | 数秒以内(ほぼゼロに近い) |
| データ損失(RPO) | 最小限(リアルタイム同期) |
| コスト | 高い(常時2倍のリソース) |
| 設定・運用の複雑さ | 高い |
| 主な採用場面 | 金融・医療・通信など超重要システム |
ホットスタンバイの代表的な実装例
続いては、ホットスタンバイを実現する代表的なソフトウェアと技術を確認していきます。
LinuxのPacemakerとCorosync
LinuxサーバーでのホットスタンバイはPacemaker(クラスターリソースマネージャー)とCorosync(クラスター通信エンジン)の組み合わせで実現されることが多いです。
Pacemakerはリソースのフェイルオーバーとスプリットブレイン対策を担い、CorosyncはノードIPの冗長化とメッセージ通信を担います。
データベースのホットスタンバイ
PostgreSQLのStreaming Replication・MySQLのMHA(MySQL High Availability)・Oracle Data Guardなどがデータベースのホットスタンバイをサポートする代表的な技術です。
データベースのホットスタンバイではレプリケーション遅延がほぼゼロの同期レプリケーションを使うことで、フェイルオーバー後のデータ損失を防ぐことができます。
まとめ
本記事では、ホットスタンバイの意味・仕組み・フェイルオーバーの流れ・メリット・デメリット・実装例について解説しました。
ホットスタンバイは常時稼働・同期状態で待機しフェイルオーバー時間をほぼゼロにできる最高水準の冗長化構成です。
コストは高いですが、金融・医療・通信など一瞬のサービス停止も許されない超ミッションクリティカルな環境では不可欠な構成です。
ハートビート・仮想IP・フェンシングなどの仕組みを正しく理解・設計することで、信頼性の高いホットスタンバイシステムが実現できます。