「1個壊れたら全部止まる」場所を、単一障害点(SPOF: Single Point Of Failure)と呼びます。冗長化設計とは、このSPOFを潰していく作業です。基本の考え方をまとめます。
まずSPOFを洗い出す
構成図を見て、「ここが1個壊れたら、通信/サービスが止まるか?」を各要素で問います。
- 回線が1本 → 回線がSPOF
- ルータ/スイッチが1台 → その機器がSPOF
- 電源が1系統 → 電源がSPOF
- サーバが1台 → サーバがSPOF
止まる箇所が見つかったら、そこが冗長化の候補です。
冗長化の基本パターン
- 機器の二重化: ルータ/スイッチ/FWを2台にし、片方が落ちても継続。ゲートウェイはHSRP/VRRPで仮想IPを共有。
- 回線の二重化: 2回線を用意し、片方断で自動切替(フローティングスタティックやBGP)。できれば別事業者・別経路で。
- リンクの二重化: 機器間を2本で束ねる(EtherChannel/LAG)。STPで片方を待機ではなく、両方使えると帯域も稼げる。
- 電源の二重化: 電源ユニット2系統、別々のブレーカー/UPSへ。
- サーバの冗長化: ロードバランサ配下に複数台、またはクラスタ構成。
「1つ壊す」を想定して確かめる
設計だけでなく、「Aを落としたら本当にBへ切り替わるか」を試験で確認します。切り替わったつもりで切り替わらない、片系運転に気づけない、はよくある落とし穴です。
冗長化しても残るSPOFに注意
2台にしても、両方が同じ電源・同じラック・同じ回線に依存していたら、そこが新たなSPOFです。「独立していること」が冗長化の肝です。物理・電源・経路まで分けて初めて本当の冗長化になります。
コストとのバランス
すべてを二重化すれば安全ですが、コストも跳ね上がります。「止まったら困る度合い」に応じて、どこまで冗長化するかを決めるのが設計の腕です。基幹は手厚く、周辺は割り切る、というメリハリが大切です。
まとめ
冗長化設計=SPOFの洗い出しと潰し込み。「1個壊す」を各所で想定し、切替を試験で確かめ、依存の独立性まで見る。派手さはありませんが、止まらないシステムはこの地道な設計から生まれます。