Windows Azure Traffic Manager

MIX11でアナウンスのあったWindows Azure Traffic Manager (CTP)がActiveになってました。
Windows Azure Traffic ManagerはWindows Azure Virtual Networkカテゴリに属する新しい機能です。(他にはWindows Azure Connect等が含まれます)

何をするものかというと、ホストサービス間をまたがってWeb Roleの負荷分散やフェイルオーバー、ラウンドロビンを行うことができます。

※詳細はWindows Azure Traffic Manager Configuration Guidを参照ください。(今時点で一番詳しいドキュメントです)
このドキュメントに動作原理やトラフィックの流れなど、全部書いてます。

使い方例

とりあえずホストサービス(データセンター)またがってWindows Azureアプリケーションが動作してないと話にならないので、さくっとWeb Roleを展開しておきます。

例:南米と香港DCで作成

次にWindows Azure Platform管理ポータルからVirtual Networkを選択して、Traffic ManagerからCreateメニューを選択します。

Create Traffic Manager Policyダイアログが開くので、負荷分散する方法をPerformance、Failover、Round Robinから選択、対象となるホストサービス(DNS)の選択と優先順位付け、監視対象のURLと、ロードバランシングされるDNSを決めます。

現時点でまだCTPなので、ドメイン名は ctp.trafficmgr.com で固定ですね。Prefixだけ定義できます。
今回はFail Overで試してみます。
作成後、ポリシーが有効になっていることを確認します。

Traffic Managerのポリシーで設定したDNSはCNAMEとして登録されます。

NSLookupで見てみると、優先度を上に設定したbuchizo-scus.cloudapp.net が返されます。

実際にTraffic Managerのポリシーで指定したブラウザでアクセスすると、実態のbuchizo-scus.cloudapp.netの結果が返りますね。
今回の設定はFail Overですので、基本的に優先度高のホストにだけ接続が行われます。
パフォーマンスの場合はユーザーに近いDCに自動的に振り分け(ユーザーのパフォーマンス優先)、ラウンドロビンの場合は完全にランダムです。(相手が落ちてても振られる)
※NSLookupの結果も毎回かわります
※2011.05.11 少し勘違いしていたので追記修正

 

さて、Fail Overですので、1つ目のサイトが落ちたらどうなるでしょうか?今回はテストということで、ホストサービスをいったん止めてみます。

 

これでbuchizo-scus.cloudapp.netへは接続できなくなりました。Traffic Manager側の設定で、2番目に指定しているbuchizo-eastasia.cloudapp.net に切り替わってるはずですね。

NSlookupでみると

正しく想定どおりの結果になっています。

ブラウザでも確認すると以下のように同じURLで実態はbuchizo-eastasia.cloudapp.netの結果になります。

期待どおりですね。ホストサービス(データセンター)をまたがってもトラフィックを分散・冗長化することができました。

 

その他の操作

Traffic Managerでは明示的に特定のホストサービスへの接続を遮断することができます。

計画停止する場合等、再デプロイの際にサービスを止めたくないケースで利用できそうですね。

まとめ

そんなわけでまだまだCTPなTraffic Managerですが、本格的なサービス運用には必要な機能をより簡単に扱えるのはうれしいですね。
今までだと自前で別途DNS/CNAMEの管理しないといけないのと、あくまでDNSレベルでしか対応できなかったのがパフォーマンスやサービスの稼働状態を見てくれるので格段に便利です。

とはいったもののテストしてたりすると、どうしてもDNSのキャッシュだったりブラウザのキャッシュだったりで期待する動作になりにくかったりしますので注意が必要ですね。
(DNSのTTLをどれぐらいにするか等も含めて、要注意ということで)

 

おまけ

アップデート来てからなのかどうかわかりませんが、管理ポータルの挙動が怪しいですね。よくエラーになったりします。。。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中