DoRACOON NTTMEDIAS

企業の課題

企業の
課題

冗長化とは?しくみやメリット・デメリットをわかりやすく解説

2023-10-13

「システム障害に備えて対策を万全にしたい」「サイバー攻撃に対してセキュリティ対策をしたい」

そうお悩みではありませんか?

本記事では、冗長化の定義から、用いられる技術のしくみやメリット・デメリットについてわかりやすく解説します。

 

冗長化(じょうちょうか)とは

冗長化(じょうちょうか)とは、システムダウンを防ぐため、システムの予備を用意して多重化することです。

 

わかりやすくいうと、

 

・サーバーが故障した場合に備えてサーバーを2台用意する

・ネットワークの不通に備えて複数のネットワーク経路を用意しておく

ということです。

 

機器を複数台用意し、「故障したときに瞬時に切り替えられるしくみ」を導入します。

冗長化を図ることで、どこでどのような障害が起きても、システムを稼働し続けられるようになります。

冗長化とミラーリング(二重化)の違い

似た言葉に「ミラーリング」があります。冗長化の一種でシステムに複数のストレージを接続しておくことで、データ更新時にほぼ同じタイミングに自動で保存し、一つの機器が故障しても業務できるようにします。

 

ハードウェアの障害への耐性を高めたい場合におすすめの方法です。

冗長化とバックアップの違い

冗長化と似たことばに「バックアップ」がありますが別物です。

バックアップとは、システムの状態を定期的にコピーし保存しておくことで、ファイルの改ざんや誤ってシステム更新してしまった場合に、元通りに復旧させることが目的です。

任意の期間を定めて自身でコピーを作成し保管しておき、従業員の誤操作やウイルス感染などで、常用しているストレージのデータが消滅してしまったとしても、バックアップを取っていれば、システムを「過去のある時点の状態に戻す」ことができるのです。

 

操作ミスやウイルス感染などに伴うデータ削除から速やかに復旧させたい場合におすすめの方法です。

目的とタイミングはそれぞれ違いますがどれもシステムを安全に維持する上では必要不可欠な対策といえます。重要なシステムについては対策を行うことをおすすめします。

冗長化のメリット

冗長化のメリットを見ていきましょう。

障害があってもシステムを稼働し続けられる

ハードウェアは壊れるリスクがあり、ソフトウェアもバグがあるため、システムは基本的にトラブルに脆弱です。

システムを多重化することで、システムが止まってしまうリスクを低減できます。

 

またシステムや設備の予備を準備しておくことで、万一トラブルが発生した場合でも、業務への影響や損失の発生を最小限にとどめることができます。

負荷分散になる

冗長化すると、副次的な効果として負荷分散にもなります。

例えば2台のサーバーを用意して冗長化する場合、どちらも稼働させることで、サーバーへのアクセスを分散させる効果があるでしょう。

さらに、サーバーやシステムへの負荷を軽減し、障害の発生を未然に防ぐ効果もあります。

 

例えば、

 

ECサイトでキャンペーンを開催したところ、予想を上回るアクセスが殺到した

DDoS攻撃を受けた

などでも、冗長化で増やした予備のサーバーやシステムで分散処理をすることで、サーバーダウンを回避することができます。

BCP対策になる

 

予備系統のサーバーを遠隔地に設置すると、BCP対策にもなります。

 

BCP対策は災害や緊急事態に備えるものです。

地震や水害など、事業所がある建物自体に被害があった場合でも、遠隔地のサーバーが無事であれば、復旧までの期間を短縮できます。

冗長化のデメリット

冗長化のデメリットは、主にコストが増加することにあります。

コスト増加の理由を詳しくみていきましょう。

導入コストが膨大

冗長化対策には、冗長化機能がある高性能な機器を用意する必要があります。

さらに同じ機器を複数台用意する必要もあります。

機器の導入コストは、冗長化対策しない場合と比べて増加します。

 

また本来のシステムや設備と同じ性能の予備を一つ以上準備することになるため、構築時のコストは予備の台数分増加します。

 

まったく同じものを準備することになり、OSやソフトウェアなどインストールするものも複数必要になるため、注意も必要です。

保守において管理項目が増える

機器が増えることで、ネットワーク構成は複雑になります。

管理者が監視すべき項目も増えるため、保守コストが増えます。

 

準備するシステムや設備は、内部のデータなども、本来のシステムとまったく同じ状態にしておく必要があるためです。

OSなどのアップデートはもちろん、保存されるデータも同じにしておく必要があり、更新の都度同期させる必要があります。

冗長化の対象

ひとくちに冗長化といっても、その対象はさまざまです。

ここでは、冗長化対策の対象となる機器を紹介します。

サーバーのハードディスク

ハードディスクは消耗品であり壊れるリスクが高いものになります。

とくに多くの人が利用するサーバー内のハードディスクには、冗長化対策が欠かせません。

 

サーバーには複数のハードディスクが備えられており、複数のハードディスクを仮想的に1つにまとめる「RAID(レイド)」という技術が使われます。

RAIDを利用することで、ハードディスクが故障してもデータを損失せず、通常通りアクセスし続けられる環境を構築できます。

サーバー

社員が利用する社内サーバーや、公開しているWebサーバーなどは、多くの人が利用する点で止められないシステムといえます。サーバーを複数台用意し、機器の故障に備えましょう。

ネットワーク機器

スイッチやルーター、ファイアウォールなどのネットワークを構成する機器も、冗長化の対象となります。

 

機器が故障すると、その故障したポイントで通信が止まってしまい、サーバーへアクセスできなくなってしまうからです。

各々の機器を複数台用意し、機器の故障に備えましょう。

電源

サーバーやネットワーク機器の中には、2つ以上の電源を使用できるタイプのものがあります。これは、電源系統にトラブルが起きる場合を想定したものになります。

 

それぞれに系統の異なる電源を使用することで、片方の電源に障害が起きた場合に、もう片方の電源で稼働し続けられる環境を構築できます。

電源口が1つしかない機器の場合は、メイン機と予備用の機器とで電源の取得系統を分けるとよいでしょう。

インターネット回線

インターネット回線が1系統のみの場合、インターネット回線側で通信障害があると、インターネットにアクセスできなくなってしまいます。

通信障害に備えるのであれば、アクセス回線を2重化する対策が必要です。

冗長化における構成

冗長化するための具体的なシステム構成を解説します。

アクティブ・スタンバイ構成

アクティブ・スタンバイ構成とは、同じ処理を行う2つの独立したシステムがある中で、通常は片方のみが稼働し、もう片方は稼働せずに待機するシステム構成のことです。

たとえばサーバーAとサーバーBがあったとき、通常はAのみが稼働し、Bは稼働していません。

 

稼働している方のシステムに障害があった場合は、待機(スタンバイ)側のシステムに切り替わり、システムの中断を最小限に抑えられます。

ただしシステムが切り替わる際に中断時間が発生するため、システムダウンを絶対に避けたいケースには向いていません。

アクティブ・アクティブ構成

アクティブ・アクティブ構成とは、同じ処理を行う独立した2つのシステムが、均等に負荷分散しながら同時稼働するシステム構成です。

たとえばサーバーAとサーバーBがあったとき、ロードバランサーによってサーバーに対するアクセスがAとBに均等に振り分けられ、AとBが同時に稼働している状態です。

 

片方が故障した場合でも、もう片方が継続稼働するため、高可用性に優れています。

アクティブ・アクティブ構成は、システムを通常時においても2系統利用するため、アクティブ・スタンバイに比べてトラフィックの急増にも強いといえます。

プライマリ・セカンダリ構成

プライマリ・セカンダリ構成は、主要な処理を担当する「プライマリ」と、補佐的な処理を行う「セカンダリ」に役割を分けるシステム構成です。

 

主にデータベースに用いられます。

データベースにおいては、プライマリが正マスタの編集・更新・削除を担当。

セカンダリはプライマリのマスタをコピーして副マスタを作成し、バックアップを提供します。

 

プライマリ機に障害があると、セカンダリ機に役割が引き継がれ、高可用性を実現します。

プライマリ機は1台だけですが、セカンダリ機は何台でも設置でき、多ければ多いほど冗長性を高められます。

マルチマスター構成

マルチマスター構成とは、データベースサーバーを複数台同時に稼働させるシステム構成です。

 

サーバーに障害が発生した場合でも、他のデータベースサーバーが継続稼働するため、システムをダウンさせません。

 

また、複数のサーバーに負荷分散できる点もメリットです。

ただしマルチマスター構成では、複数のサーバーが同時に異なる処理を行うと、マスタの整合性を保てません。

よってマルチマスター構成では、競合解決のためのアルゴリズムを実装する必要があります。

冗長化に使われる技術

冗長化は、単に機器を2台用意しただけでは達成できません。

 

機器の故障や障害が起きたときに、予備系統に瞬時に切り替えられるしくみづくりが必要です。ここでは冗長化構成に使われる技術について解説します。

リンクアグリゲーション

リンクアグリゲーションは、スイッチ(※1)に用いられる技術です。

リンクアグリゲーションを利用することで、複数の「物理リンク(※2)」をあたかもひとつの物理リンクとして扱えるようになります。

 

例えばスイッチ間を2本のLANケーブルで接続するとしましょう。

 

見た目では2本のケーブルで接続されていますが、ソフトウェア的には1本のケーブルで接続されているように動作します。片方の物理リンクで障害が発生すると、障害リンクが切り離されるのです。

通常時には2本分の帯域で通信できるので、通信速度も向上します。

 

(※1)受信したデータを解析し転送の可否判断を行う、ネットワークの中継装置

(※2)機器間がケーブルで接続されている状態

チーミング

チーミングは複数の物理NIC(※3)を管理できる技術で、サーバーに用いられるものです。

物理NICやその先のネットワーク機器が故障した場合、物理NICを切り離し、正常な物理NICで通信を継続します。

 

チーミングは動作によって次の3種類に分けられます。

チーミングにリンクアグリゲーションを使用する場合は、NICが接続するスイッチに対してもリンクアグリゲーションの設定が必要になります。

 

(※3)LANポートのついた基盤

スタック技術

スタック技術は複数の機器をひとつの論理機器にまとめる技術で、サーバーやスイッチに用いられるものです。

 

たとえば4台のスイッチがあったときも、論理的には1台のスイッチとして動作し、4台のうち1台が故障しても動作し続けられます。

用意するIPアドレスは4台分から1台分に減るなど管理が楽になりますし、ネットワーク構成をシンプル化できるメリットもあります。

トランクフェールオーバ

サーバーには直接的に関係しない装置で障害が発生した場合、チーミングによるNICの切り替えは行われず、障害のある方のNICで通信し続けようとしてしまいます。

トランクフェールオーバは、上記のようなチーミングの弱点を補う技術です。

 

上位のスイッチへのリンクがダウンすると、下位のリンク(サーバーへのリンク)をシャットダウンします。

リンクが途絶えることでサーバーが障害を検知できるようになり、チーミングによって障害のあるNICが切り離されます。

STP

STPは、物理的なネットワーク経路を複数確保するのに有効な技術です。

STPを利用するネットワークは、ループ状にケーブルを配線したものとなります。

 

例えばスイッチが3つある場合、三角を形成するようにそれぞれをケーブルで接続します。

ループ状のネットワークは、通信データもループしてしまうため本来は好ましくありません。

 

ですがSTPによって特定のポートがブロックされ、物理的にはループ構造なのに論理的にはツリー構造のネットワークとなります。

障害があったときはブロックされたポートが開放され、迂回路が形成されます。

FHRP

FHRPは、複数のデフォルトゲートウェイを、あたかもひとつであるかのように動作させるためのプロトコルです。

障害があったときは予備のデフォルトゲートウェイに切り替えられ、接続を維持します。

同期

同期は、複数の機器を同じ状態に一致させることをいいます。

冗長化では「機器が故障したときに瞬時に予備系統へ切り替える」必要があります。

 

 

頻繁にデータが更新される機器において、同期は欠かせない技術といえるでしょう。

同期されていなければ、予備系統を手動で更新する必要があり、その間はシステムが止まってしまうからです。同期と冗長化技術を組み合わせて、予備系統への切り替えを簡素化しましょう。

内製による冗長化が難しい場合はクラウドがおすすめ

SaaSであれば、サーバーの冗長化対策はサービス事業者が行ってくれるため、自社でサーバーを運用管理する必要がありません。

 

インターネット回線があればアクセスできるため、BCP対策も同時に実現できます。

自社による冗長化対策が難しい場合は、SaaSへの切り替えも検討してみることをおすすめします。

インターネット回線の冗長化ならDoRACOONがオススメ

法人向けでネットワークの冗長化対策をお探しの方は、DoRACOONがおすすめです。

DoRACOONとは、NTTメディアサプライ社が提供するクラウドSIMテクノロジーを利用したモバイル通信サービスです。

1つのキャリアに通信障害があったときは、正常に通信できる別のキャリアに切り替えることができるため、通信障害に強いことが特徴です。

 

ページ上部へ戻る