一目でわかる!5大安全設計アーキテクチャ
| 設計思想 | 一言で言うと | 身近な例 |
|---|---|---|
| 🚫 フールプルーフ | そもそもミスさせない | 電子レンジの扉インターロック、USB Type-C |
| 🛑 フェイルセーフ | 壊れたら安全側に止まる | 踏切の遮断機、エレベーターの非常ブレーキ |
| ⚡ フェールソフト | 壊れたら機能縮小で継続 | エンジン1基停止でも残りで飛行継続 |
| 🔄 フォールトトレラント | 壊れても予備で正常維持 | RAID、冗長電源、航空機の3重油圧系統 |
| 🔬 フォールトアボイダンス | そもそも壊れない設計 | 半導体クリーンルーム、宇宙機の放射線耐性設計 |
1. フールプルーフ(Fool Proof)──「ミスが起きない」を実現する
フールプルーフとは、「人間が間違った操作をしようとしても、そもそも物理的に実行できない」設計のことです。
身近な例を挙げれば、誰しも毎日フールプルーフの恩恵を受けています。
| 対象 | フールプルーフの仕組み |
|---|---|
| 電子レンジ | 扉を開けた状態では、いくらスタートボタンを押してもマイクロ波が出ない(物理インターロック)。 |
| ATMのカードと現金 | カードを抜き取るまで、現金の取り出し口が開かない(取り忘れ防止)。 |
| SIMカード / USB Type-C | 逆向きには刺さらない形状、あるいは裏表どちらでも挿入可能なシンメトリー構造。 |
| Webフォームの入力制限 | 電話番号欄に全角文字を入力しても送信ボタンが押せず、即座にエラーが出るバリデーション。 |
「間違えないように注意深く入力してください」と注意書きを書くのは下策です。
「間違った値はそもそもシステムが受け付けない」ように制限をかけるのが、上流の設計思想です。
2. フェイルセーフ(Fail Safe)──「壊れたら安全側に倒れる」
フールプルーフが「ミスをさせない」設計だとすれば、
フェイルセーフは「ミスが起きても(あるいは機器が壊れても)、安全側に倒れる」設計です。
| 対象 | フェイルセーフの仕組み |
|---|---|
| 踏切の遮断機 | 信号システムが故障した場合、遮断機は「降りたまま」になる。開きっぱなしにはならない。 |
| エレベーターのブレーキ | ワイヤーが切れた場合、ブレーキが自動的にロックされて急降下を防ぐ。 |
| ガスコンロの立ち消え安全装置 | 炎が消えるとセンサーが検知し、自動的にガスの供給を遮断する。 |
| Webシステムの自動ロールバック | デプロイ直後にエラー率が閾値を超えた場合、自動的に前のバージョンに戻る。 |
🛡️ フールプルーフ vs フェイルセーフ(一言で)
フールプルーフ = ミスが「起きない」ようにする(予防)
フェイルセーフ = ミスや故障が「起きても被害を最小化」する(損害制御)
3. フェールソフト(Fail Soft)──「壊れても機能を縮小して継続する」
フェイルセーフが「止まることで安全を守る」のに対し、
フェールソフトは「一部の機能を犠牲にしてでも、全体としてのサービスを継続する」設計です。
「止められない」システムにこそ、この思想が必要になります。
| 対象 | フェールソフトの仕組み |
|---|---|
| 旅客機のエンジン | 双発機のエンジン1基が停止しても、残り1基で安全に目的地または代替空港まで飛行を継続できる(ETOPS運航)。 |
| 大規模Webサービス | 検索機能が障害を起こしても、閲覧・購入機能は維持する(機能単位のサーキットブレーカー)。 |
| 自動車のリンプモード | エンジンの異常を検知すると、速度を制限しつつも最寄りのサービス拠点まで自走できるモードに移行。 |
| スマートフォンの省電力モード | バッテリー残量が少なくなると、バックグラウンド更新やGPSを停止し、通話とメッセージだけを維持。 |
ポイントは、「何を捨てて何を守るか」を事前に設計していることです。
障害が起きてから慌てて「どうする?」と議論するのではなく、あらかじめ優先順位を決めておく。
これはビジネスにおけるBCP(事業継続計画)の考え方そのものです。
4. フォールトトレラント(Fault Tolerant)──「壊れても予備に切り替え正常維持」
フェールソフトが「機能を縮小して継続する」のに対し、
フォールトトレラントは「故障が起きてもユーザーが気づかないレベルで正常動作を維持する」設計です。
要するに「予備(冗長系)」を持つことです。
| 対象 | フォールトトレラントの仕組み |
|---|---|
| RAID(ディスクの冗長化) | ハードディスクが1台故障しても、残りのディスクからデータを完全に復元でき、サービスは中断しない。 |
| 航空機の3重油圧系統 | 3系統のうち2系統が故障しても、残り1系統で操縦を継続できる。 |
| データセンターの冗長電源 | 商用電源が停電しても、UPS→自家発電機の2段構えで電力供給を維持。 |
| 心臓ペースメーカー | 主回路が故障しても、バックアップ回路が自動的に起動して生命を維持。 |
💡 フェールソフト vs フォールトトレラント
フェールソフト = 壊れたら機能を削って継続(ユーザーは劣化を感じる)
フォールトトレラント = 壊れても予備に切り替え正常維持(ユーザーは気づかない)
コストは後者が圧倒的に高いため、「ここだけは絶対に止められない」という最重要コンポーネントに集中投資します。
5. フォールトアボイダンス(Fault Avoidance)──「そもそも壊れない」を追求する
最後にして最上流の設計思想です。
フォールトアボイダンスは、「故障そのものを起こさせない」ために、設計・製造・運用のあらゆる段階で品質を徹底する考え方です。
| 対象 | フォールトアボイダンスの仕組み |
|---|---|
| 半導体製造のクリーンルーム | 微細なホコリひとつが不良品を生むため、空気中のパーティクル数を極限まで管理。 |
| 宇宙機の放射線耐性設計 | 宇宙空間の放射線でメモリのビットが反転する現象(SEU)を防ぐため、専用の耐放射線チップを使用。 |
| 自動車の耐久テスト | 何万kmもの走行シミュレーションを設計段階で行い、故障が起きる前に部品設計を改善。 |
| ソフトウェアの静的解析 | コードを実行する前に、自動ツールでバグや脆弱性を検出する。「走らせてから直す」のではなく「走らせる前に潰す」。 |
この思想は、前編で紹介したハインリッヒの法則(氷山の水面下にある300件のヒヤリ・ハット)と深く結びついています。
ヒヤリ・ハットが起きる「環境」そのものを改善し、そもそも異常が発生しない状態を作り上げる──それがフォールトアボイダンスの究極の目標です。
5つの設計思想はどう組み合わせるのか?
これら5つの設計思想は「どれか1つを選ぶ」ものではなく、多層的に組み合わせることで真価を発揮します。
🛡️ 5大安全設計アーキテクチャの防御レイヤー
内側から外側へ、防御の層を重ねていく設計思想
最も内側のフールプルーフでミスの発生を阻止し、それでも発生したエラーをフェイルセーフで安全に停止させる。
停止が許されないシステムではフェールソフトで機能縮小し、さらにフォールトトレラントで冗長系に切り替え正常を維持する。
そしてそもそもの故障確率をフォールトアボイダンスで極限まで下げる。
この5層すべてが機能しているシステムこそ、「気をつけます」の精神論を超えた、真に信頼性の高いシステムなのです。