フェイルオーバー ふぇいるおーばー
冗長化高可用性クラスタリングフォールバックハートビート障害復旧
フェイルオーバーについて教えて
簡単に言うとこんな感じ!
飛行機のパイロットが急に倒れたとき、副操縦士がすぐ操縦を引き継ぐイメージだよ!サーバーや機器が故障したとき、待機していた予備の機器が自動で仕事を引き継いでシステムを止めない仕組みのことなんだ!
フェイルオーバーとは
フェイルオーバー(Failover)とは、稼働中のシステムやサーバーに障害が発生したとき、あらかじめ待機させておいた予備のシステムへ自動的に切り替える仕組みのことです。「fail(失敗する)」+「over(引き継ぐ)」という言葉の通り、主系が失敗したら副系が引き継ぐという動作を表しています。
重要なのは「自動的に」という点です。人が気づいて手動で切り替えるのではなく、システムが障害を検知して自分で切り替えることで、ダウンタイム(サービスが止まる時間)を秒〜分単位に最小化できます。ECサイトや銀行システムのように「1分でも止まると損失が出る」ようなシステムには不可欠な技術です。
フェイルオーバーは冗長化(同じ機能を持つ機器・システムを複数用意すること)を前提として成立します。予備機を用意してはじめてフェイルオーバーが可能になるため、コストはかかりますが、それ以上の安定稼働を実現します。
フェイルオーバーの仕組みと構成
基本的な動作フロー
| ステップ | 内容 |
|---|---|
| ① 監視(ハートビート) | 主系サーバーが「生きてるよ」という信号(ハートビート)を定期的に送信 |
| ② 障害検知 | 副系サーバーがハートビートの途絶を検知(例:3回連続で応答なし) |
| ③ 切り替え判断 | 「主系が落ちた」と判断し、フェイルオーバーを開始 |
| ④ 引き継ぎ | 副系が主系のIPアドレスや処理を引き継ぎ、サービスを継続 |
| ⑤ 通知 | 管理者にアラートを送信 |
待機方式の種類
フェイルオーバーには、予備機をどのような状態で待機させるかで3種類あります。
| 方式 | 予備機の状態 | 切り替え速度 | コスト |
|---|---|---|---|
| ホットスタンバイ | 常に起動・同期済み | 数秒〜数十秒 | 高い |
| ウォームスタンバイ | 起動済みだが部分同期 | 数分 | 中程度 |
| コールドスタンバイ | 停止状態 | 数十分〜 | 低い |
- ホットスタンバイ:予備機が主系と全く同じデータを持って待機。最も速く切り替わるが、予備機にも同等のライセンス・リソースが必要。
- ウォームスタンバイ:予備機は動いているが、最新データの同期は定期的。コストと速度のバランス型。
- コールドスタンバイ:予備機は電源オフ。障害が起きてから電源を入れてデータを読み込む。コスト重視の場合に選ばれる。
覚え方:温度で覚える待機方式
🔥 ホット(Hot) → 常に全力で温まって待機中! → すぐ動ける
🌤 ウォーム(Warm)→ ほんのり温まって待機中 → ちょっと待って
❄️ コールド(Cold)→ 完全に冷えて停止中 → 起動から始める
歴史と背景
- 1960年代:NASAのアポロ計画でコンピュータの冗長化・フェイルオーバーの概念が実用化。宇宙船のコンピュータが故障しても任務を継続するために採用された。
- 1980年代:メインフレーム(大型汎用機)の世界でクラスタリング技術として普及。IBMやTandemが高可用性システムを商用化。
- 1990年代:インターネットの普及に伴い、Webサーバーの冗長化が一般的に。UNIXサーバー向けのクラスタソフトウェアが登場。
- 2000年代:VMware等の仮想化技術の登場により、仮想マシン単位でのフェイルオーバーが容易に。
vMotion(稼働中の仮想マシンを別ホストへ移動)などの技術が普及。 - 2010年代〜現在:クラウド(AWS・Azure・GCP)がフェイルオーバーをマネージドサービスとして提供。マルチAZ(複数の地理的拠点への自動切り替え)が標準化。
フェイルオーバーと関連技術の比較
フェイルオーバー vs フォールバック vs フェイルセーフ
混同しやすい3つの概念を整理します。
| 用語 | 意味 | 例 |
|---|---|---|
| フェイルオーバー | 障害時に予備システムへ自動切り替え | 主サーバー停止→副サーバーへ切替 |
| フォールバック | 障害が回復したら元のシステムへ戻す | 主サーバー復旧→主サーバーへ戻す |
| フェイルセーフ | 障害時に安全な状態へ移行する設計思想 | エレベーターの停電時自動ドア開放 |
フェイルオーバーで切り替わった後、主系が復旧したら元に戻す操作がフォールバックです。自動で戻す場合と、管理者が手動で判断して戻す場合があります。
フェイルオーバー構成の全体像
クラウドにおけるフェイルオーバー
クラウドサービスでは、フェイルオーバーが「マネージドサービス」として提供されており、自社で構築するよりも低コスト・低工数で実現できます。
| クラウド | サービス名 | 概要 |
|---|---|---|
| AWS | Multi-AZ / Route 53 フェイルオーバー | 複数のAZ(データセンター)間で自動切替 |
| Azure | Azure Site Recovery / Availability Zones | リージョン間・ゾーン間のフェイルオーバー |
| GCP | Cloud SQL HA / Regional MIGs | 高可用性構成でのゾーン間自動切替 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 3768 | VRRP(Virtual Router Redundancy Protocol)— ルーター冗長化のプロトコル |
| RFC 5798 | VRRPv3 — IPv6対応版のVRRP |
| IEEE 802.1AX | リンクアグリゲーション — 複数回線を束ねた冗長化 |