アクティブ-スタンバイ あくてぃぶすたんばい
簡単に言うとこんな感じ!
「本番機」と「控え機」を1台ずつ用意しておく構成だよ。普段は本番機だけが動いていて、もし本番機が壊れたら控え機が自動で引き継ぐ仕組みなんだ。消防署の非常用発電機みたいなイメージ!
アクティブ-スタンバイとは
アクティブ-スタンバイ(Active-Standby) とは、システムを止めないための冗長化構成の一つで、稼働中のサーバー(アクティブ機) と 待機中の予備サーバー(スタンバイ機) の2台ペアで運用する方式です。通常時はアクティブ機だけが処理を担当し、スタンバイ機は「いざとなれば動けるよう」待機しています。
アクティブ機に障害が発生すると、フェイルオーバー と呼ばれる自動切り替えが行われ、スタンバイ機が素早くアクティブ機の役割を引き継ぎます。この切り替えは数秒〜数十秒程度で完了するため、利用者からは「ちょっと重くなった」程度にしか感じられないことも多く、システム全体を止めずに運用を継続できます。
ビジネスシステム・基幹系・ECサイトなど「止まると困る」システムで広く採用されており、可用性(システムが使える状態を保ち続ける能力) を高める代表的な手法の一つです。
アクティブ-スタンバイの仕組み
基本的な役割の違い
| 役割 | 状態 | 処理 | 障害発生時 |
|---|---|---|---|
| アクティブ機 | 稼働中 | すべてのリクエストを処理 | 障害検知後に切り離される |
| スタンバイ機 | 待機中 | 処理しない(または監視のみ) | アクティブ機に昇格して処理を引き継ぐ |
スタンバイの種類
スタンバイには「どれだけ素早く切り替えられるか」で3段階あります。
| 種類 | 説明 | 切り替え速度 | コスト |
|---|---|---|---|
| ホット・スタンバイ | スタンバイ機が常時起動・同期中 | 数秒〜数十秒 | 高 |
| ウォーム・スタンバイ | スタンバイ機は起動済みだが同期は定期的 | 数分 | 中 |
| コールド・スタンバイ | スタンバイ機は電源オフ。手動で起動 | 数時間〜 | 低 |
覚え方・語呂合わせ
「アクティブはアクション中、スタンバイはスタンバイ(スタンバイ=控え選手)」
サッカーのスタメン(アクティブ)と控え選手(スタンバイ)のイメージで覚えましょう。怪我したら控えが即座に交代出場するイメージです。
歴史と背景
- 1970年代:メインフレーム時代から「ホットスタンバイ」の概念は存在。銀行・証券などの基幹系で採用が始まる
- 1980〜90年代:UNIXサーバーの普及とともに、オープン系システムでも冗長化が標準的な設計要件になる
- 2000年代:Linuxクラスタ(HeartbeatやPacemakerなど)の登場により、専用ハードウェアなしでもActive-Standby構成を組めるようになる
- 2010年代:クラウド(AWS・Azureなど)がActive-Standbyを「マネージドサービス」として提供。RDSのマルチAZ構成などが代表例
- 現在:コンテナ・Kubernetesの普及により、従来のActive-Standbyより柔軟な水平スケールも選択肢に。ただし用途によってはActive-Standbyが引き続き最適解
アクティブ-スタンバイ vs アクティブ-アクティブ
冗長化には大きく2つのアプローチがあります。
どちらを選ぶべきか?
| 観点 | アクティブ-スタンバイ | アクティブ-アクティブ |
|---|---|---|
| 目的 | 障害時の継続性(可用性) | 負荷分散+可用性 |
| コスト | スタンバイ機分のコスト増 | 両機フル稼働でコスト効率◎ |
| 設計の複雑さ | 比較的シンプル | セッション共有など複雑 |
| 向いているシステム | DBサーバー・基幹系 | Webサーバー・API層 |
| 切り替え時の中断 | 数秒〜数十秒の中断あり | 中断なし(片方停止しても継続) |
実務のポイント: データベース(DB)サーバーはデータの整合性を保つ必要があるため、Active-Standbyが採用されることが多いです。一方、WebサーバーやAPIサーバーはセッション共有が比較的容易なためActive-Activeが向いています。
フェイルオーバーの流れ
[通常時]
クライアント
↓
★ アクティブ機(稼働中) ← すべての処理を担当
↓(同期・レプリケーション)
スタンバイ機(待機中)
[障害発生]
① アクティブ機に障害発生
② 監視ソフト(HeartbeatやPacemaker等)が検知
③ スタンバイ機がアクティブ機に昇格(フェイルオーバー)
④ IPアドレス・サービスをスタンバイ機が引き継ぐ
[フェイルオーバー後]
クライアント
↓
★ 旧スタンバイ機(新アクティブとして稼働中)
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 5798 | VRRP(Virtual Router Redundancy Protocol)— ルーターのActive-Standby切り替えプロトコル |
| RFC 3768 | VRRPv2(IPv4向け旧版) |
| IEEE 802.1AX | リンクアグリゲーション — 複数NICを束ねた冗長化規格 |