「災害対策」を行っていますでしょうか。必要とは理解しつつも、高額で手をつけられない事情も多くあるでしょう。今回は、中堅中小企業でもソフトウェアのみですぐ実行できる、災害対策システムを構築する方法を解説します。
東日本大震災から、もう5年が経過します。
自然災害の発生は予測できません。しかし、「障害の発生を見越した準備」はできます。サービスを止めない、とはどういうことか。仮にシステムダウンがあっても業務に影響を与える「前」に復旧するシステムをどう構築するか。東日本大震災を機に、このような「事業継続計画(BCP)」と「災害復旧対策システム(DR)」の重要性が広く認識されました。
しかし現在はどうでしょう。皆さんはその重要性を理解していると思いますが、月日の経過と共に、記憶や関心はどうしても薄れてしまいます。コスト面、システム面、運用面など、さまざまな事情から、実際の災害対策は後回しになっているという声も聞かれます。
そんな中で、先日、近隣国の台湾南部で大きな地震が発生しました。その被害は建物の崩壊、電気/水道などのインフラ停止、経済などにも及び、多くの人の社会生活に影響を与えました。決して対岸の火事ではありません。今こそ、ITシステムの「災害対策」をあらためて真剣に考える時期だと提言します。
そこで今回は、サービスを止めてはならない環境で活躍するオープンソースの冗長化支援ツール「DRBD(Distributed Replicated Block Device)」と、そのオプション製品である「DRBD Proxy」を使い、今すぐ取り組める「災害復旧対策システムを構築する」ためのテクニックを解説します。
「DRBD Proxy」(提供元:サードウェア)は有償の製品になります。価格はオープン価格で、ライセンス体系によって異なりますが、参考価格は1ノード当たり数万円〜数十万円です。なお、30日試用できる評価用ライセンスも用意されています(お問い合わせフォームより「評価ライセンス希望」などと記載していただき、送信ください)。本稿では、この30日評価用ライセンスを使って構築する方法を紹介します。
まず、災害対策システムの構築には、「RPO(目標復旧時点)」と「RTO(目的復旧時間)」を意識する必要があります。
RPOとは、障害が発生した際に、「どの時点のデータに戻すか(戻せるか)」のことです。例として、「障害発生の寸前」「1日前」「1週間前」などがあります。これは構築するシステムやバックアップ履歴の頻度などによって変わってきます。RTOとは、「障害が発生してから、復旧までにかかる目標時間」のことです。
RPOとRTOの詳細は、第3回「災害対策システム」で、DRBDを活用する方法」で解説しましたので、こちらも参照ください。
では、バックアップサーバのデータを遠隔地に保存する「災害対策システム」を構築していきましょう。
地理的に離れた場所へもデータを保存することで、災害時も物理的な被害を避ける形でデータを保護できます。仮に本番サーバに障害が発生したとしても、データが消失せず、復旧までの時間も短くできます。
ただし、都合のいい「遠隔地」を自前で確保するのは大変です。そこで、遠隔地のサーバには「クラウド」を使います。今回構築する災害対策システムの構成イメージは、図1の通りです。一号機となる物理サーバを東京本社に置き、二号機はクラウド上のサーバとします。
一号機、二号機の通信はWAN越しになるために、安全性を考慮したVPN接続で行います。VPNの環境は「OpenVPN」でも「IPsec」でも問題ありません。本稿ではVPN環境構築の手順は割愛します。
(参考記事)VPN実践導入講座:インターネットVPN環境を構築する
(参考記事)在宅勤務を実現するリモート・アクセスVPN構築術:リモート・アクセスVPNの概要
(参考記事)5分で絶対に分かるVPN
(参考記事)IT管理者のためのIPSec講座
前提条件として、DRBDとDRBD Proxyのインストールを開始する前にVPN接続が完了していることとします。また、今回はCentOS 7へインストールする災害対策システムを題材とし、DRBD 8.4.7、「DRBD Proxy 3.2.3」ベースにインストール手順、設定ファイルの解説、構築手順を追って解説していきます。
インタフェース | 一号機(プライマリ) | 二号機(セカンダリ) | 用途 |
---|---|---|---|
eth0 | 192.168.0.1 | (グローバル IPアドレス) | サービスLAN |
eth1 | 10.0.0.1 | 10.0.0.2 | DRBD同期 VPN用 |
ネットワーク構成は右記の通りです。
ここでのネットワークインタフェース名は便宜上eth0、eth1としましたが、CentOS 7では「enXXX」のようになります。
二号機のeth0はクラウドで取得可能なグローバルIPアドレスを取得し、災害時のサーバへのアクセス経路とします。
ただし平常時は、セキュリティ対策として仮想サーバへの外部からの不要なアクセスを減らすため、クラウド上の仮想サーバである二号機に設定するグローバルアドレスは無効に(取り外しておく)ことを推奨します。
サーバの用意とOSのインストールについては、第4回「“Sambaファイルサーバを冗長化する”方法」と同じです。DRBD専用の領域を作成しておくことを忘れずに、こちらを参考にOSのインストールまで済ませてください。
クラウドで、AWS(Amazon Web Services)やIBM SoftLayer、Microsoft AzureなどのパブリッククラウドのIaaS(Infrastructure as a Service)環境で仮想マシンを置いて運用する場合は、2台目のディスクを追加して、これをDRBD用ディスク(領域)としてください。後ほど設定ファイルに記載しますので、このデバイス名をメモしておいてください(「/dev/xvdc1」など)
なお、ローカルサーバとクラウドサーバの「DRBD専用領域のサイズ」は同一にしてください。
Copyright © ITmedia, Inc. All Rights Reserved.