フェイルオーバーとは?冗長化との違いを解説

フェイルオーバーとは?冗長化との違いを解説

フェイルオーバーとは、稼働中のサーバーやシステムに障害が発生したとき、待機している別のサーバーや経路へ処理を切り替えてサービスを継続する仕組みです。

冗長化が「障害に備えて複数の構成要素を用意する設計」なのに対し、フェイルオーバーは実際に障害が起きたときに正常な系へ切り替える動作を指します。

30秒でわかる結論

  • フェイルオーバーは、障害時に処理を正常なサーバー・系統へ切り替える仕組み
  • 冗長化は「予備を用意する設計」、フェイルオーバーは「障害時に切り替える動作」
  • Active-Standbyでは、通常は主系が動き、障害時に待機系へ切り替える
  • Active-Activeでは複数系が通常時から稼働し、障害時は残った系で処理を継続する
  • 切り替えは自動の場合も手動の場合もある
  • フェイルオーバーがあっても、停止時間やデータ損失が必ずゼロになるわけではない
  • 一般的な共用レンタルサーバー利用者は、自分でフェイルオーバーを構築する必要は通常ない

フェイルオーバーとは?

フェイルオーバーは、サーバー、データベース、ネットワーク機器などに障害が起きたとき、別の正常な構成要素へサービスを引き継ぐ仕組みです。

初心者向けに言い換えると

「本番機が止まったら、予備機へ交代してサービスを続ける仕組み」です。

主系で障害発生 → 障害を検知 → 待機系・別ノードへ切り替え → サービス継続

Microsoftのフェールオーバークラスタリングでも、ノードに障害が起きた場合、残っているノードがワークロードを引き継ぐ処理をフェイルオーバーとして説明しています。

フェイルオーバーと冗長化の違い

2つは非常に近い言葉ですが、意味の範囲が違います。

用語 意味
冗長化 障害に備えて複数のサーバー・回線・電源などを用意する設計
フェイルオーバー 障害発生時に正常な系へ処理を切り替える動作

例

Webサーバーを2台用意する
↓
これが「冗長化」

1台が停止したらもう1台へアクセスを切り替える
↓
これが「フェイルオーバー」

つまり、フェイルオーバーは冗長化されたシステムで使われる代表的な障害対応方法の1つです。

フェイルオーバーの基本的な流れ

一般的なフェイルオーバーは、次のような流れで動きます。

1
主系が通常稼働
2
監視・ヘルスチェックで障害検知
3
切り替え条件を判定
4
待機系・別ノードへ切り替え
5
サービスを継続

どの程度まで自動化されているかはシステム構成によって異なります。

障害はどうやって検知する?

自動フェイルオーバーでは、通常、監視機能やヘルスチェックによって異常を検知します。

監視対象の例

  • サーバーが応答しているか
  • Webサービスが正常に応答するか
  • データベースへ接続できるか
  • クラスターノード同士が通信できるか
  • 特定ポートが応答するか

Microsoftのフェールオーバークラスターでは、ノードやクラスターロールの状態を継続的に監視し、異常時に再起動や別ノードへの移動を行う仕組みがあります。

Active-Standbyとは?

Active-Standbyは、通常時に主系だけが処理を担当し、別のサーバーを待機系として用意する構成です。 Active-Passiveとも呼ばれます。

通常時:主系が稼働 + 待機系が待機
障害時:待機系が主系の役割を引き継ぐ

状態 主系 待機系
通常時 サービスを提供 待機
障害時 停止・切り離し サービスを引き継ぐ

Microsoftの資料では、Active-Passive構成は待機ノードが通常時にはサービスを処理せず、障害発生時に役割を引き継ぐ構成として説明されています。

Active-Activeとは?

Active-Activeは、複数のノードが通常時から稼働し、それぞれが処理を担当する構成です。

2台構成のイメージ

通常時:サーバーAとBでアクセスを分散
↓
Aが停止
↓
Bが残りの処理を引き受ける

通常時から複数台を利用するため、リソースを有効活用しやすい一方、構成やデータ整合性の管理が複雑になる場合があります。

構成 通常時 特徴
Active-Standby 主系のみ処理 構成を理解しやすい
Active-Active 複数系が処理 通常時も複数リソースを活用

自動フェイルオーバーと手動フェイルオーバー

フェイルオーバーは、自動で行う場合と管理者が手動で行う場合があります。

方式 特徴
自動 監視結果に基づいてシステムが切り替える
手動 管理者が障害を確認して切り替える

AWSの災害復旧ガイドでも、Active/Passive構成のフェイルオーバーは自動または手動で開始できると説明されています。

自動なら必ず優れているわけではない

誤検知で切り替わると、正常なシステムまで停止させる可能性があります。重要システムでは、障害検知条件や自動切り替え条件を慎重に設計します。

フェイルオーバーとスイッチオーバーの違い

フェイルオーバーと似た言葉に「スイッチオーバー」があります。

用語 主な意味
フェイルオーバー 障害発生をきっかけに別系統へ切り替える
スイッチオーバー 保守などのため計画的に別系統へ切り替える

例

サーバー故障で予備機へ切り替え → フェイルオーバー
OS更新のため事前に待機系へ切り替え → スイッチオーバー

製品によって用語の使い方は多少異なる場合がありますが、障害時か計画的な切り替えかで区別すると理解しやすくなります。

フェイルバックとは?

障害が復旧したあと、元の主系へサービスを戻すことをフェイルバックと呼ぶ場合があります。

主系障害 → 待機系へフェイルオーバー → 主系復旧 → 元の構成へフェイルバック

ただし、復旧直後に自動で戻すとは限りません。 データ同期や原因確認を行い、安全を確認してから戻す構成もあります。

ロードバランサーとフェイルオーバーの違い

ロードバランサーは、複数サーバーへアクセスを分散する仕組みです。 フェイルオーバーは、障害時に正常な系へ処理を切り替える考え方です。

仕組み 主目的
ロードバランサー 負荷分散
フェイルオーバー 障害時のサービス継続

実際のシステムでは、ロードバランサーがサーバーのヘルスチェックを行い、異常なサーバーへアクセスを送らないことでフェイルオーバーに近い役割を担うこともあります。

バックアップとフェイルオーバーの違い

バックアップとフェイルオーバーも目的が異なります。

項目 バックアップ フェイルオーバー
主目的 失ったデータを戻す サービスを継続する
障害時 復元作業が必要 別系統へ処理を切り替える
誤削除対策 有効 基本的に別問題

フェイルオーバーはバックアップの代わりにならない

データを誤削除した場合、その削除内容が待機系にも同期される可能性があります。高可用性とデータ保護は分けて考え、バックアップも用意してください。

フェイルオーバーがあれば停止時間はゼロ?

必ずゼロになるわけではありません。 障害検知、切り替え判定、サービス起動、DNSや経路変更などに時間がかかる場合があります。

切り替え時間のイメージ

障害検知に30秒
+ 切り替え処理に20秒
= 約50秒間、一部アクセスへ影響する可能性

実際の時間は構成によって大きく異なります。

「高可用性=絶対に止まらない」ではない

目標は停止を完全になくすことではなく、障害時の停止時間を許容範囲へ短縮することです。

データ損失もゼロになる?

これも構成次第です。 主系と待機系のデータ同期に遅延がある場合、障害直前のデータが待機系へ反映されていない可能性があります。

例

12:00:00 主系で注文受付
12:00:02 主系障害
12:00:03 待機系へ切り替え
↓
同期方式によっては直前データの確認が必要

重要システムでは、RPO(どの程度のデータ損失を許容できるか)とRTO(どの程度の停止時間を許容できるか)を決めて設計します。

フェイルオーバーが使われる場所

フェイルオーバーはサーバーだけでなく、さまざまな場所で利用されます。

代表例

  • Webサーバー
  • データベース
  • ロードバランサー
  • ネットワーク回線
  • ルーター・ファイアウォール
  • クラウドのリージョン・ゾーン
  • 仮想マシン

どの層を冗長化し、どこでフェイルオーバーさせるかによって、障害への強さと費用が変わります。

フェイルオーバーの弱点

フェイルオーバーは有効な障害対策ですが、導入すればすべて解決するわけではありません。

構成が複雑になる

サーバー台数、監視、データ同期、切り替え制御などの管理対象が増えます。

費用が増える

待機系を用意するため、サーバーやクラウドリソースの費用が増える場合があります。

誤検知の可能性がある

一時的な通信遅延を障害と判断し、不要な切り替えが発生する可能性があります。

共通障害には弱い場合がある

2台のサーバーが同じ電源・同じネットワーク・同じデータセンター障害の影響を受ける構成では、2台とも同時に利用できなくなる可能性があります。

フェイルオーバーでは障害範囲を分けて考える

高可用性を考えるときは、「サーバー1台の故障」だけを想定しないことが重要です。

障害範囲 対策例
プロセス障害 サービス再起動
サーバー障害 別サーバーへ切り替え
ラック・電源障害 別障害ドメインへ配置
データセンター障害 別拠点・別ゾーンへ切り替え
広域障害 別リージョンなどを検討

AWSでも、複数のAvailability Zoneを利用してアプリケーションやデータベースを別ゾーンへフェイルオーバーできる構成が案内されています。

自動フェイルオーバーには監視が必要

自動切り替えを成立させるには、「何をもって障害と判断するか」を決めなければなりません。

設計時に決めること

  • 何秒応答がなければ障害とするか
  • 何回連続失敗で切り替えるか
  • Webだけを見るか、DBも確認するか
  • 切り替え後に元へ自動で戻すか
  • 管理者へどう通知するか

判定が敏感すぎると誤フェイルオーバーが増え、鈍すぎると障害検知が遅れます。

フェイルオーバーはテストが必要

構成だけ作っても、実際の障害時に切り替わるとは限りません。

1
障害を想定
2
テスト環境・計画停止で障害を再現
3
切り替え時間を計測
4
データ整合性を確認
5
手順・監視条件を改善

AWSの災害復旧ガイドでも、復旧戦略は定期的に評価・テストすることが重要とされています。

共用レンタルサーバー利用者は設定する必要がある?

一般的な共用レンタルサーバー利用者が、自分でサーバーのフェイルオーバーを構築する必要は通常ありません。

初心者はサービス側の冗長化を見る

WordPressブログや会社サイトなら、「設備やネットワークを冗長化しているか」「障害時にどのような復旧体制があるか」「稼働率保証があるか」など、レンタルサーバー事業者側の対策を確認する方が現実的です。

共用サーバーでは物理サーバーやネットワークの管理は事業者側が行うため、利用者がActive-Standby構成を直接組むことは通常ありません。

VPSでは自分でフェイルオーバーを構築する?

VPSでは複数台を契約して冗長構成を作ることはできますが、単に2台用意するだけではフェイルオーバーになりません。

必要になる要素の例

  • 複数のVPS
  • データ同期
  • ヘルスチェック
  • 切り替え機能
  • ロードバランサーやDNS設計
  • 障害通知
  • 復旧・フェイルバック手順

初心者は1台VPSから始めてもよい

普通の小規模Webサイトで、数分〜数時間の復旧を許容できるなら、最初から高度な自動フェイルオーバーを組む必要はありません。バックアップと復旧手順の整備を優先した方が費用対効果がよい場合があります。

どんなサイトでフェイルオーバーが重要?

個人ブログ

必要度:低

まずバックアップと復旧手順を優先すれば十分なことが多いです。

会社案内サイト

必要度:低〜中

停止時の事業影響を見て判断します。

予約・会員サイト

必要度:高

停止すると受付やログインができなくなるため、高可用性を検討します。

EC・基幹システム

必要度:高

停止時間が売上や業務へ直結する場合は冗長化・フェイルオーバーの価値が高くなります。

フェイルオーバーを導入するかの判断基準

技術的にできるかではなく、「停止したときの損失」と「対策費」を比較します。

判断する項目

  • 1時間停止した場合の売上損失
  • 問い合わせ・予約への影響
  • 許容停止時間(RTO)
  • 許容データ損失(RPO)
  • 冗長構成の月額費用
  • 監視・保守に必要な人員

例

1時間停止しても大きな影響がない会社案内サイトなら、複雑な自動フェイルオーバーより、バックアップから数時間以内に復旧できる体制を優先する方が合理的な場合があります。

フェイルオーバーでよくある誤解

2台あれば自動で切り替わる

2台用意しただけでは切り替わりません。監視・同期・切り替え制御が必要です。

フェイルオーバーがあればバックアップ不要

誤削除やデータ破損に備えるバックアップは別に必要です。

Active-Activeなら絶対止まらない

共通ネットワークやストレージに障害が起きれば、複数ノードへ同時に影響する可能性があります。

自動切り替えなら管理不要

監視条件の調整、障害テスト、通知、フェイルバックなどの運用が必要です。

小規模サイトでも必須

停止による損失が小さいなら、バックアップ・監視・復旧手順を優先する方が合理的な場合があります。

教科書判定

教科書判定

フェイルオーバーは「冗長化した予備へ障害時に切り替える仕組み」

初心者は、フェイルオーバーを「障害が起きたとき、正常な別サーバー・別系統へサービスを引き継ぐ仕組み」と理解すれば十分です。

冗長化は予備を用意する設計全体、フェイルオーバーは実際の切り替え動作です。 一般的な共用レンタルサーバー利用者は自分で構築する必要はなく、事業者側の冗長化・障害対応を見る方が重要です。

VPSやクラウドで自前構築する場合は、サーバーを複数用意するだけでなく、監視・データ同期・切り替え・復旧テストまで含めて設計してください。

FAQ

Q.フェイルオーバーと冗長化は同じですか?

同じではありません。冗長化は予備のサーバーや回線などを用意する設計全体、フェイルオーバーは障害時に正常な系へ処理を切り替える動作です。

Q.フェイルオーバーは自動ですか?

構成によります。ヘルスチェックを使った自動フェイルオーバーもあれば、管理者が状況を確認して手動で切り替える構成もあります。

Q.Active-ActiveとActive-Standbyはどちらがよいですか?

一概には言えません。Active-Activeは通常時から複数ノードを活用できますが構成が複雑になりやすく、Active-Standbyは待機リソースが必要になる一方、役割を分けて設計しやすい特徴があります。

Q.フェイルオーバーがあればバックアップはいりませんか?

必要です。フェイルオーバーはサービス継続、バックアップはデータ復元が主目的です。誤削除やデータ破損が待機系にも反映される場合があるため、別のバックアップを用意してください。

Q.WordPressブログにもフェイルオーバーは必要ですか?

一般的な小規模ブログなら、自前で高度なフェイルオーバーを組む必要性は低いでしょう。まず信頼できるレンタルサーバー、自動バックアップ、監視、復旧手順を優先してください。

まとめ

この記事の結論

  • フェイルオーバーは障害時に正常な系へ切り替える仕組み
  • 冗長化は予備を用意する設計、フェイルオーバーは切り替え動作
  • Active-StandbyとActive-Activeなどの構成がある
  • 切り替えは自動・手動の両方がある
  • 停止時間やデータ損失が必ずゼロになるわけではない
  • バックアップとは目的が異なる
  • 小規模サイトでは必要性を事業影響と費用で判断する

フェイルオーバーは、サーバー障害が起きてもサービスを継続しやすくする重要な仕組みです。 ただし、複数台を用意するだけでは成立せず、障害検知・データ同期・切り替え・復旧まで含めて設計する必要があります。 まずは「何時間止まると困るのか」を明確にし、必要な可用性に応じて導入を判断してください。

次に読む

「冗長化とは?サーバー障害対策の基本」「ロードバランサーとは?負荷分散の仕組みを解説」もあわせて確認してください。