【じょうちょうか】

冗長化 とは?

💡 「壊れても止まらない」を実現するための予備の備え
📌 このページのポイント
フェイルオーバー 稼働系 サーバー 障害! 待機系 サーバー 自動切替 クライアント 引き継ぎ 負荷分散 + N+1冗長 ロード バランサー 稼働① 稼働② 予備+1 N+1 予備を 確保 リクエスト 冗長化の目的:単一障害点(SPOF)をなくし、可用性を高める ・フェイルオーバー: 障害時に待機系へ自動切替 ・負荷分散: ロードバランサーで複数台に分散 + N+1で予備確保
冗長化の仕組み
ひよこ ひよこ

冗長化ってどういうこと?

ペンギン先生 ペンギン先生

システムの一部が壊れても全体が止まらないように、予備を用意しておくことだよ。サーバーを2台用意して片方が落ちてももう片方で動き続ける、ネットワーク回線を2本引いて1本切れても通信できる、みたいなイメージ。

ひよこ ひよこ

どんな方式があるの?

ペンギン先生 ペンギン先生

大きく分けて2つ。アクティブ-スタンバイは1台が稼働して、もう1台は待機。故障したら待機系に切り替わる。アクティブ-アクティブは2台とも同時に稼働して負荷分散しつつ、片方が落ちても残りで処理を続ける。後者のほうが効率的だけど設計は複雑になるよ。

ひよこ ひよこ

全部を冗長化すればいいんじゃないの?

ペンギン先生 ペンギン先生

理想はそうだけど、冗長化にはお金がかかる。サーバーを2台にすればコストは約2倍、ネットワーク回線も2本分の契約がいる。だから「ここが壊れたらビジネスにどれくらい影響があるか」を考えて、重要度の高いところから優先的に冗長化するのが現実的だね。

ひよこ ひよこ

冗長化しておけば絶対に止まらない?

ペンギン先生 ペンギン先生

そう思いたいところだけど、実はそう単純じゃない。たとえばアクティブ-スタンバイで待機系に自動切り替え(フェイルオーバー)する設定にしていても、切り替え自体に数秒〜数分かかったり、切り替わった先のサーバーが実は設定ミスで動かなかったりする。「冗長化してるから大丈夫」と安心して切り替えテストを一度もやっていないシステムが、本番で初めて切り替わろうとして失敗する……というのは実際の障害報告書でよく見るパターンだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「冗長化」って出てきたら「壊れても止まらないように予備を用意することだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「redundancy」 = 余剰・冗長
💬 redundant(余分な)から。日常では「冗長=無駄に長い」とネガティブな意味だけど、ITでは「予備があって安心」というポジティブな意味で使われる
← 用語集にもどる