冗長構成とは

冗長構成(Redundant Configuration)とは、情報システムやネットワークにおいて、単一障害点(Single Point of Failure)を排除し、システム全体の信頼性、可用性耐障害性を高めるために、同じ機能を持つハードウェアやソフトウェアコンポーネント、またはネットワーク経路などを複数用意し、相互にバックアップし合うように設計された仕組みを指します。

これにより、一部の要素に障害が発生しても、システム全体の稼働を継続させることが可能になります。

冗長構成の基本的な概念

冗長構成は、現代のミッションクリティカルなシステムにとって不可欠な設計思想です。システムの「止まらない」性質を強化し、事業継続性を確保する上で極めて重要です。

主な概念は以下の通りです。

  1. 単一障害点(Single Point of Failure: SPOF): システム内で、そのコンポーネントに障害が発生すると、システム全体が停止してしまうような箇所のことです。冗長構成は、この単一障害点を排除することを最大の目的とします。
  2. 可用性(Availability): システムが稼働可能である時間の割合を示す指標です。冗長構成は、障害発生時にもサービスを継続させることで、システムの可用性を高めます。
  3. 信頼性(Reliability): システムが所定の期間、所定の条件下で、故障することなく要求された機能を実行し続ける能力です。冗長構成は、個々のコンポーネントの信頼性が完璧でなくても、システム全体としての信頼性を向上させます。
  4. 耐障害性(Fault Tolerance): システムの一部に障害が発生しても、システム全体がその機能を維持し続ける能力です。冗長構成は、フォールトトレランスを実現するための重要な手段です。
  5. フェイルオーバー(Failover): 稼働中のシステムコンポーネントに障害が発生した場合に、自動的に待機系(スタンバイ)のコンポーネントに処理を引き継ぐ(切り替える)機能です。
  6. リカバリポイント目標(Recovery Point Objective: RPO): 障害発生時に許容されるデータ損失の最大量です。冗長構成は、データレプリケーションなどを通じてRPOを最小化するのに役立ちます。
  7. リカバリ時間目標(Recovery Time Objective: RTO): 障害発生からシステムが完全に復旧するまでに許容される最大時間です。冗長構成は、フェイルオーバー機能によりRTOを大幅に短縮できます。

冗長構成の主な種類と方式

冗長構成は、どのコンポーネントを、どのように重複させるかによって、様々な方式が存在します。

1. ハードウェア冗長化

システムを構成する物理的な機器(サーバー、ストレージ、ネットワーク機器、電源など)を二重化または多重化する方式です。

  • サーバー冗長化:
    • アクティブ・スタンバイ(Active-Standby / Hot Standby): 1台のサーバーが稼働系(アクティブ)としてサービスを提供し、もう1台のサーバーが待機系(スタンバイ)として稼働系の状態を同期しながら待機します。稼働系に障害が発生すると、自動的にスタンバイ系に切り替わります。切り替え時間は通常短いですが、スタンバイ系は通常時にリソースを有効活用できない欠点があります。
    • アクティブ・アクティブ(Active-Active): 複数のサーバーが同時に稼働系としてサービスを提供し、ロードバランサーなどによって負荷を分散します。1台に障害が発生しても残りのサーバーでサービスを継続でき、通常時のリソース利用効率も高いですが、データの一貫性やセッション管理が複雑になることがあります。
    • N+1冗長: 必要なサーバー台数Nに対し、予備を1台追加する方式です。
    • N+M冗長: 必要なサーバー台数Nに対し、予備をM台追加する方式です。
  • ストレージ冗長化:
    • RAID(Redundant Array of Independent Disks): 複数のハードディスクを組み合わせて冗長性を確保し、データ保護と性能向上を図る技術です。RAID 1(ミラーリング)、RAID 5、RAID 6などが代表的です。
    • ストレージレプリケーション: データを別のストレージデバイスやサイトに複製し、障害時にデータの一貫性を保ちながら切り替える仕組みです。
  • ネットワーク機器冗長化: ルーター、スイッチ、ファイアウォールなどのネットワーク機器を二重化し、経路の多重化やVRRP (Virtual Router Redundancy Protocol) などのプロトコルを利用して耐障害性を高めます。
  • 電源冗長化: UPS (Uninterruptible Power Supply: 無停電電源装置) の二重化、電力供給ルートの多重化、自家発電装置の設置などにより、電力供給の安定性を確保します。

2. ソフトウェア冗長化

同じ機能を持つソフトウェアコンポーネント(アプリケーション、データベースなど)を複数用意し、障害発生時に代替できるようにする方式です。

  • データベースレプリケーション: データベースの内容をリアルタイムまたは定期的に別のサーバーに複製し、障害発生時のデータ損失を最小限に抑え、迅速な復旧を可能にします。
  • アプリケーションのクラスタリング: 複数のアプリケーションサーバーをグループ化し、互いに監視し合いながら協調動作させることで、一部のアプリケーションに障害が発生してもサービスを継続させます。
  • 仮想化環境での冗長化: 仮想マシン(VM)のライブマイグレーション、HA (High Availability) 機能、FT (Fault Tolerance) 機能などを利用し、基盤となる物理サーバーの障害からVMを保護します。

3. ネットワーク経路冗長化

インターネット回線やLANの物理ケーブル、通信機器のポートなどを複数用意し、経路の途絶によるサービス停止を防ぎます。

  • マルチホーミング: 複数のISP(インターネットサービスプロバイダ)と接続することで、特定のISPに障害が発生しても通信を継続できるようにします。
  • 経路多重化: 複数の物理ケーブルや論理的な経路を設定し、一つの経路が利用できなくなっても別の経路に切り替えられるようにします。

冗長構成のメリットとデメリット

メリット

  • 高可用性の実現: 障害発生時にもサービスが停止することなく継続するため、ダウンタイムを最小限に抑えられます。
  • 信頼性の向上: システム全体の安定稼働を保証し、ビジネスの継続性を高めます。
  • 耐障害性の強化: 一部のコンポーネントに障害が発生しても、システム全体が機能を維持できます。
  • データ保護の強化: ストレージやデータベースの冗長化により、データ損失のリスクを大幅に低減します。
  • 災害耐性: 遠隔地への冗長構成(ディザスタリカバリ)を組み合わせることで、大規模災害時にもサービス継続が可能になります。

デメリット

  • コストの増加: ハードウェア、ソフトウェアライセンス、ネットワーク、電力、設置スペースなど、あらゆる面で初期導入コストおよび運用コストが増大します。
  • 複雑性の増加: システム構成が複雑になり、設計、導入、運用、監視、トラブルシューティングがより困難になります。特に、複数のコンポーネント間の同期や切り替えロジックの管理は大きな課題です。
  • シングルポイントオブアタック(SPOA)のリスク: 冗長化されたシステムに共通の脆弱性や設定ミス、または設計上の欠陥が存在する場合、冗長化が機能せず、すべてのコンポーネントが同時に影響を受ける可能性があります。
  • テストの複雑性: フェイルオーバーやフェイルバック、データ復旧など、冗長構成特有のシナリオに対する網羅的なテストは非常に複雑で、時間とリソースを要します。

冗長構成(Redundant Configuration)とは、システムの単一障害点を排除し、信頼性、可用性、耐障害性を高めるために、ハードウェア、ソフトウェア、ネットワーク経路などのコンポーネントを複数用意し、相互にバックアップし合う仕組みです。

アクティブ・スタンバイ、アクティブ・アクティブといったサーバー冗長化、RAIDやレプリケーションによるストレージ冗長化、ネットワーク機器の二重化など、多岐にわたる方式が存在します。

冗長構成は、高可用性の実現やデータ保護の強化といった大きなメリットをもたらす一方で、導入・運用コストの増加やシステム管理の複雑化といったデメリットも伴います。したがって、ビジネスの要件(RPO/RTO)、予算、運用体制などを総合的に考慮し、最適な冗長化レベルと方式を選択・設計することが、安定したITサービスを構築する上で不可欠です。

関連用語

可用性 | 今更聞けないIT用語集
耐障害性 | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。