テクノロジー解説

事業継続/災害復旧を可能にするシスコの広域負荷分散ソリューション

前東日本大震災を機に、データセンターの災害対策を見直す企業が増えています。基幹業務を処理するデータセンターが 1 か所だけでは、そのデータセンターが災害などで稼働を停止すると事業の継続が難しくなるからです。今回のテクノロジー解説では、事業継続と災害復旧(Business Continuity and Disaster Recovery; BC/DR)を可能にするエンドツーエンドのソリューションを構築するうえで欠かせない、シスコの広域負荷分散(Global Server Load Balancing; GSLB)テクノロジーを取り上げます。

事業継続/災害復旧を実現するデータセンターに必要な技術

地理的に離れた複数の拠点にデータセンターを置き、1 か所が使用不可能になっても他のデータセンターを使用して事業を継続できるようにするには、主に次のような技術を使用してデータセンターを構成します。

  • ストレージ レプリケーション:物理的に分散しているデータセンターの各ストレージを同期します。
  • データセンター間相互接続(DCI:データセンター同士をレイヤ 2 接続するとともに、WAN 最適化技術によってデータセンター間の通信効率を最適化します。
  • サーバの仮想化およびクラスタ化:仮想マシンのモビリティ向上とフェイルオーバーを可能にします。
  • 広域負荷分散(GSLB:複数のデータセンターに対して、適切にユーザアクセスを誘導します。

これらの技術を使ったデータセンターの構成を次の図に示します。

事業継続/災害復旧を実現するデータセンター

※画像をクリックすると、大きな画面で表示されますpopup_icon


この構成では、データセンターを 3 か所(DC1、DC2、DC3)に置く場合の例になっています。

この例のように複数のデータセンターが存在する場合、広域負荷分散は DNS ベースで行われます。ユーザがサービスにアクセスしようとすると、そのサービスを処理するサーバの IP アドレスを問い合わせるクエリーがユーザのコンピュータから発行され、このクエリーに基づいて DNS(Domain Name System)サーバが名前解決をすることで、要求されたサービスを提供するサーバの IP アドレスが返されます。ユーザはどのデータセンターが稼働し、どれが停止しているかを意識することなく、常に同じサーバ名を指定して業務に必要なサーバとデータにアクセスできます。この「広域負荷分散」の部分を担う製品が、Cisco ACE(Application Control Engine)ファミリの Cisco GSS 4492R Global Site Selector と、Cisco ACE 4710 アプライアンスおよび ACE 30 モジュールです。

GSS(Global Site Selector)は、データセンターのサーバについて、DNS の A レコード(サーバ名と IP アドレスとを対応させるレコード)を保持しており、DNS クエリーに対して IP アドレスを返します。これでは、通常の DNS のしくみで十分だと思われるかもしれません。では、なぜ GSS が必要なのでしょうか。

通常の DNS では、サーバが動作しているか否かにかかわらず、クエリーに対して登録されているサーバ名に対応する IP アドレスが返されます。つまり、クエリーで返された IP アドレスにユーザのコンピュータがアクセスしたものの、サーバが停止しているために応答がないということもあり得ます。一方 GSS は、ACE と連携してサーバの稼働状況を把握しているので、ユーザからのリクエストを処理するのに最適なサーバをインテリジェントに(たとえば稼働率が最も低いサーバ群を)選択して、そのサーバへユーザを誘導することができます。

また、セキュリティの点でもメリットがあります。DNS 機能の実装には BIND というソフトウェアが広く利用されていますが、GSS の DNS 機能はシスコが独自に開発したものであるため、BIND のセキュリティ ホールを狙った攻撃とは無縁です。さらに Cisco GSS 4492R には、オプションとして DDoS(分散型サービス妨害)攻撃を削減する機能も用意されています。

災害発生時も事業継続を可能にするしくみ

では、分散化されたデータセンターの一つが稼働を停止するとどうなるでしょうか。最初に紹介した構成図では、アクティブ×2+スタンバイ×1 の 3 つのデータセンター(DC)の例を示しましたが、ここでは説明を単純にするために、データセンターは 2 か所で、DC1 がアクティブ、DC2 がスタンバイであるとします。

事業継続/災害復旧を実現するデータセンター

GSS と ACE は各データセンターに配置され、ACE は設置されているデータセンターのサーバ群の稼働状況の監視およびサーバ負荷分散処理を担当します。各データセンターに配置された GSS は、2 つのデータセンターそれぞれにある ACE と通信します。つまり、どのデータセンターの GSS も、ACE を通じてすべてのデータセンターの稼働状況を把握しています。

ユーザが Web サーバにアクセスするときは、ローカルの DNS サーバに対して DNS クエリーが発行され、このクエリーは最終的に、2 つの GSS のいずれかに送られます。クエリ―を受け取った GSS は、最適な Web サーバ群の IP アドレス(ACE の VIP [Virtual IP])を判断してユーザに返します。アクティブなデータセンターは DC1 ですから、ユーザに返される IP アドレスは、通常は DC1 にある Web サーバ群の VIP となります。

DC1 で災害が発生し、このデータセンター全体が稼働不可能になったときは、DC1 で稼働していたシステムが DC2 にフェイルオーバーされます。この場合、ユーザのローカル DNS からのクエリーは最終的に DC2 の GSS に到達します。DC2 の GSS は、DC1 のサーバ群が稼働不可能になって DC2 のサーバ群が稼働を開始したことを検知しているため、ユーザのアクセスを DC2 に誘導します。

このページのコンテンツには、Adobe Flash Player の最新バージョンが必要です。

Adobe Flash Player を取得

アクティブ/アクティブ構成への応用

最近では、データセンター構成を検討するにあたり、データセンター リソースの効率的な活用を考えて複数のデータセンターをすべてアクティブで動作させたいという要望も増えています。これまでに説明した広域負荷分散のしくみは、このようなアクティブ/アクティブ構成にも応用できます。つまり、スタンバイのデータセンターを休眠状態にしておく代わりに通常時から稼働させておき、処理負荷を分散させるということです。データセンターのいずれかが災害などで稼働不可能になった場合は、他の稼働中のデータセンターへアプリケーションがフェイルオーバーされます。

GSS と ACE による広域負荷分散のメカニズム

シスコの GSS と ACE がどのようにして広域負荷分散を実現しているかを、もう少し詳しく説明します。

GSS と ACE による広域負荷分散のメカニズム

※画像をクリックすると、大きな画面で表示されますpopup_icon


各データセンターの ACE は、管理下にあるサーバ群に「プローブ」を定期的に送信することで稼働状況を監視し、稼働していれば、そのサーバ群にアクセスするための VIP を“UP”にします。VIP とは、個々のサーバの IP アドレスの代わりにサーバ群全体に与えられる仮想的な IP アドレスであり、VIP へのトラフィックはサーバ負荷分散メカニズムによって各サーバに振り分けられます。

GSS はそれぞれ、すべてのデータセンターの ACE との間でキープアライブ通信を行って、各データセンターの稼働状況(VIP が“UP”かどうか)を監視します。キープアライブ(keep alive)通信とは、相手が引き続き応答可能かどうかを調べるための通信であり、通信方式は KAL-AP(Keepalive Appliance Protocol)、ICMP(Internet Control Message Protocol)、TCP、HTTP-HEAD、Scripted KAL などから選択できます。この中で最もインテリジェントといえる KAL-AP は、GSS と ACE との間で稼働状況情報を送受信するために、シスコが独自に開発したキープアライブ プロトコルです。このプロトコルを利用すると、ACE 管理下サーバの稼働率(サーバ総数に対する稼働中サーバの数)に基づく広域負荷分散ができるようになります。

ユーザがデータセンターの Web サーバにアクセスするときは、ローカル DNS サーバからのドメイン階層に基づく問い合わせによって、最終的に各データセンターの GSS の NS レコードが特定されます。この問い合わせがいずれの GSS に対し行われても、GSSは同じ情報を保持しているのでクエリーへの正しい応答が可能です。

GSS は、設定された分散方式に従って、データセンターの UPとなっている VIP のうち最適なものを選択してローカル DNS 経由でクライアントに返し、クライアントは返された VIP にアクセスします。このときの分散方式には、ハッシュ、最小負荷、オーダー順、ラウンドロビン、重み付けラウンドロビンなどがあります。組織のニーズやポリシーに応じて、たとえばユーザを特定のデータセンターに優先して誘導することも、各データセンターに順番に誘導することもできます。

このようにシスコの広域負荷分散テクノロジーは、データセンターの耐障害性を高めるだけでなく、通常時における効率的なリソース使用を可能にします。これは、企業の課題となっている生産性向上および業務継続性の実現に繋がります。

お問い合わせ