---
title: "フォールトトレラントとは？フェールソフト・フェールセーフとの違い【基本情報技術者試験】"
description: "フォールトトレラントシステムを、一部が故障しても必要な機能を維持する仕組みとして整理します。フェールソフト、フェールセーフ、フールプルーフ、バックアップサイト、デュアルシステムとの違いを、基本情報技術者試験の判断軸で解説します。"
last_modified_at: "2026-07-17"
canonical_url: "https://stemtazoo.github.io/fe/fault-tolerant-system/"
section: "fe"
---

## まず結論

フォールトトレラントシステムとは、**システムの一部に故障が発生しても、システム全体として必要な機能を維持する仕組み**です。

基本情報技術者試験では、次の表現が判断の合図になります。

```text
一部が故障しても
必要な機能を維持する
→ フォールトトレラント
```

大切なのは、故障そのものを完全に防ぐことではありません。

```text
故障は起こり得る
↓
予備系や別の構成要素へ切り替える
↓
サービス全体を止めない
```

## 直感的な説明

フォールトトレラントは、車のタイヤが1本損傷しても、すぐに完全停止しないような考え方です。

システムでは、同じ役割を持つ装置や経路を複数用意しておきます。

```text
通常系が故障
↓
待機系へ切替え
↓
必要な処理を継続
```

例えば、サーバを2台用意している場合を考えます。

```text
サーバA：稼働中
サーバB：待機中
```

サーバAが故障したときに、サーバBへ自動的に切り替われば、利用者はサービスを使い続けられます。

このように、**一部の故障をシステム全体の停止へ広げない**ことがポイントです。

## 定義・仕組み

フォールトトレラントは、英語では `fault tolerant` と表します。

```text
fault
→ 故障

tolerant
→ 耐えられる
```

つまり、故障が発生しても耐えられる設計です。

代表的な実現方法には、次のようなものがあります。

| 方法 | 内容 |
|---|---|
| サーバの冗長化 | 同じ役割のサーバを複数用意する |
| RAID | 複数のディスクを組み合わせて故障に備える |
| 電源の二重化 | 電源装置の一方が故障しても運転を続ける |
| 通信経路の多重化 | 一方の経路が使えなくても別経路へ切り替える |
| 待機系への切替え | 稼働系の故障時に予備系を動かす |

ここで、**冗長化は手段、フォールトトレラントは目的・考え方**として切り分けます。

```text
冗長化
→ 同じ役割の機器や経路を複数用意する方法

フォールトトレラント
→ 故障しても必要機能を維持する設計思想
```

## 科目Aでどう出る？

科目Aでは、フォールトトレラントの説明を、似た仕組みの中から選ぶ問題として出やすいです。

判断するときは、選択肢が何をしているかを確認します。

| 選択肢の内容 | 該当する考え方 |
|---|---|
| 一部が故障しても必要機能を維持する | フォールトトレラント |
| 機能や性能を落として運転を続ける | フェールソフト |
| 故障時に安全な状態へ移行する | フェールセーフ |
| 利用者が誤操作しにくい設計にする | フールプルーフ |
| 遠隔地に予備設備を用意する | バックアップサイト・災害対策 |
| 同じ処理を並行実行して結果を照合する | デュアルシステム |

特に、次の一文を覚えておくと切りやすいです。

> **一部が故障しても全体を動かすなら、フォールトトレラント。**

## どんな場面で使う？

フォールトトレラントは、停止すると影響が大きいシステムで使われます。

例えば、次のような場面です。

- 金融機関のオンラインシステム
- 交通や電力などの社会インフラ
- 工場の制御システム
- ECサイトやクラウドサービス
- 医療機器や監視システム

これらのシステムでは、一つの機器の故障だけで全体が停止すると、大きな損失や安全上の問題につながります。

そのため、

```text
故障を検知する
↓
故障箇所を切り離す
↓
予備系へ切り替える
↓
必要な機能を継続する
```

という設計が使われます。

## よくある誤解・混同

### フォールトトレラントとフェールソフト

どちらも、故障後も動作を続ける考え方です。

ただし、機能の維持方法が異なります。

```text
フォールトトレラント
→ 必要な機能を維持して継続

フェールソフト
→ 性能や機能を落として継続
```

例えば、一部のサーバが故障しても通常どおり処理できるなら、フォールトトレラントです。

一方、重要度の低い機能を停止し、必要最小限のサービスだけ続けるならフェールソフトです。

### フォールトトレラントとフェールセーフ

この2つは、故障後の優先事項が違います。

```text
フォールトトレラント
→ 動作継続を優先

フェールセーフ
→ 安全確保を優先
```

踏切や信号設備で故障が起きたとき、安全側へ移行して停止させる考え方はフェールセーフです。

### フォールトトレラントとフールプルーフ

```text
フォールトトレラント
→ 機器やシステムの故障に備える

フールプルーフ
→ 人の誤操作に備える
```

電子レンジの扉が開いていると動かない仕組みは、フールプルーフの例です。

### バックアップサイトとの違い

遠隔地に予備設備を用意して災害時に切り替える仕組みは、ホットサイトやコールドサイトなどのバックアップサイトです。

```text
機器の部分故障に備える
→ フォールトトレラント

地域的な災害や拠点喪失に備える
→ バックアップサイト
```

### デュアルシステムとの違い

デュアルシステムは、複数のコンピュータで同じ処理を並行して行い、結果を照合する方式です。

デュアルシステムはフォールトトレラントを実現する具体的な方法の一つになり得ますが、両者は同じ意味ではありません。

```text
広い考え方
→ フォールトトレラント

具体的な実現方式
→ デュアルシステム
```

## まとめ（試験直前用）

- 一部が故障しても必要な機能を維持するのがフォールトトレラント
- 冗長化は実現手段、フォールトトレラントは設計思想
- 機能を落として継続するのはフェールソフト
- 安全な状態へ移行するのはフェールセーフ
- 人の誤操作を防ぐのはフールプルーフ
- 遠隔地の予備設備はバックアップサイト

試験直前には、次の一文で整理します。

> **動かし続けるならフォールトトレラント、安全に止めるならフェールセーフ。**
