冗長構成とは?必要とされている理由やメリット・種類について解説

冗長構成とは?必要とされている理由やメリット・種類について解説

IT化が進む現代において、システムの停止は死活問題です。自然災害やサーバの故障など、不測の事態が生じた時にも、システムの運用を止めることなく早期復旧できるような仕組みを作っておく必要があります。その方法として最も効果的なのは、システムを「冗長構成」にすることです。本記事では、冗長構成をわかりやすく説明し、冗長構成が必要な理由や、冗長化技術の種類・仕組みについても詳しく解説します。

目次

冗長構成とは 

冗長構成とは、システム障害などに備えて予備装置を複数用意しておく構成のことです。障害の発生時にシステムの運用を継続できるようにすることが目的です。冗長構成にすることを「冗長化」といいます。

冗長構成において、メインとなって通常時から稼働している方は「現用系(稼動系、主系)」、予備の方は「待機系(予備系、従系)」などと呼ばれています。

また、待機系にも電源を入れた状態(=ホットな状態)でスタンバイさせておく方式を「ホットスタンバイ」といいます。現用系と待機系は常に同じ状態にしておき、現用系に異常が発生すると待機系が瞬時に処理を引き継ぎます。障害時に数秒~数分程度と瞬時の切り替えが可能な点がメリットである反面、待機系に常に電源を入れて同期させておくため運用コストが高い、サーバをクラスタ化するためのソフトウェアなどが必要なため環境構築のコストが高いという点でデメリットです。

一方で、待機系には電源を入れずに(=コールドな状態)スタンバイさせておき、障害時だけ電源を入れる方式を「コールドスタンバイ」といいます。待機系に電源を入れて同期させておく必要がないため運用コストが低く、またホットスタンバイに比べてシンプルな構成のため構築コストが低い点がメリットです。しかし、現用系に異常が発生してから待機系を稼働させるため切り替えが遅く、数日~数週間程度かかる点はデメリットといえます。

一般的に、金融機関のシステムのような一瞬の停止も許されないシステムではホットスタンバイ、復旧に時間がかかっても許容できるシステムではコールドスタンバイを用いることが多いです。

冗長構成が必要とされている理由 

様々なシステムや機器を接続する基盤となるネットワークは、常に通信可能な状態を維持することが求められます。仮にネットワーク機器や設備に何らかの障害が発生した場合には、顧客や取引先にも影響が及ぶだけでなく、社会的信用を失ってしまうことにも繋がりかねません。

そのため、もし問題が発生してしまったとしても、通信が切断しないように別の経路も用意しておくことが必要なのです。

冗長構成のメリット

ネットワークを冗長構成にする主なメリットは、通信切断のリスクを回避できる点です。

冗長構造を取っていれば、一部の通信環境で問題が発生しても、予備の経路を使って通信を切断することなく復旧作業が可能になるので、その影響を最小限に抑えることができます。

特にインフラや金融機関、病院などは、短時間の停止でも社会への影響は計り知れないため、冗長化は必ず行う必要があります。

冗長構成のデメリット

冗長構成はネットワークの安定稼働に欠かせないものですが、以下のようなデメリットもあります。

構築コストが発生する

冗長構成を構築するには、同じ性能の機器や装置を複数用意しなくてはならないので、当然その分のコストも増加します。

例えば以下のようなコストが発生します。

  • サーバや周辺機器などハードウェアの購入費用
  • OSなどソフトウェアの購入費用
  • 構築のための人件費や外部委託費

運用工数が増える

冗長構成では、予備の経路も現用系と同様の状態に保つ必要があるため、アップデートやデータの同期が欠かせません。そのため運用・保守の工数が増えてしまい、IT担当者の負担になります。

安心のために全てを冗長構造にするのではなく、冗長化すべきものとそうではないものの切り分けをすることも重要です。

ネットワークを冗長化する方法

ネットワークの冗長化は、大きく分けて以下の2つです。

  • 機器の冗長化…ネットワーク機器を複数用意して運用すること
  • 経路の冗長化…ネットワーク機器間の通信経路を複数用意して運用すること

上記の2つを組み合わせることで、ネットワークの冗長性を構成します。

冗長化はレイヤー(階層)ごとに行われ、それぞれで方法は異なります。ここでは、実際に扱われることの多い第1~4層に絞ってそれぞれ紹介します。

【レイヤー1】物理層

第1層は、LANケーブルやコネクタなど物理的な接続についてのルールが定められたレイヤーです。ネットワーク機器やサーバに電源を複数搭載した「電源冗長」が一般的になります。仮に一つの電源が故障した場合でも、もう一方の電源で機器を動かせるため、機器の電源断によるネットワークの停止を防ぐことが可能です。

【レイヤー2】データリンク層

第2層は、直接接続された機器へ信号の処理を行い、データの受け渡しを管理するレイヤーです。データリンク層での冗長化は、4つの方法があります。

チーミング(NICの冗長化)

チーミングとは、一つの機器に挿入された複数のNIC(ネットワークへアクセスする際に必要な機器の一種)を疑似的に一本化する方法です。一つのNICが故障しても、他のNICが作動することによってデータの受け渡しが止まることを防げます。

リンクアグリゲーション(スイッチポートの冗長化)

リンクアグリゲーションとは、複数の物理リンクを束ねて一つの論理リンクとして扱う方法です。二つのリンクを一つの大きなリンクとして扱うことができるため、処理スピードを上げられます。その際、片方のリンクに何かしらの障害が発生したとしても、もう片方のリンクに切り替えてシステムを使うことが可能です。

スパニングツリープロトコル(経路の冗長化)

スパニングツリープロトコルとは「STP」とも呼ばれる、円環上(ループ状)に形成されたネットワークにおいてデータトラフィックが永続的に流れることを防ぐためのプロトコルです。通常、通信切断が起きないよう、ネットワーク機器に障害が発生しても別の経路で通信できるように、複数のスイッチを使用したネットワーク構成にします。その際にSTPを有効にすることで、膨大なデータが送信され続けることによってネットワーク内に情報が氾濫してシステムに影響が出てしまう「フラッディング」や、ネットワーク内で一斉送信用の特殊データや信号が転送され続けてしまう「ブロードキャストストリーム」を防ぐことができるのです。

スタック(スイッチの冗長化)

スタックとは、複数のスイッチをまとめて一つの仮想スイッチ作る方法のことです。一台のスイッチが故障しても、残りのスイッチによって通信を続けることができます。

【レイヤー3】ネットワーク層

第3層は、ネットワークのデータ中継と通信経路の選択をする層で、対象の機器へ信号の受け渡しをするためのレイヤーです。ここでは、主に以下の2つの方法があります。

VRRP(ルータの冗長化)

VRRP(Virtual Router Redundancy Protocol)とはルータの冗長化の一種で、複数のルータを一台のルータとして扱うための方法です。物理的には二台あるルータを仮想的に一台に見せることで個々にかかる負担を減らし、仮に一台が故障した場合でももう一方でネットワーク通信を続けることができます。

ECMP(サーバの冗長化)

ECMP(Equal Cost Multi Path)とは、同等のコストの経路が複数存在する場合に、全ての通信経路にトラフィック(負荷)を振り分ける方法です。パケットごとに経路を振り分ける「Par packet ECMP」と、フローごとに経路を振り分ける「Par flow ECMP」があります。

【レイヤー4】トランスポート層

第4層は、目的の機器に信号を正確に受け渡すためのルールが定められたレイヤーです。ここでは、主に以下の2つの方法があります。

DSR

DSR(Direct Server Return)とは、ロードバランシングの実装方式の一つです。ロードバランシングとは、同等な複数の機器やシステムの間で、負荷が均等になるように処理を分散して割り当てることをいいます。DSRでは、ロードバランサ(負荷分散装置)に着信したクライアントからの戻りパケットを直接クライアントに返すため、負荷が分散してパフォーマンスを向上することができます。

リバースプロキシ

リバースプロキシとは、外部からのアクセスにWebサーバ本体ではなく代理サーバで応答する方法です。負荷が分散するのはもちろん、Webサーバ本体を不正アクセスから保護することもできます。

まとめ

本記事では、冗長構成の必要性やメリット・デメリット、種類を解説しました。冗長構成とは、ネットワークの通信障害などに備えて予備の機器や装置を用意しておく構成のことで、安定したネットワークの構築には欠かせない仕組みです。

Clovernet StandardClovernetクラウドネットワークなら、冗長構成にも対応可能です。インターネットVPNと冗長構成の両方を検討している場合は、ぜひ詳細ご確認ください。

冗長構成には種類が複数あり、それぞれ特徴があるため、目的に合ったものを選んで障害に強いネットワーク環境を構築しましょう。