レプリケーションとは?その種類についても解説

 2020.09.07  ストレージチャンネル編集部

ビジネスにおけるITシステムの役割は、ここ最近重要性を増しています。今では経営課題等を解決するためのソリューション(解決策)として、新しいITシステムの導入や既存のITシステムの刷新などを真っ先に検討する企業が増えています。これは言い換えれば、「ビジネスがITシステムに大きく依存している状態」です。

つまり、何らかの障害や災害によってITシステムが停止してしまえば、雪崩式にビジネスも停止してしまう恐れがあります。この事態を避けるために企業では多くの対策が取られています。「レプリケーション」はその内の1つです。本記事ではこのレプリケーションについて解説していきます。ミラーリングやスナップショットとの違いについてもご紹介します。

レプリケーションとは?その種類についても解説

レプリケーション=「複製する」こと

複製のことを英語で「レプリカ(Replica)」と言います。レプリケーションとはつまり「複製する・複製を作る」ことであり、ITシステムの複製を作ることで障害や災害などに備える対策を意味します。そしてもう1つ、レプリケーションを実施する目的は「負荷分散」です。

企業のビジネスのほとんどがITシステムに依存している以上、それを止めることは死活問題に発展します。しかし、障害や災害などによってITシステムが停止するリスクは常に存在し、企業はそのリスク回避策を用意しなければなりません。そこで、ビジネスの中心的存在になっているITシステムの複製を作ることで、万一障害や災害などによってITシステムが停止しても、迅速に復旧する環境を整えていきます。厳密に言えば、ITシステムの複製を作るのではなくデータベースやストレージの複製を作ることで対応します。

ITシステムの利用範囲が拡大するとシステムにかかる負荷が次第に大きくなっていきます。負荷が集中するとシステムパフォーマンスが下がり、仕事効率にも影響が出ます。レプリケーションはその際の負荷分散としての役割もあるのです。例えば、データの更新と参照を同じシステム上で行うと負荷が大きくなるので、元システムはデータの更新だけを行い、レプリケーションされたシステムにてデータの参照がされるような環境にすれば負荷を分散し、システムパフォーマンスと仕事効率を維持できます。

こちら「ストレージのスナップショットとレプリケーションの違いとは?」記事もご参考にしてください!

レプリケーションのメリットと課題

レプリケーションのメリットはやはり、「耐障害性に優れたITシステムを構築できる」ことでしょう。ビジネスは常日頃から障害や災害がいつ発生してもおかしくない状況にあり、それらを想定した環境を構築できるかどうかが、ビジネスの可用性(持続可能な状態)を左右します。レプリケーションはその点において非常に優れた対策なのです。

導入事例:コニカミノルタ株式会社様
ネットアップのクラウドサービスでお悩み解決!

例えば本番のITシステム環境が都内にあれば、レプリケーションした予備環境を関西や九州、沖縄などの特に災害が少ない地域に設置すると非常に高い耐障害性が実現します。中にはクラウドサービスを利用して第三者が運営するデータセンターや、海外のデータセンターに予備環境をレプリケーションするケースもあります。

このように、障害や災害に対して高いメリットを持つレプリケーションですが課題もあります。それは「一般的なバックアップ等と比較してコストがかかる」ことです。レプリケーションは本番環境と全く同じ予備環境を構築するので、ITシステムにかかるコストは単純に考えて2倍です。実際はそれ以下にコストを抑えることができるものの、通常のITシステム環境よりもコストがかかることには変わりありません。従って、レプリケーションはITシステム全体に実施するのではなく、停止が決して許されない極めて重要なITシステムに適用するのが一般的な課題解決方法です。

もう1つの課題は「本番環境をそっくり複製することで破損したデータも複製する可能性が高い」ことです。特にリアルタイムにレプリケーションを実施する環境の場合、何らかの理由でデータが壊れるとその壊れたデータのまま複製が作られる恐れがあります。さらに、ITシステムがマルウェアに感染してしまうと、感染した状態でレプリケーションが実施される可能性もあるので、サイバー攻撃による被害が拡大するリスクもあるのです。この課題を解決するために、レプリケーションはその他のバックアップ手法と組み合わせて実行される場合が多いことも事実です。

レプリケーションの種類

ここまでレプリケーションについて解説してきましたが、実はレプリケーションにも種類があります。ただしこれは、利用しているストレージやデータベースなどシステム環境によって変化するものでもあります。

データベースのレプリケーション

例えばデータベースとして幅広く利用されているMicrosoft SQL Serverにおけるレプリケーションの種類をご紹介します。

トランザクションレプリケーション

定期的に更新されるデータベースにおいて柔軟性を提供するレプリケーション。パブリッシャー(レプリケーションを介して他の場所でデータを使用できるようにするデータベース インスタンス)をデータベースの変更について監視し、その変更をサブスクライバ(レプリケートされたデータを受信するデータベース インスタンス)に送信する。

スナップショットレプリケーション

パブリッシャーは複製対象となっているデータベース全体のスナップショットを取得し、サブスクライバと共有する。ただし、時間とリソースを大量に消費するため、ほとんどの管理者は頻繁に変更されるデータベースに対して、定期的にスナップショットレプリケーションを使用しない。

マージレプリケーション

サブスクライバは、ネットワークに接続されたときにパブリッシャと同期して、前回の同期以降にパブリッシャとサブスクライバの間で変更されたすべての行を交換する。

実際にMicrosoft SQL Serverとそのレプリケーション機能を使用しないと理解しにくい用語も含まれていますが、このようにレプリケーションにはいくつかの種類があり、その時々の状況に応じて使い分けることでコストやセキュリティの課題を解決することができます。

ストレージのレプリケーション

ストレージを提供するネットアップでは、企業が必要としている災害対策や遠隔地へのデータ転送を実現する筐体間レプリケーションソフトウェアであるSnapMirrorを提供しています。このSnapMirrorを利用することで、たとえ遠隔地であっても高速にデータを転送し、筐体間レプリケーションを実現することが可能になります。また、SnapMirrorは、既存ネットワーク環境を使用して、IPベースでのレプリケーションを実現することができます。そのため従来のディザスタリカバリシステムと比較して、簡単で低コストにDRシステムを実現することが可能です。

さらに初期転送時はその時点で存在する全データをコピーしますが、初期転送後はSnapshotによって取得された変更データブロックのみを転送します。LANやWANを経由して変更のあったデータブロックだけを転送するため、データ転送量を減らし、ミラーを高速に行なうことが可能となります。

また、本番サイトとDRサイトを別構成にすることも可能です。そのため本番サイトはパフォーマンスを重視した構成、DRサイトは安価なディスクといったようなことも可能であるため投資対効果の高いレプリケーション環境を構築することが可能です。また、その同期のタイミングは使用環境に応じて3つの転送モード(同期、半同期、非同期)があります。

ミラーリングやスナップショットとの違い

ミラーリングは「データの複製を作る」という意味でレプリケーションと重複しているものの、独立した予備環境ではなく本番環境内に複製データを作成するという点で大きく異なります。ITシステムに障害が発生してマスタデータが損失しても、マスタデータを復旧するまでの間は複製データに対して読み書きが行えるため、ユーザーのデータアクセスが中断されないのが特徴です。

スナップショットとは「ある瞬間を切り取る」バックアップ方式であり、ポインタ(データがどこにあるかの情報)を記録することで可用性を確保しようとする対策です。スナップショットではデータそのものではなく、あくまでポインタを記録するのでストレージ容量を圧迫せずにバックアップが行えるのが利点です。ただし、オリジナルデータそのものが破損している場合はポインタを使用してもシステムを復旧できないリスクもあります。

いかがでしょうか?レプリケーションは一般的に、これらのバックアップ方式を組み合わせて使用し、コストや労力のバランスを計算しながら適材適所で対策を実施することで耐障害性を高めることができます。この機会に、レプリケーションに対する知識を深めてみてはいかがでしょうか。

Azure NetApp Filesとは(ANF設定)

RECENT POST「ストレージ」の最新記事


レプリケーションとは?その種類についても解説
ネットアップクラウドデータサービス
Azure NetApp Files(ANF)
パワーユーザを含むあらゆるユーザに強力な 3D VDIのパフォーマンスを提供

RANKING人気資料ランキング

ネットアップ総合カタログ
ブログ購読のお申込み