Traffic Manager を使ってネットワーク トラフィックをルーティングする

完了

顧客は、あなたの会社の音楽ストリーミング アプリケーションが 24 時間 365 日利用可能になることを求めています。 1 つのリージョンにあるクラウド サービスは、計画メンテナンスやスケジュールされたセキュリティ更新など、技術的な問題が原因で利用できなくなる場合があります。 これらのシナリオでは、顧客が引き続きそのサービスにアクセスできるように、会社でフェールオーバー エンドポイントを用意する必要があります。 トラフィックのルーティングを管理し、これらの状況に対処するために、Azure Traffic Manager を実装することにしました。

Illustration of a world map showing app users and app services in different countries/regions.

Traffic Manager のしくみ

クライアントがサービスに接続しようとすると、最初にそのサービスの DNS 名が IP アドレスとして解決されます。 その後、クライアントはその IP アドレスに接続してサービスにアクセスします。

Traffic Manager では DNS を使い、使用されるトラフィックのルーティング方法のルールに基づいて、クライアントを特定のサービス エンドポイントの IP アドレスに誘導します。 クライアントは、選択されたエンドポイントに直接接続します。 Traffic Manager はプロキシやゲートウェイではありません。 Traffic Manager によりクライアントとサービス間を通過するトラフィックが確認されることはありません。アクセスする必要がある IP アドレスがクライアントに提供されるだけです。

Traffic Manager エンドポイント

エンドポイントは、クライアントに返される送信先です。 Traffic Manager では、各アプリケーションのデプロイをエンドポイントとして構成します。 Traffic Manager が DNS 要求を受信すると、DNS 応答で返すことができるエンドポイントを選択します。 Traffic Manager でサポートされるエンドポイントには、次の 3 種類があります。

  • Azure エンドポイント: Azure でホストされるサービスで使用されます。 これには、Azure App Service のようなサービスや、ロード バランサーまたは仮想マシンに関連付けられているパブリック IP リソースなどがあります。
  • 外部エンドポイントは、IPv4/IPv6 アドレス、FQDN、または Azure の外部でホストされているサービス (オンプレミスまたは異なるホスティング プロバイダー) に使われます。
  • 入れ子になったエンドポイント: Traffic Manager プロファイルを組み合わせて、より柔軟なトラフィック ルーティング スキームを作成し、より大規模で複雑なデプロイのニーズに対応するために使用されます。

1 つの Traffic Manager プロファイルで異なる種類のエンドポイントを組み合わせる方法に制限はありません。 各プロファイルでは、エンドポイントの種類を好きなように組み合わせることができます。

Traffic Manager のルーティング方法

Traffic Manager では、トラフィックを複数のエンドポイントにルーティングする方法を選択するためのさまざまな方法がサポートされています。 Traffic Manager では、受信する DNS クエリごとにトラフィックのルーティング方法を適用し、応答で返されるエンドポイントを決定します。 6 つのトラフィックのルーティング方法から選択できます。

重み付けルーティング

一連のエンドポイントにわたって、均等に、またはさまざまな重みに基づいてトラフィックを分散させたい場合は、重み付けを選択します。 重みは 1 から 1,000 までの整数です。 Traffic Manager では、受信する DNS クエリごとに、使用可能なエンドポイントをランダムに選択します。 あるエンドポイントが選択される確率は、すべての利用可能なエンドポイントに割り当てられている重みに基づきます。

Diagram of an example of a setup where a client connects to a Traffic Manager and their traffic is routed based on weightings of three endpoints.

パフォーマンス ルーティング

地理的に異なる場所にエンドポイントがある場合、パフォーマンス ルーティングを使って、ユーザーにとってパフォーマンスが最適となるエンドポイントにそのユーザーを送ることができます。 使用する最適なエンドポイントを選択するために、このルーティング方法ではインターネット待機時間テーブルを使います。これにより、世界中の場所からエンドポイントまでのネットワーク待機時間が、アクティブに追跡されます。 ユーザーが要求を行うと、Traffic Manager は、要求の場所に基づいて、最適なパフォーマンスのエンドポイントを返します。

Diagram of an example of a setup where a client connects to Traffic Manager and their traffic is routed based on relative performance of three endpoints.

地理的ルーティング

地理的なルーティング方法を使用すると、ユーザーは、各自の DNS クエリの発信元の場所に基づいて特定のエンドポイントに誘導されます。 この方法を使用すると、特定のユーザーのリージョンに対してコンテンツをジオフェンスで囲むことができます。 たとえば、ヨーロッパのユーザーを、リージョナル コンプライアンス用の特定の使用条件を備えたヨーロッパのエンドポイントに誘導することができます。 中国のユーザーは、標準中国語でローカライズされているエンドポイントに誘導することができます。

Diagram of an example of a setup where a client connects to Traffic Manager and their traffic is routed based on the geographic location of four endpoints.

複数値ルーティング

複数値ルーティング方法を使って、1 回の DNS クエリ応答で複数の正常なエンドポイントを取得することができます。 エンドポイントが応答しない場合、呼び出し元は、他のエンドポイントを使ってクライアント側の再試行を実行することができます。 このパターンにより、サービスの可用性を高め、正常なエンドポイントを取得するための新しい DNS クエリに関連付けられた待ち時間を減らすことができます。

サブネット ルーティング

この方法では、ユーザーの IP アドレスの範囲のセットを Traffic Manager プロファイル内の特定のエンドポイントにマップします。 要求を受信した Traffic Manager から返されるエンドポイントは、その要求の発信元 IP アドレスにマップされているものです。 たとえば、サブネット ルーティングを使用すると、顧客は自社のオフィスから送信されたすべての要求を異なるエンドポイントにルーティングし、そこで社内限定版のアプリをテストすることができます。 もう 1 つのシナリオは、特定の ISP から接続しているユーザーに別のエクスペリエンスを提供したい場合です (例: 特定の ISP からのユーザーをブロックする)。

優先順位によるルーティング

Traffic Manager プロファイルには、サービス エンドポイントの優先順位リストが含まれます。 Traffic Manager では、既定では、すべてのトラフィックがプライマリ (優先順位が一番高い) エンドポイントに送信されます。 プライマリ エンドポイントを使用できない場合は、Traffic Manager により 2 番目のエンドポイントにトラフィックがルーティングされます。 プライマリとセカンダリのどちらのエンドポイントも使用できない場合、トラフィックは 3 番目のエンドポイントに送信されます。以降も同様です。 エンドポイントの可用性は、構成済みのステータス (有効または無効) と、設定したエンドポイントの継続的な監視に基づきます。

Diagram of an example of a setup where a client connects to Traffic Manager and their traffic is routed based on the priority given to three endpoints.