はじめに
Windows Azure Traffic Manager(以下、Traffic Manager)は、複数のホステットサービスで提供されているサービスに対して、ロードバランス機能を提供します。2011年4月に開催されたMIX2011で発表された新しい機能です。
複数のホステッドサービスは、同一データセンターで稼働していても、異なるデータセンターで稼働していても構いません。Traffic Managerのロードバランス機能は、DNSクエリに対してTraffic Managerが適切なDNS名を返却することで実現されています。これは、一般的な負荷分散装置ではなく、DNSの仕組みを用いて実装されていることを意味します。
対象読者
- Windows Azureの新機能に興味のある方
- Windows Azureのサブスクリプションを持っており、Azureを利用したことがある方
必要な環境
- Windows Azureサブスクリプション
- Visual Studio 2010もしくは、Visual Web Developer 2010 Express
- Windows Azure Tools for Microsoft Visual Studio 2011.3以降(Windows Azure SDK 1.4含む)
Traffic Managerの仕組み
DNSをベースとした技術で実装されているTraffic Managerですが、この概要を示したものが図1となります。利用者はあらかじめポリシーを定義します。ポリシーには、ロードバランス方式やポリシーに含めるホステッドサービスなどを定義します。このときはポリシーに含めることができるホステッドサービスは、同一サブスクリプションに限ります。
利用者は、Traffic Managerに割り当てられたDNS名にアクセスします(注1)。Traffic Managerは、定義されたポリシーにより、リクエストに応じたホステッドサービスのDNS名を返却します。利用者は返却されたDNS名に従ってサービスにアクセスすることになります。
ロードバランス方式には、パフォーマンス(Performance)、フェールオーバー(Failover)、ラウンドロビン(Round Robin)の3種類の方法が提供されています。詳しくは、次節以降で解説します。
正式なサービスでは、独自ドメインを別名として割り当てて利用します。
パフォーマンス
パフォーマンスは、アクセス元から最も近いホステッドサービスのDNS名が返却されます。Traffic Managerは、IPアドレスとデータセンター間の往復時間を記録したパフォーマンステーブルを使用して、返却するホステッドサービスのDNS名を決定します(図2)。例えば、東アジアと北中央アメリカにサービスを展開した場合、東アジアに近い地域からのアクセスは東アジアのデータセンターに、アメリカに近い地域からのアクセスは北中央アメリカのデータセンターに振り分けられます。
ホステッドサービスがダウンしている場合には、そのホステッドサービスのURLは返却されません。また、Traffic Managerは各ホステッドサービスの負荷を考慮するものではないことに注意してください。
フェールオーバー
フェールオーバーとは、その名のとおり、プライマリのホステッドサービスに何らかの障害が発生し、オフラインと判定された場合に、代替となるスタンバイ側のホステッドサービスのDNS名が返却されます(図3)。プライマリがオンラインの場合は、常にプライマリのDNS名が返却されます。プライマリ、スタンバイの順序はポリシーで定義します。
すべてのホステッドサービスがオフラインの場合は、プライマリのホステッドサービスのDNS名が返却されます。
ラウンドロビン
ラウンドロビンは、ホステッドサービスのDNS名が順番に返却されます。結果として、各ホステッドサービスへアクセスが均等に割り振られることになります。