フォールトトレラントとは?耐障害性の仕組みと高可用性・フェイルオーバーとの違いを実装目線で解説
フォールトトレラントとは、構成する機器やソフトウェアの一部が故障しても、システム全体を止めずに機能を保ち続ける設計のことです。日本語では「耐障害性」と訳され、故障そのものを完全には防げないという前提に立ち、故障が起きても稼働を続けられる仕組みをあらかじめ組み込んでおく考え方を指します。この記事で扱うのは、フォールトトレラント(フォールトトレランス)の定義と、混同されがちなフォールトアボイダンス・フェールセーフ・フェールソフト・フォールバックとの違いです。あわせて、高可用性(HA)やフェイルオーバーとの線引き、ハードウェアの多重化やクラウドでのマルチAZ構成による実装、そして常時二重実行の重い方式をどんな業務システムで採用し、どんな場面では高可用性で足りるのかまでを、インフラを設計・運用する担当者の視点で掘り下げます。
目次
まとめ:フォールトトレラントの意味と採用判断の軸
フォールトトレラントの核心は「壊れないこと」ではなく「壊れても止まらないこと」にあります。どんな機器もいつかは故障する前提に立ち、同じ役割の部品を二重・三重に持たせて、片方が倒れても残りで処理を引き継ぐ。この冗長化によって、単一障害点(SPOF)をなくし、利用者から見て停止していない状態を保ちます。似た言葉の高可用性(HA)が「短い切替時間は許して稼働率を上げる」設計なのに対し、狭義のフォールトトレラントは「切替の瞬間すら止めない」ノンストップを目指す、より踏み込んだ方式だと捉えると区別がつきます。
実装で判断が要るのは、どこまでの無停止を本当に必要とするかです。金融の決済、医療機器、製造ラインの制御、航空・通信の基盤のように、一瞬の停止が人命や巨額の損失に直結するシステムなら、常時二重実行のフォールトトレラント構成が見合います。一方、多くの業務システムは、数秒から数分の切替を許容できる高可用性構成(クラウドの複数アベイラビリティゾーン+自動フェイルオーバー)で目標を満たせ、常時二重化はコスト過剰になりがちです。まず稼働率の目標を数値で決め、それに見合う方式を選ぶ――以下で、定義から実装、採用の線引きまでを順に見ていきます。
フォールトトレラントとは何か耐障害性の定義と設計の目的を整理する
フォールトトレラントは「fault(故障)+tolerant(耐える)」という語のとおり、故障に耐える性質を指します。まず、この考え方が何を守ろうとしているのか、なぜ多くのシステムで求められるのかを押さえます。
フォールトトレランス(耐障害性)の定義と障害に耐える基本的な考え方
フォールトトレランスの定義は、システムの一部に障害(fault)が発生しても、全体としての機能を維持し続ける能力、というものです。名詞形の「フォールトトレランス」が性質・概念を指し、「フォールトトレラントなシステム」のように形容詞的に使うのが「フォールトトレラント」です。実務ではほぼ同じ意味合いで用いられます。
核心にあるのは、部品は必ず壊れるという割り切りです。ハードディスク、電源、ネットワーク機器、サーバーそのもの――どれも故障率はゼロにできません。そこで、同じ役割の要素を複数用意しておき、一つが倒れても残りが処理を肩代わりする。この冗長構成によって、個々の故障をシステム全体の停止に波及させないのがフォールトトレラントの狙いです。冗長化の具体的な種類や構成は冗長化とは?二重化との違い・種類と構成、企業の設計判断まで解説【2026年版】で詳しく扱っています。
なぜ耐障害性が求められるのか単一障害点(SPOF)を排除する意義
耐障害性が問われる根っこには、単一障害点(SPOF:Single Point Of Failure)の問題があります。SPOFとは、そこが1か所壊れるだけでシステム全体が止まってしまう箇所のことです。電源が1系統しかないサーバー、経路が1本しかないネットワーク、代替のない1台のデータベース――こうした急所を残したままでは、どれだけ他を作り込んでも全体の可用性はその1点で決まってしまいます。
フォールトトレラントな設計は、この急所を一つずつ潰していく作業に等しいと言えます。電源を二重化し、ネットワーク経路を複数持ち、データを別の場所へ複製する。こうしてSPOFを消していくと、システムの稼働率(アップタイム)が上がります。稼働率をどう数値で管理し、どこまで引き上げるかという設計は可用性とは?稼働率の計算と高可用性の設計をインフラ実装目線で解説【2026年版】で整理しており、フォールトトレラントはその可用性を極限まで高めるための一手法という位置づけになります。
フォールトトレラントと混同しやすい類似用語との違いを整理する
耐障害性の周辺には、似た響きの用語が多く、試験や設計の現場で取り違えが起きがちです。フォールトアボイダンス、フェールセーフ、フェールソフト、フォールバック、そして高可用性やフェイルオーバー――それぞれの立ち位置を切り分けます。
フォールトアボイダンス・フェールセーフ・フェールソフトとの違い
まず対になる考え方が、フォールトアボイダンス(fault avoidance:故障回避)です。これは高品質な部品や十分な検証によって、そもそも故障が起きる確率を下げる方向のアプローチを指します。故障は起きる前提で耐えるフォールトトレランスとは、真逆の発想です。現実の設計では、故障率を下げるフォールトアボイダンスと、起きた故障に耐えるフォールトトレランスを組み合わせて可用性を作ります。
フェールセーフとフェールソフトは、故障が起きた「後」の振る舞い方の違いです。整理すると次のようになります。
| 用語 | 故障時の振る舞い | 例 |
|---|---|---|
| フォールトトレラント | 機能を保ち稼働継続 | 二重化で無停止 |
| フェールソフト | 機能を縮退し継続 | 一部停止で運転 |
| フェールセーフ | 安全な側で停止 | 信号を赤で固定 |
| フォールバック | 代替手段へ切替 | 予備系で縮退運転 |
フェールセーフは、故障したら被害の少ない安全な状態へ倒す考え方で、止めてでも安全を優先します。フェールソフトは、故障部分を切り離して機能を落としながらも動かし続ける(縮退運転)方向です。フォールバックはその縮退運転へ切り替える動作を指します。これらに対しフォールトトレラントは、機能を落とさず今までどおり稼働させることを理想とする、最も踏み込んだ立場だと整理できます。
高可用性(HA)やフェイルオーバーとの違いと線引きを整理する
実務でとりわけ混同されるのが、高可用性(HA:High Availability)との違いです。両者はどちらも稼働を続けることを目指しますが、停止時間の扱いが異なります。高可用性は、待機系への切替に伴う数秒から数分の短い停止を許容したうえで、年間の稼働率を高く保つ設計です。対して狭義のフォールトトレラントは、その切替の瞬間すら止めない――ダウンタイムを限りなくゼロに近づけるノンストップを狙います。
フェイルオーバーは、この文脈で使われる具体的な技術です。稼働中の主系(アクティブ)に異常が起きたとき、待機していた予備系(スタンバイ)へ自動で処理を切り替える仕組みを指します。フェイルオーバーは高可用性を実現する代表的な手段であり、切替に短い時間を要します。フォールトトレラントは、複数の系を常に同時に走らせて(ロックステップ)切替という概念すら無くすことで、この待ち時間を消す点が違いです。可用性・稼働率・フェイルオーバーの関係は可用性とは?稼働率の計算と高可用性の設計をインフラ実装目線で解説【2026年版】で体系立てて解説しています。
フォールトトレラントの実装方式をハードウェアからクラウドまで解説
耐障害性は、どの層で冗長を持たせるかで実装が変わります。ここでは、専用ハードウェアで実現する伝統的な方式と、クラウド上でソフトウェア的に組む現在の主流とを分けて見ていきます。
ハードウェアの多重化と多数決(TMR)による無停止サーバーの構成
古典的なフォールトトレラントは、ハードウェアの多重化で実現します。無停止サーバーと呼ばれる製品は、CPU・メモリ・電源・ファン・ディスクといった主要部品をすべて二重に持ち、両系が同じ処理を同時に実行します(ロックステップ)。片方が故障しても、もう片方がそのまま処理を続けるため、利用者から見て停止が発生しません。故障した部品は稼働したまま交換できる設計が一般的です。
さらに信頼性を求める分野では、多数決による三重化が採られます。TMR(Triple Modular Redundancy:三重モジュール冗長)は、同じ処理を3系統で並行実行し、出力を多数決で決める方式です。1系統が誤った結果を出しても、残る2系統の一致した結果を採用することで、故障や一時的な誤動作の影響を打ち消します。宇宙機、航空機の制御、原子力や鉄道の安全システムといった、誤りが許されない領域で用いられる考え方です。ただし機器を丸ごと複数持つため、コストは単純な構成の数倍に膨らみます。
クラウドでの冗長化(マルチAZ・ヘルスチェック・自動復旧)の実装
現在の一般的なシステムでは、専用ハードウェアではなく、クラウドの機能を組み合わせてソフトウェア的に耐障害性を作るのが主流です。中心となるのが、地理的に分離した複数のアベイラビリティゾーン(AZ)への分散配置です。同じ役割のサーバーを複数のAZに置き、1つのゾーンがデータセンター単位で停止しても、別ゾーンのサーバーで処理を継続します。
この構成を支えるのが、ロードバランサーのヘルスチェックと自動復旧です。ロードバランサーは各サーバーの生死を定期的に監視し、応答しなくなったサーバーを振り分け先から自動で外します。オートスケールが最小台数を保つように新しいサーバーを立ち上げ、データベースはマルチAZ構成をとって異常時には予備系へ自動でフェイルオーバーする仕組みです。加えて、呼び出し先の障害が全体へ連鎖するのを断つサーキットブレーカーとは?マイクロサービスの障害連鎖を止める仕組みと実装・導入判断を解説のような仕組みを組み合わせ、部分的な故障をシステム全体の停止に波及させない構造にします。こうした水平方向の冗長化は、同じ役割のサーバーを並べて広げるスケールアウトとスケールアップとは?水平・垂直スケーリングの違いと実装・使い分けを実装目線で解説【2026年版】の設計が土台になります。
フォールトトレラントを採用すべき場面と高可用性で足りる場面の判断
ここからは判断を言い切ります。常時二重実行の重いフォールトトレラント構成を選ぶか、切替時間を許容する高可用性で足りるかは、好みではなく、停止がもたらす損害の大きさと、許容できるダウンタイムの数値で決まる話です。玉虫色にせず、条件を切って結論します。
常時二重実行のフォールトトレラント構成を採用すべき条件の見極め
次のいずれかに当てはまるなら、切替すら許さないフォールトトレラント構成が見合います。第一に、一瞬の停止が人命や安全に直結するシステム。医療機器、航空管制、鉄道や工場の制御など、止まること自体が事故になる領域です。第二に、短時間の停止でも損害が巨額になるシステム。証券取引や決済のように、秒単位の停止が甚大な金銭的損失を生む用途が該当します。第三に、規制や契約で無停止が要件として明記されている場合です。
これらでは、無停止サーバーやTMRのような常時多重実行を軸に据え、稼働率を99.999%(年間の停止が数分程度)といった水準へ引き上げます。もっとも、こうした構成は設計の難度もコストも高く、独力で組むのは負担が大きい領域です。どのシステムにどの水準の冗長を持たせるかという設計から相談したい場合は、AWS・Google Cloud・Azureを用いたインフラ構築・運用の相談窓口で、可用性要件の整理と構成設計をあわせて依頼できます。
高可用性やフェイルオーバーで足りる場面と過剰投資を避ける見極め
一方、多くの業務システムでは、常時二重実行までは要りません。社内の基幹システム、ECサイト、Webサービスの大半は、数秒から数分の切替を許容できます。この帯なら、クラウドのマルチAZ配置+自動フェイルオーバーによる高可用性構成で目標稼働率を満たせ、常時同期の重い方式を持ち込むのは過剰投資になります。判断の起点は、業務が何分の停止まで耐えられるかという目標(SLO)を先に数値で決めることです。
失敗パターンも挙げておきます。多いのは、稼働率の目標を定めないまま「とにかく止めたくない」と最上位の構成を選び、費用対効果に見合わない投資をしてしまうケースです。逆に、SPOFを見落としたまま冗長化したつもりになり、電源やネットワーク経路の1点で全体が止まる構成も少なくありません。まず許容ダウンタイムを数値化し、SPOFを洗い出し、その水準に見合う冗長だけを持たせる。この順で組むと、耐障害性への投資が過不足なく収まります。
フォールトトレラントの意味・違い・実装に関するよくある質問と回答
フォールトトレラントの検討でよく挙がる疑問を、実装と判断の観点から5つ取り上げます。
フォールトトレラントとフォールトトレランスの違いは何ですか?
指す対象はほぼ同じで、品詞が違うだけです。フォールトトレランス(fault tolerance)は「耐障害性」という性質・概念を表す名詞です。フォールトトレラント(fault tolerant)はその性質を備えていることを表す形容詞で、「フォールトトレラントなシステム」のように使います。実務では両者を厳密に区別せず、どちらも「故障に耐えて稼働を続ける仕組み」という意味で用いて差し支えありません。
フォールトトレラントと高可用性(HA)はどう違いますか?
停止時間の扱いが違います。高可用性は、待機系への切替に伴う数秒から数分の短い停止を許容したうえで、年間の稼働率を高く保つ設計です。狭義のフォールトトレラントは、複数の系を常に同時に走らせることで、その切替の瞬間すら止めないノンストップを目指します。フォールトトレラントの方が停止を許さない分、構成もコストも重くなるため、必要な無停止の水準に応じて使い分けます。
フォールトトレラントとフェイルオーバーの関係は?
フェイルオーバーは、主系の異常時に予備系へ自動で切り替える技術で、耐障害性を実現する手段の一つです。フェイルオーバーには切替のための短い時間がかかります。フォールトトレラントは、系を常時並行実行して切替という概念自体を無くすことで、この待ち時間を消し去る、より上位の目標だと捉えると関係が整理しやすいです。多くの高可用性構成はフェイルオーバーで実現されます。
クラウドでフォールトトレラントを実現するにはどうしますか?
複数のアベイラビリティゾーン(AZ)へサーバーを分散配置し、ロードバランサーのヘルスチェックで異常なサーバーを自動で切り離すのが基本です。オートスケールで最小台数を保ち、データベースはマルチAZ構成で予備系へ自動フェイルオーバーさせます。さらに障害の連鎖を断つサーキットブレーカーなどを組み合わせ、部分的な故障を全体の停止に波及させない構造にします。専用ハードウェアを持たずに高い耐障害性を組める点が、クラウドで実装する利点です。
フォールトトレラントのデメリットは何ですか?
最大のデメリットはコストです。同じ機能を二重・三重に持つため、機器やクラウド資源の費用が単純な構成の数倍に膨らみます。設計・運用の難度も上がり、冗長構成そのものの複雑さが新たな障害要因になることもあります。加えて、切替すら許さない構成は多くの業務システムにとって過剰です。許容できるダウンタイムを数値で決め、その水準に見合う範囲でだけ冗長を持たせる見極めが、費用対効果を左右します。
関連記事
- 可用性とは?稼働率の計算と高可用性の設計をインフラ実装目線で解説【2026年版】:フォールトトレラントが高める稼働率の測り方と、高可用性設計の全体像を整理しています。
- 冗長化とは?二重化との違い・種類と構成、企業の設計判断まで解説【2026年版】:耐障害性の土台となる冗長構成の種類と、どこまで二重化するかの判断を扱っています。
- サーキットブレーカーとは?マイクロサービスの障害連鎖を止める仕組みと実装・導入判断を解説:クラウドで部分的な故障を全体へ波及させないための、ソフトウェア側の仕組みを解説しています。
- スケールアウトとスケールアップとは?水平・垂直スケーリングの違いと実装・使い分けを実装目線で解説【2026年版】:同じ役割のサーバーを並べて冗長を作る、水平スケールの設計を掘り下げています。