負荷分散と可用性

アクティブ-スタンバイ あくてぃぶすたんばい

冗長化フェイルオーバー高可用性HA構成クラスタリング障害対策
アクティブ-スタンバイについて教えて

簡単に言うとこんな感じ!

「本番機」と「控え機」を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つのアプローチがあります。

冗長化構成の比較 アクティブ-スタンバイ アクティブ機 ▶ 処理中 スタンバイ機 ⏸ 待機中 特徴 ・障害時のみ切り替え ・構成がシンプル ・スタンバイ機は遊んでいる アクティブ-アクティブ サーバー A ▶ 処理中 サーバー B ▶ 処理中 特徴 ・常に両方で処理を分担 ・処理能力が2倍に ・設計・同期が複雑 vs

どちらを選ぶべきか?

観点アクティブ-スタンバイアクティブ-アクティブ
目的障害時の継続性(可用性)負荷分散+可用性
コストスタンバイ機分のコスト増両機フル稼働でコスト効率◎
設計の複雑さ比較的シンプルセッション共有など複雑
向いているシステムDBサーバー・基幹系Webサーバー・API層
切り替え時の中断数秒〜数十秒の中断あり中断なし(片方停止しても継続)

実務のポイント: データベース(DB)サーバーはデータの整合性を保つ必要があるため、Active-Standbyが採用されることが多いです。一方、WebサーバーやAPIサーバーはセッション共有が比較的容易なためActive-Activeが向いています。


フェイルオーバーの流れ

[通常時]
  クライアント

  ★ アクティブ機(稼働中)  ← すべての処理を担当
      ↓(同期・レプリケーション)
     スタンバイ機(待機中)

[障害発生]
  ① アクティブ機に障害発生
  ② 監視ソフト(HeartbeatやPacemaker等)が検知
  ③ スタンバイ機がアクティブ機に昇格(フェイルオーバー)
  ④ IPアドレス・サービスをスタンバイ機が引き継ぐ

[フェイルオーバー後]
  クライアント

  ★ 旧スタンバイ機(新アクティブとして稼働中)

関連する規格・RFC

規格・RFC番号内容
RFC 5798VRRP(Virtual Router Redundancy Protocol)ルーターのActive-Standby切り替えプロトコル
RFC 3768VRRPv2(IPv4向け旧版)
IEEE 802.1AXリンクアグリゲーション — 複数NICを束ねた冗長化規格

関連用語

  • フェイルオーバー — 障害発生時にスタンバイ機へ自動で切り替わる仕組み
  • アクティブ-アクティブ — 複数台のサーバーが同時に稼働する冗長化方式
  • 冗長化 — システムの部品を二重化して障害に備える設計思想
  • VRRP — ルーターの仮想IPを使ってActive-Standbyを実現するプロトコル
  • レプリケーション — アクティブ機のデータをスタンバイ機にリアルタイム複製する仕組み
  • SLA — システムの可用性(稼働率)を定めたサービス水準合意