- HOME
- 法人様向けお役立ちコンテンツ
- 冗長化とは?目的と効果についても紹介!
冗長化とは?目的と効果についても紹介!
基本的にシステムを停止させることは許されません。そのためにはセキュリティ対策だけでなく、システムの冗長化構成を組み、自然災害や人為的ミスによる停止を防止する必要があります。
しかし、「システムの冗長化ってなに」、「冗長化のやり方がわからない」、「どういった効果が生まれるのかがわからない」などといった悩みが多くのIT担当者を悩ませているのではないでしょうか。
本記事では冗長化の概要、目的、効果について紹介します。
目次
冗長化とは
システムの冗長化とは、何らかの障害が発生したときに備えて、あらかじめ予備のコンピューターやシステムを配置して運用することです。これにより、例えばメインのサーバーがダウンしたとしても、その後サブに切り替わるような考えの一部を冗長化といいます。
サーバーについては、「サーバーとは?役割・種類、選び方をわかりやすく解説」をご覧ください。
冗長化と二重化との違い
混同されやすい冗長化と二重化ですがこれらの言葉の定義について説明します。冗長化とは、システムに対する障害に備えて、予備装置をバックアップとして配置し運用することで、障害発生後でもシステムの機能を維持し続けられるようにすることです。冗長化は予備装置の数に指定がないため、冗長化という言葉には「二重化」だけでなく「三重化」「四重化」を含むことが可能です。
二重化はあくまでバックアップ用の予備装置が1つだけある状態を指します。
冗長化の必要性・効果
ここからは冗長化の必要性や効果について説明していきます。冗長化は一見、バックアップ用にサーバーを落としているだけと受け取れるかもしれませんが、実際はさまざまな理由があります。
負荷の分散
一つ目は負荷を分散させることです。一時的なアクセス集中でサーバーに大きな負荷がかかった場合も、システムを冗長化しておくことで負荷を軽減・分散させます。
DoS攻撃・DDoS攻撃などのサイバー攻撃に対しても、複数台のサーバーを用意して冗長性を持たせることで回避が可能になります。
システムの可用性向上
冗長化構成を組んだシステムですと可用性が向上します。
冗長化されていないシステムで障害が発生した場合、障害の原因が判明し、修復がされるまでシステムが停止してしまいます。
冗長化構成を組むことでアプリケーションが完全に停止するリスクを減らすことができます。例えば、仮に制御側のサーバーが停止しても、待機系のサーバーに切り替えることでアプリケーションの停止期間を減らしつつ、システムを動かすことが可能になります。
そのため、待機系のサーバーを利用することにより、システムの可用性が上がることが期待されます。
緊急時の対応を減らすことが可能に
冗長化されていないシステムで障害が発生した場合、障害原因の特定、修復といったことを行う必要があり、復旧までの手順が多いです。
冗長化構成が組まれている場合は、待機系のサーバーに切り替えるだけで動作するため緊急時にシステムを復旧するまでのタスクを減らすことが可能になります。
サーバーを冗長化させる目的については、「サーバーを冗長化する目的とは?重要性と方法について解説!」をご覧ください。
システム冗長化の例
ここからはシステム冗長化に関する種類と主な具体例について以下の4つの観点に分けて紹介します。
- アクティブ/アクティブ構成
- アクティブ/スタンバイ構成
- アクティブ/スレーブ構成
- マルチマスター構成
アクティブ/アクティブ構成
アクティブ/アクティブ構成はメインである運用業務向けのサーバーとサブの待機系サーバーが常に同じ処理を行うといった考え方です。
そのため、待機系のサーバーも常に制御系とほぼ同じ処理をリアルタイムで行っています。2つのサーバーを常に稼働させているので運用コストは高くなります。銀行などの金融機関のシステムは予定外のシステムの停止を許容していません。そのようなシステムではアクティブ/アクティブ構成で構築していることが望ましいといえるでしょう。
アクティブ/スタンバイ構成
アクティブ/スタンバイ構成はアクティブ/アクティブ構成と同様、メインとサブの2つのサーバーを用意します。アクティブ/アクティブ構成と違い、サブは処理を行っておらず待機していることが特長です。
仮にメインが停止した場合に、タスクをメインからサブに引き継いだうえでサブが代わりに処理を続けます。
メインからサブに切り替わる際は、アクティブ/アクティブ構成よりは遅いため、システムの停止が許容されるか否で構成を選ぶとよいでしょう。
マスター/スレーブ構成
マスター/スレーブ構成とは、すべてのサーバーを制御・操作する「マスター」が存在し、残りのサーバーは「スレーブ」としてマスターの命令に従って動作するといった構成です。
通常はマスターがデータの書き込みおよび読み込みが可能で、スレーブは読み込みのみとしています。仮にマスターが故障した場合は、残りのスレーブのうち1台がマスターに割り当てられ、動作します。主にデータベースサーバーで採用されます。
【注意】マスター/スレーブとは言わなくなってきている?
余談にはなりますが、「スレーブ」は英語で奴隷を意味し、近年はこのマスター/スレーブという言葉を使わない動きがアメリカを中心に起きています。「リーダー/フォロワー」「プライマリー/レプリカ」「プライマリー/スタンバイ」というような表記が増えています。
マルチマスター構成
マルチマスター構成とは、すべてのサーバーがマスターとしてデータの書き込みおよび読み込みが可能です。そのため、仮にどのサーバーが停止したとしても、すぐに切り替えが可能といえます。
しかし、それぞれのサーバーで持っているデータがそれぞれ正しいと判断しているため、仮にサーバー間で異なるデータを登録してしまった場合はデータの整合性を取るのが困難です。修正や変更も不可です。
システム冗長化の課題
システム冗長化の課題は構築・維持のコストが非常にかかることです。構築時のメインのサーバーだけでなく、サブのサーバー分の構築、維持管理するための費用がかかります。同じ機能を持つサーバーを2台用意する場合、単純計算でサーバーのコストは倍かかることになります。
加えて、自動切換えや負荷分散処理などの機能も盛り込む必要があるため、さらにコストがかかることが確実です。
そのため、冗長化はあらゆるケースで必要というわけではなく、停止することが許されない重要なシステムを運用するケースにおいて構築すべきです。
まとめ
システムを安定稼働させるためにはシステムの冗長化が重要です。冗長化にはさまざまな種類があり、要件やコスト面に応じて冗長化構成を考慮する必要があります。それぞれの特徴を理解したうえで最適な構成を組んでいきましょう。
サーバーのご購入はドスパラプラスまでお気軽にご相談ください。