【あくてぃぶぱっしぶ】

アクティブ-パッシブ とは?

最終更新:
💡 「正選手と控え」のバックアップ体制

稼働系(Active)だけが処理を受け持ち、待機系(Passive)は障害時に切り替えて使う冗長構成。待機系の準備状況によって、切り替えにかかる時間とコストが変わる。

📌 このページのポイント
Active-Active / Active-Passive 比較 Active-Active クライアント サーバA 稼働中 サーバB 稼働中 DB 両方のサーバがリクエストを処理 Active-Passive クライアント サーバA 稼働中 サーバB 待機中 DB 障害時にサーバBへ切替(フェイルオーバー) 障害時 Active-Active の特徴 ・両方で処理を分担 ・障害時は振り分けと余力が必要 Active-Passive のメリット ・構成がシンプル ・データ整合性を保ちやすい
アプリサーバー層の構成比較。継続稼働にはDBなど依存先の冗長化も必要。
ひよこ ひよこ
アクティブ-パッシブってどういう構成なの?
ペンギン先生 ペンギン先生
サーバーを2系統用意して、普段は稼働系(アクティブ)だけが処理をする構成だよ。待機系(パッシブ)は稼働系が故障したときに引き継ぐ控え選手なんだ。切り替えることをフェイルオーバーと呼ぶよ。
ペンギン先生 ペンギン先生
ホットスタンバイは待機系が常に起動していてデータも同期されているから、切り替えが速い。コールドスタンバイは待機系が止まっていて、障害時に起動やデータの復元から始めるから時間がかかるんだ。準備を厚くするほど切り替えは速くなるけど、コストは上がるよ。
ひよこ ひよこ
フェイルオーバーは自動でできる?
ペンギン先生 ペンギン先生
構成次第だよ。AWSのRDSのマルチAZ配置は同期レプリカへ自動でフェイルオーバーするし、PostgreSQLならPatroniのような仕組みで自動化できる。ただ、両方が自分をアクティブだと思い込む「スプリットブレイン」を防ぐ仕組みが必要だし、AWSは誤検知による無駄な切り替えを避けるため、手動で開始する方法もよく使われると説明しているよ。
ひよこ ひよこ
待機系をまったく使わないのはもったいなくない?
ペンギン先生 ペンギン先生
いい視点だね。PostgreSQLのホットスタンバイのように、待機系で読み取り専用の問い合わせを受けられる仕組みもあるよ。ただし、RDSのマルチAZ(DBインスタンス)の待機系は読み取りに使えないから、読み取りを分散したいならリードレプリカなどを別に用意するんだ。
ひよこ ひよこ
構成はどうやって選べばいいの?
ペンギン先生 ペンギン先生
どのくらいの時間で復旧したいか(RTO)と、どこまでのデータ損失を許せるか(RPO)から決めるよ。AWSの資料でも、バックアップからの復元のような安くて単純な方式から、複数拠点で同時に動かすアクティブ-アクティブのように複雑でコストの高い方式まで並べて、要件で選ぶよう説明しているんだ。
もっと詳しく知りたい人へ

「ウォームスタンバイ」は、どの資料でも同じ意味なの?

同じではないよ。PostgreSQLのドキュメントでは、昇格するまで接続できない待機サーバーをウォームスタンバイ、読み取り専用の問い合わせを受け付けられる待機サーバーをホットスタンバイと呼んでいる。一方、AWSの災害対策の資料では、別リージョンに縮小版だが完全に動く環境を置いておく方式をウォームスタンバイと呼ぶんだ。資格試験や設計書では、その資料の定義を確認しよう。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「アクティブ-パッシブ」って出てきたら「稼働系+待機系の冗長構成」と思えればだいたいOK!
📖 おまけ:英語の意味
「Active-Passive (Active-Standby)」 = 能動-受動構成
💬 Passive(受動的)な待機系が、Active(能動的)な稼働系のバックアップになるよ

参考資料

← 用語集にもどる