IT化が普及してきたことによって、企業でも様々なシステムを使って業務を効率化したり、生産性を上げる動きがみられます。
しかし、システムは効率的に業務を進められる一方で、思いがけない障害が起こる可能性もあります。
社内の基幹システムで障害が起きてしまえば、業務を中断せざるを得ない事態にもなりかねません。
そのため、システムを構築する際には万が一に備えておくことがとても大切です。
この記事では、システムの冗長化、冗長化構成の種類について解説していきます。
冗長化構成とは?
「冗長化」は本来の意味としては「無駄があること」を指しますが、ITにおいて冗長化は「急なシステム障害や想定外のアクセス集中に備えて予備を用意しておくこと」を指します。
予測できない機器トラブルや障害は、システムを使用している以上起こりうることですが、冗長化をしておくことで不測の事態にもシステムを止めずに運用し続けることができます。
冗長化の仕組みは、システムの内部で予備のシステムを稼働させておくことで、一方のシステムに障害が起きても予備のシステムで稼働する、というものです。
冗長化をしておくことで、システム復旧にかかる時間や、顧客への影響を少なくすることができます。
また、近年問題視されているBCP対策においても冗長化は必須と言えるでしょう。
災害など緊急事態においても、冗長化をしておくことで重要な業務を継続できる可能性は高まります。
そして冗長化には、いくつかの構成があります。
次項で冗長化構成の種類について詳しく見ていきましょう。
冗長化構成の種類
冗長化構成には大きく4つの種類があります。
それぞれの構成方法や予算を考慮して、自社に合った方法を取り入れていきましょう。
アクティブ・スタンバイ構成
アクティブ・スタンバイ構成は、冗長化構成の中で一番シンプルで分かりやすい構成です。
同じ機能を持つシステムを複数準備し、その内の一つを稼働(アクティブ)させ、他のシステムを待機状態(スタンバイ)にしておきます。
例えばサーバーを冗長化しておく場合は、2台のサーバーを用意し、1台を稼働、もう一台を待機させておくことで、何らかの障害でサーバーがダウンしてしまっても、待機しているサーバーが処理を引き継げます。
そしてこの待機状態となるシステムの種類には「ホットスタンバイ」「コールドスタンバイ」の二つがあります。
ホットスタンバイ
ホットスタンバイは平常時から待機状態のシステムにも電源を入れておき、稼働しているシステムとの同期を常におこなっている状態です。
ホット状態にしていることで、非常時にも即座に待機システムに切り替えることができ、障害発生前と変わらずに稼働することができます。
コールドスタンバイ
一方でコールドスタンバイは、平常時には電源を入れず待機している状態です。
稼働システムとの同期がされていないため、非常時には待機システムを稼働するまでの切り替えやデータの同期に時間を要します。
ですが、ホットスタンバイよりも運用コストが下げられることはメリットでしょう。
アクティブ・アクティブ構成
アクティブ・スタンバイ構成では稼働システムと待機システムがありましたが、アクティブ・アクティブ構成は、複数のシステムが同時に稼働している状態です。
平常時にも、複数のシステムによって負荷が分散されるというメリットがあります。また、負荷が分散されることによって、アクセス集中やサイバー攻撃のリスクも減らせます。
そして非常時はどちらかのシステムに障害が起きたらもう一方のシステムで対処するという構成です。
非常時になれば、平常時の負荷軽減はなくなるものの、普段から使用しているシステムのため、非常時でもスムーズに対応できます。
マスター・スレーブ構成
マスター・スレーブ構成は、一台を「マスター」として複数のシステムの制御・管理を任せ、そのマスター機に制御されながら動作するデータベースが「スレーブ」として構成されています。
この構成は主にデータベースサーバで採用されている構成で、平常時はマスター機が処理をおこない、障害発生時のために、スレーブ機にはマスター機のデータの複製をおこなっている状態です。
マスター機で障害が起こった時には、スレーブ機の中の一台に切り替えることでシステムを継続します。
ただし、スレーブ機で処理できるのは参照のみです。書き込みはできないため、非常時に書き込み処理が必要な場合はスレーブ機の一つをマスター機に昇格させる必要があります。
また、マスター・スレーブ構成の切り替えにはタイムラグが発生するため、その点は留意しておきましょう。
マルチマスター構成
マルチマスター構成は、マスター・スレーブ構成のマスター機の役割をすべてのサーバーに持たせる構成です。
つまり、すべてのサーバーで書き込み処理までが可能になります。
マスター・スレーブ構成で切り替え時に発生するようなタイムラグも、すべてがマスター機であるこの構成では発生しないため、冗長化としては適していると言えます。
ただし、データの同期がうまくいかなかった場合にデータの整合性が取れにくいといったデメリットも。
マスター・スレーブ構成ではマスターのデータを同期するという、いわゆる上下関係のようなものが明確でしたが、マルチマスター構成ではすべての機器が同じ位置にあるため、データの整合性を確保する、という課題があります。
冗長化により得られるメリット
上記のような冗長化構成を使って、さまざまなシステムを冗長化をしておくことで、企業にとっては大きなメリットがあります。
特に近年は災害が多いため、災害対策として急務であると言っても過言ではないでしょう。
それでは実際に冗長化で得られるメリットを次項で解説します。
サーバーの負荷を分散できる
一つのサーバーにアクセスが集中し負荷がかかると、サーバーがダウンしてしまう可能性があります。
冗長化して負荷を軽減しておくことで、こういった不測の事態にも対応が可能です。
さらに、DDos攻撃などのサイバー攻撃に対しても、複数のサーバーを持っていることで回避できる可能性は高まるでしょう。
システム障害や停止を最小限に抑える
冗長化していない状態でシステムダウンしてしまうと、通常のバックアップから回復させるまでには大きなタイムラグが生じてしまいます。
冗長化をしておくことで、システム障害が起きた時にも復旧に時間がかかることがありません。
特にアクティブ・アクティブ構成や、マルチマスター構成などは非常時のシステムの切り替えにタイムラグがほとんど発生せず業務の継続が可能です。
BCP対策になる
近年、災害の多さから日本ではBCP対策(事業継続計画)が見直されています。
システムの冗長化はBCP対策にもつながります。自然災害の他にも、サイバー攻撃、機器トラブルなど、システムを使用しているとトラブルはつきものです。
特に大きな災害が起こった時には事業継続が危ぶまれることもあるでしょう。
そういったトラブルが起こった時に被害を最小限に食い止め、システムを稼働させ続けるという、BCPの観点からも冗長化は重要な役割を担っています。
まとめ
自社のシステムを構築する際には、冗長化対策が重要です。どんなシステムでも、機器トラブルやアクセスの集中、サイバー攻撃、自然災害など、予期しないところから障害につながる場合があります。
そういった避けようのない事態において、システムの冗長化は必須といえるでしょう。
冗長化対策をし、可用性の高いシステムを構築することで企業の信頼性も上がります。
システムやサーバーそれぞれに合った冗長化構成を組み、障害に強いシステム環境を構築していきましょう。
冗長化についてさらに詳しい内容は、この記事の下部にある「4つのDX実践白書」の中の一つ『インターネット速度の向上と突然のダウンを防止する「冗長化」』にて解説しています。
無料でご提供しておりますので、気になる方は記事下からダウンロードしてご覧ください。