戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

システムアーキテクト 2021年 午前223


問題文

フォールトトレランスに関する記述のうち、適切なものはどれか。

選択肢

ソフトウェアの不具合によるシステム故障のようなソフトウェアフォールトに対処した設計を、フェールソフトと呼ぶ。
フェールセーフはフォールトトレランスに含まれるが、フェールソフトは含まれない。
フォールトトレランスの実現方法として、システム全体の二重化がある。(正解)
フォールトトレランスは、システムを多重化することなく、故障の検出から回復までの時間をゼロにすることである。

🔒 解説は解答すると表示されます

フォールトトレランス【午前2解説】

正解の理由

フォールトトレランスは「故障が発生してもシステム全体として所定の機能を維持する」ことを目指す設計思想であり、その代表的手法が冗長化(多重化)です。システム全体の二重化や多重化により、ある構成要素が故障しても別の要素に切り替えてサービスを継続できるため、選択肢の中で正しいのは (システム全体の二重化がある)です。
重要な点として、フェールソフト(機能を限定して継続する方式)はフォールトトレランスの実現手法の一つに含まれますが、フェールセーフ(故障時に安全側へ移行する設計思想)は必ずしもフォールトトレランスに含まれる概念ではありません。フェールセーフは「安全確保」が主目的であり、動作継続を保証する手法とは別の位置づけであることに注意してください。

解法ステップ

  1. 問題文の主語「フォールトトレランス」の定義を頭に置く(故障発生時にも機能を維持する設計)。
  2. 各選択肢がその定義に一致するか確認する:冗長化(多重化)はフォールトトレランスの代表手段であるか。
  3. フェールソフト/フェールセーフの意味を正確に判定する(どちらがフォールトトレランスに含まれるか誤認しやすい点を確認)。
  4. 「ゼロ時間で回復する」など現実的でない記述は除外する。
  5. 上記をもとに最も妥当な選択肢を選ぶ()。

選択肢別の誤答解説

  • ア: 「ソフトウェアの不具合によるシステム故障のようなソフトウェアフォールトに対処した設計を、フェールソフトと呼ぶ。」
    • 誤り。フェールソフト(fail-soft)は故障時に機能を限定してでも動作を継続する設計を指し、ソフトウェア故障に限定された用語ではありません。ハードウェア故障や資源不足時の「劣化動作(degraded mode)」もフェールソフトに該当します。
  • イ: 「フェールセーフはフォールトトレランスに含まれるが、フェールソフトは含まれない。」
    • 誤り。フェールソフトはフォールトトレランスの実現手法の一つとして扱われます。一方、フェールセーフは故障時に安全側へ移行する設計思想であり、必ずしもシステムの継続性(フォールトトレランス)を目的とするものではありません。従ってこの包含関係は逆または不適切です。
  • ウ: 「フォールトトレランスの実現方法として、システム全体の二重化がある。」
    • 正しい。冗長化(例:二重化、N重化、クラスタリング、ホットスタンバイ)はフォールトトレランスを実現する代表的な手段です。故障が起きた構成要素を別の冗長要素で代替して継続稼働させます。
  • エ: 「フォールトトレランスは、システムを多重化することなく、故障の検出から回復までの時間をゼロにすることである。」
    • 誤り。フォールトトレランスは通常、冗長化(多重化)を用いることで実現されます。また、故障検出から回復までの時間を厳密にゼロにすることは現実的に不可能であり、目的は「許容可能なサービス継続性」の確保です。

よくある誤解

  • フェールセーフ=フォールトトレランス:フェールセーフは「安全を優先して停止させる」設計であり、必ずしもサービス継続(冗長化)を目指すフォールトトレランスとは別の考え方です。
  • 冗長化すれば回復時間がゼロになる:冗長化でフェイルオーバーは短縮できるが、切替時間・同期遅延・状態復旧などによりゼロにはならない点を見落としがちです。
  • フェールソフトはソフトウェア限定の概念:フェールソフトはソフト・ハードを問わず「機能を限定して継続」を意味します。

補足コラム

フォールトトレランス実装の代表例:
  • ハードウェア冗長化:二重化(2重化)、N-modular redundancy(例えばトリプル冗長化+多数決による誤り訂正)。
  • クラスタリング:アクティブ-スタンバイ(ホットスタンバイ)やアクティブ-アクティブ構成。
  • ストレージ冗長化:RAID(ミラーリングやパリティ)。
  • ソフトウェア設計:フェールソフトによる劣化運用(例:一部機能を停止してコア機能を維持)。 フェールセーフの実例:鉄道の信号が故障したら信号を「停止」に保つ、原子炉のSCRAM(自動停止)など。目的が「安全の確保」である点が特徴です。

FAQ

Q. フェールセーフはフォールトトレランスの一部になり得ますか? A. ケースバイケースです。システム要件として安全と継続性の両方が必要な場合、フェールセーフ的な対策と冗長化を組み合わせることがありますが、フェールセーフ自体は「安全確保」が主目的で、必ずしもフォールトトレランスに含まれる概念ではありません。
Q. フェールソフトとフェールセーフ、試験ではどう区別すればよいですか? A. フェールソフト=機能を限定してでも継続(可用性寄り)。フェールセーフ=故障時は安全側へ(安全性寄り)。出題文で「継続」か「安全優先」かを見分けて判断してください。
Q. 「二重化」と「部分的な二重化」は同じ意味ですか? A. 全体を二重化する(システム全体の二重化)と、重要な部分だけを二重化する(部分冗長化)は異なります。試験では「システム全体の二重化」=フォールトトレランスの明確な手段として正しい表現です。

関連キーワード: フォールトトレランス、冗長化、二重化、フェールソフト、フェールセーフ、フェイルオーバ、クラスタリング、RAID、N冗長性
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

システムアーキテクト
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について