Windows Azureエンタープライズアプリケーション開発技法

Windows Azure Virtual NetworkとTraffic Managerとフェデレーション認証
―― 第2章 Windows Azureプラットフォーム概要 2.3.5/2.3.6/2.3.7 ――

日本マイクロソフト株式会社 コンサルティングサービス統括本部
赤間 信幸
2011/12/26
Page1 Page2 Page3

2.3.6 Windows Azure Traffic Manager

 Windows Azure Traffic Manager(WATM)は、DNS名前解決のロジックを工夫することで、複数のデータセンターに配置されたサービス間でのフェールオーバーや負荷分散を行う仕組みである。この機能は、特にWindows Azureコンピュートサービスの災害対策(DR、ディザスタリカバリ)に繋がる重要なものであるため、ここで解説する。

Windows Azure Traffic Managerの内部動作

 WATMの正体は、事前に設定されたポリシーに基づいて、返信するIPアドレスを動的に変更するDNSサーバーである。WATMの動作アーキテクチャを図 2-32に示す。

 今、あるシステムを、シカゴ、シンガポール、香港の3つのデータセンターに重複配置したとする。この際、各データセンターに配置されたシステムには、個々のURLが付与される(表 2-9)。このとき、WATMを利用すると、これらの各サービスを束ねる形で1つのURLを作ることができる*3(例:http://nakama.ctp.trafficmgr.com/)。エンドユーザーがこのURLにアクセスしようとすると、内部的には名前解決が行われるが、この際、WATM(DNSサーバー)は、事前に設定されているポリシーに基づいて*4、いずれか1つのサービスのIPアドレスを返す。これにより、エンドユーザーは、適切なデータセンターのサービスへと誘導されることになる。

図 2-32 Windows Azure Traffic Manager

表 2-9 各データセンターに配置したAzureアプリケーションのURL(例)

*3 実際のシステムでは、このURLに対してCNAMEレコードを作成し、自社ドメイン名などに変えて運用することになる。(例:http://nakama.ctp.trafficmgr.com/ → http://www.nakama.microsoft.com など)
*4  クライアントとの距離に基づいて返信IPアドレスを決定する方式、 (生きているサービスのうち)最も上にあるサービスのIPアドレスを返す方式、 リストの中のサービスをラウンドロビンで返す方式、の3通りがある。は全世界レベルでのトラフィック分散、は災害対策のシナリオで利用する。いずれの方式であっても、ヘルスチェックに対して応答のないサービスに関しては、自動的に除外されるようになっている。

Windows Azure Traffic Managerの利用シナリオ

 この機能は、主に以下の2つのシナリオで使うことができる。

  • 全世界レベルでのトラフィック分散(図 2-33)
    • WATMでは、クライアントと各データセンターとの距離(通信のラウンドトリップ時間)を定期的に計測しており、このデータを用いて、クライアントから見て最も近いと思われるデータセンターのサービスのIPアドレスを返す機能を備えている。
    • これにより、エンドユーザーを近場のデータセンターに誘導できるようになり、エンドユーザーの体感速度を大幅に向上させることができる。
図 2-33 エンドユーザーを最も近いデータセンターに誘導するためのWATMの利用
  • 災害対策(図 2-34)
    • 通常、各データセンターの中では、各種の多重化を行っている(複数台のWebサーバーの利用、SQL AzureデータベースサービスやWindows Azureストレージサービスのデータ3多重化など)。このため、通常の障害(Webサーバーの1台が壊れる、SQL Azureデータベースの1つの複製が壊れる、など)では、サービスが停止することはない。
    • しかし大規模災害が発生し、データセンターそのものが壊滅的な被害を被った場合(すなわち冗長化したサーバーすべてがダウンした場合)には、この限りではなくなる(サービスが停止してしまう)。このような場合には、別データセンターへのサービスのフェールオーバーが必要である。
    • そこで、WATMを利用する。WATMは、プライマリサイトがヘルスチェックに応答しなくなった場合、クライアントに返信するIPアドレスを、セカンダリサイト(図の例の場合にはシンガポールデータセンターのサービス)に切り替える。これにより、拠点間フェールオーバーを実現することができる。
図 2-34 災害対策のためのWATMの利用

Windows Azure Traffic Manager利用時の注意点

 このように、WATMを利用することで、全世界規模でのトラフィック分散や、災害対策のための拠点間フェールオーバーを行うことができる。ただし、トラフィック分散や拠点間フェールオーバーを実際に行いたい場合には、ストレージデータをどのように拠点間で複製するのかについて、別途検討しなければならない*5。WATMは、あくまでエンドユーザーを適切なサイトへ誘導する仕組みでしかないためである。

*5 残念ながら、現時点ではこの点(データセンターまたがりでのデータ複製)に関しては、あまりよいソリューションが提供されておらず、手作業あるいはアプリケーションの作り込みで、データセンター間でのデータ複製を行う必要がある。中長期的には、 Windows Azureストレージサービスの拠点間複製機能、 SQL Azureデータベースの論理バックアップ/リストア機能、などが提供されることで解消されると思われる。WATMの利用を検討する場合には、これらに関する最新情報を調べていただければ幸いである。

 以上がWATMの概要である。最後に、フェデレーション認証について解説する。


 INDEX
  [書籍転載]Windows Azureエンタープライズアプリケーション開発技法
  Windows Azure Virtual NetworkとTraffic Managerとフェデレーション認証
    1.Windows Azure Virtual Network
  2.Windows Azure Traffic Manager
    3.フェデレーション認証

インデックス・ページヘ 「Windows Azureエンタープライズアプリケーション開発技法」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間