次の方法で共有


Traffic Manager のルーティング方法

Azure Traffic Manager では、ネットワーク トラフィックをサービス エンドポイントにルーティングする方法を決定する 6 つのトラフィック ルーティング方法がサポートされており、トラフィック フローの最適化とアプリケーションの可用性の向上に役立ちます。 各 Traffic Manager プロファイルは、DNS クエリに 1 つのルーティング方法 (優先順位、重み付け、パフォーマンス、地理的、複数値、サブネット) を適用します。 ルーティング方法は、DNS 応答で返すエンドポイントを決定します。

Traffic Manager では、次のトラフィック ルーティング方法を使用できます。

  • 優先順位: すべてのトラフィックにプライマリ サービス エンドポイントを使用する場合は、[ 優先順位 ルーティング] を選択します。 プライマリ エンドポイントまたはいずれかのバックアップ エンドポイントが使用できない場合は、複数のバックアップ エンドポイントを指定できます。
  • 重み付け: 重みに基づいて一連のエンドポイントにトラフィックを分散させる場合は、[重み付け] ルーティングを選択します。 すべてのエンドポイントに均等に配分するには、重みを同じに設定します。
  • パフォーマンス: 異なる地理的な場所にエンドポイントがあり、ユーザーが最も近いエンドポイントを使用してネットワーク待機時間を最小限に抑える場合は、[ パフォーマンス ルーティング] を選択します。
  • 地理的: DNS クエリの地理的な場所に基づいて特定のエンドポイント (Azure、外部、または入れ子になった) にユーザーを誘導する 地理的 ルーティングを選択します。 このルーティング方法は、データ主権の義務、コンテンツとユーザー エクスペリエンスのローカライズ、さまざまなリージョンからのトラフィックの測定などのシナリオに準拠するのに役立ちます。
  • 複数値: エンドポイントとして IPv4 および IPv6 アドレスしか割り当てることのできない Traffic Manager プロファイルには、[複数値] を選択します。 このプロファイルは、クエリを受信すると、すべての正常なエンドポイントを返します。
  • サブネット: ユーザー IP アドレス範囲のセットを特定のエンドポイントにマップする サブネット トラフィック ルーティング方法を選択します。 Traffic Manager は、要求を受信すると、その要求のソース IP アドレスにマップされたエンドポイントを返します。

すべての Traffic Manager プロファイルには、正常性の監視とエンドポイントの自動フェールオーバーが含まれます。 詳細については、Traffic Manager のエンドポイント監視に関する記事をご覧ください。 Traffic Manager プロファイル内では、一度に 1 つのトラフィック ルーティング方法のみを構成できます。 プロファイルに対し、いつでも異なるトラフィック ルーティング方法を選択できます。 変更はダウンタイムなしで 1 分以内に適用されます。 入れ子になった Traffic Manager プロファイルを使用することで、トラフィック ルーティング方法を組み合わせることができます。 プロファイルをネストすることにより、大規模で複雑なアプリケーションのニーズに対応する高度なトラフィックルーティングの構成が可能になります。 詳細については、「入れ子になった Traffic Manager プロファイル」を参照してください。

優先順位トラフィック ルーティング方法

多くの場合、組織は、プライマリ サービスが失敗した場合に備えて 1 つ以上のバックアップ サービスをデプロイすることで、サービスの信頼性を提供したいと考えています。 優先順位のトラフィック ルーティング方法を使用すると、Azure のお客様はこのフェールオーバー パターンを簡単に実装できます。

Azure Traffic Manager Priority のトラフィック ルーティング方法の図のスクリーンショット。

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

エンドポイントの構成

Azure Resource Manager では、エンドポイントごとに priority プロパティを使用して、エンドポイントの優先度を明示的に構成します。 このプロパティの値の範囲は、1 - 1000 です。 値が小さいほど、優先順位が高くなります。 複数のエンドポイントで優先順位値を共有することはできません。 プロパティの設定は省略可能です。 このプロパティを省略すると、Traffic Manager はエンドポイントの順序に基づいて既定の優先度を使用します。

重み付けトラフィック ルーティング方法

重み付けトラフィック ルーティング方法を使用すると、トラフィックを均等に分散したり、定義済みの重み付けを使用したりできます。

Azure Traffic Manager の重み付けトラフィック ルーティング方法の図のスクリーンショット。

重み付けトラフィック ルーティング方法では、Traffic Manager プロファイル構成で各エンドポイントに重みを割り当てます。 重みは 1 から 1000 の整数です。 このパラメーターは省略可能です。 省略した場合、Traffic Manager では既定の重み 1 が使用されます。 重みが大きくなると、優先順位がそれだけ上がります。

Traffic Manager では、受信する DNS クエリごとに、使用可能なエンドポイントをランダムに選択します。 あるエンドポイントが選択される確率は、すべての利用可能なエンドポイントに割り当てられている重みに基づきます。 すべてのエンドポイント間で同じ重みを使用すると、トラフィック分散は均一になります。 特定のエンドポイントの重みを大きくする (または小さくする) と、それらのエンドポイントは DNS からの応答の頻度が増えます (または減ります)。

重み付け方式を使用することで、有用なシナリオをいくつか実現できます。

  • アプリケーションの段階的なアップグレード: 新しいエンドポイントにルーティングするトラフィックの割合を割り当て、時間の経過と同時にトラフィックを徐々に 100%に増やします。
  • Azure へのアプリケーションの移行: Azure と外部の両方のエンドポイントを使用してプロファイルを作成します。 エンドポイントの重みを調整して新しいエンドポイントを優先します。
  • より多くの容量のためのクラウドバースト: Traffic Manager プロファイルの背後に配置することで、オンプレミスのデプロイをクラウドにすばやく拡張できます。 クラウドに追加容量が必要なとき、エンドポイントを追加または有効にして、各エンドポイントに送るトラフィックの割り当てを指定します。

重みは Azure portal、Azure PowerShell、CLI、または REST API を使用して構成できます。

クライアントと、クライアントが DNS 名の解決に使用する再帰 DNS サーバーは、DNS 応答をキャッシュします。 このキャッシュは、加重トラフィック分散に影響する可能性があります。 クライアントと再帰 DNS サーバーの数が多い場合は、トラフィック分散が期待どおりに機能します。 ただし、クライアントまたは再帰 DNS サーバーの数が少ない場合は、キャッシュによってトラフィック分散に大きな偏りが生じる可能性があります。

一般的なユース ケースは次のとおりです。

  • 開発環境とテスト環境
  • アプリケーション間の通信
  • 共通の再帰 DNS インフラストラクチャを共有する狭いユーザー ベースを目的としたアプリケーション (プロキシ経由で接続している会社の従業員など)

これらの DNS キャッシュの影響は、Azure Traffic Manager だけでなく、DNS ベースのすべてのトラフィック ルーティング システムに共通するものです。 場合によっては、DNS キャッシュを明示的にクリアすると回避策が提供される場合があります。 それでも問題が解決しない場合は、代替のトラフィック ルーティング方法が適している可能性があります。

パフォーマンス トラフィック ルーティング方法

世界の複数の場所にエンドポイントをデプロイすると、お使いのアプリケーションの応答性を向上させることができます。 パフォーマンス トラフィック ルーティング方法を使用すると、最も近い場所にトラフィックをルーティングできます。

Azure Traffic Manager のパフォーマンス トラフィック ルーティング方法の図のスクリーンショット。

最も近いエンドポイントは、必ずしも地理的な距離によって最も近いとは限りません。 代わりに、パフォーマンス トラフィック ルーティング方法は、ネットワーク待ち時間を測定することによって最も近いエンドポイントを決定します。 Traffic Manager は、インターネット待機時間テーブルを管理して、IP アドレス範囲と各 Azure データセンター間のラウンドトリップ時間を追跡します。

Traffic Manager は、受信 DNS 要求の送信元 IP アドレスをインターネット待機時間テーブルで見つけます。 その後、Traffic Manager は、その IP アドレス範囲の待機時間が最も短い Azure データセンター内の使用可能なエンドポイントを選択し、そのエンドポイントを DNS 応答で返します。

Traffic Manager のしくみ」で説明したように、Traffic Manager では DNS クエリがクライアントから直接受信されません。 代わりに、DNS クエリは、クライアントが使用する再帰 DNS サービスから取得されます。 Traffic Manager は、再帰 DNS サービスの IP アドレスを使用して、クライアントの IP アドレスではなく、最も近いエンドポイントを決定します。 この IP アドレスは、クライアントにとって適切なプロキシとして機能します。

Traffic Manager は、インターネット待機時間テーブルを定期的に更新して、グローバル インターネットと新しい Azure リージョンの変化に対応しています。 ただし、アプリケーションのパフォーマンスは、インターネット全体におけるリアルタイムな負荷の変動によって変わります。 パフォーマンスによるトラフィック ルーティングでは、特定のサービス エンドポイントの負荷は監視されません。 エンドポイントが使用できなくなった場合、Traffic Manager は DNS クエリ応答にエンドポイントを含めません。

注意する点:

  • プロファイルに同一 Azure リージョン内の複数のエンドポイントが含まれている場合、Traffic Manager では、そのリージョンで利用可能なエンドポイントにトラフィックが均等に分散されます。 リージョン内で別のトラフィック分散を使用する場合は、入れ子になった Traffic Manager プロファイルを使用できます。
  • 最も近い Azure リージョン内のすべての有効なエンドポイントの機能が低下している場合は、Traffic Manager によって次に近い Azure リージョン内のエンドポイントにトラフィックが移動されます。 希望するフェールオーバー シーケンスを定義する場合は、「入れ子になった Traffic Manager プロファイル」を使用してください。
  • 外部エンドポイントまたは入れ子になったエンドポイントでパフォーマンス トラフィック ルーティング方法を使用する場合は、エンドポイントの場所を指定する必要があります。 デプロイメントに最も近い Azure リージョンを選択してください。 これらの場所は、インターネット待機時間テーブルでサポートされている値です。
  • エンドポイントを選択するアルゴリズムは確定的です。 同じクライアントからの反復 DNS クエリは、同じエンドポイントに送信されます。 通常、クライアントは移動時に異なる再帰 DNS サーバーを使用するため、クライアントは別のエンドポイントにルーティングされる可能性があります。 インターネット待機時間テーブルの更新はルーティングに影響します。 パフォーマンス トラフィック ルーティング方法では、クライアントが常に同じエンドポイントにルーティングされるとは限りません。
  • インターネット待機時間テーブルが変更されると、一部のクライアントが別のエンドポイントに転送されていることに気付く場合があります。 このルーティングの変更は、最新の待機時間データに基づいてより正確に行われます。 これらの更新は、インターネットが継続的に発展する中で、パフォーマンス トラフィック ルーティングの精度を維持するために不可欠となります。

地理的トラフィック ルーティング方法

Traffic Manager プロファイルは、ユーザーが DNS クエリの地理的な場所に基づいて特定のエンドポイント (Azure、外部、または入れ子になった) に誘導されるように、地理的ルーティング方法を使用するように構成できます。 このルーティング方法は、データ主権の義務、コンテンツとユーザー エクスペリエンスのローカライズ、さまざまなリージョンからのトラフィックの測定に準拠するのに役立ちます。

地理的ルーティング用にプロファイルを構成したら、そのプロファイルに関連付けられた各エンドポイントに地理的なリージョンのセットを割り当てる必要があります。 地理的リージョンは、次のレベルの粒度で指定できます。

  • 世界 - 任意のリージョン
  • 地域グループ – 例: アフリカ、中東、オーストラリア/太平洋
  • 国/地域 – 例: アイルランド、ペルー、香港特別行政区
  • 州/州 – たとえば、米国カリフォルニア州、オーストラリア-メルボルン州、Canada-Alberta (この粒度レベルは、オーストラリア、カナダ、および米国の州/州でのみサポートされます)

リージョンまたはリージョンのセットをエンドポイントに割り当てると、Traffic Manager はそれらのリージョンからの要求をそのエンドポイントにのみルーティングします。 Traffic Manager では、DNS クエリのソース IP アドレスを使用して、ユーザーがクエリを実行するリージョン (通常は、ユーザーのクエリを作成するローカル DNS リゾルバーの IP アドレス) を決定します。

Azure Traffic Manager の地理的なトラフィック ルーティング方法の図のスクリーンショット。

Traffic Manager は、DNS クエリの送信元 IP アドレスを読み取り、送信元の地理的リージョンを決定します。 その後、エンドポイントにこの地理的リージョンがマップされているかどうかを確認します。 このルックアップは、最も低い粒度レベル (サポートされている州/州、次に国/地域レベル) から始まり、最高レベル ( World) に上がります。 Traffic Manager は、クエリ応答で返されるエンドポイントとして、このトラバーサルを使用して検出された最初の一致を選択します。 クエリが入れ子になった型のエンドポイントと一致すると、Traffic Manager はルーティング方法に基づいて、その子プロファイル内のエンドポイントを返します。 この動作には、次の点が適用されます。

  • ルーティングの種類が地理的ルーティングの場合、リージョンは Traffic Manager プロファイル内の 1 つのエンドポイントにのみマップできます。 この制限により、ユーザーのルーティングが確定的になるため、お客様は、明確な地理的境界を必要とするシナリオを実現できます。

  • ユーザーのリージョンが 2 つの異なるエンドポイントの地理的マッピングの下に一覧表示されている場合、Traffic Manager は最小の粒度でエンドポイントを選択し、そのリージョンから他のエンドポイントへの要求のルーティングは考慮しません。 たとえば、エンドポイント 1 と Endpoint2 の 2 つのエンドポイントを持つ地理的ルーティングの種類プロファイルを考えてみましょう。 Endpoint1 はアイルランドからのトラフィックを受信するように構成し、Endpoint2 はヨーロッパからのトラフィックを受信するように構成します。 要求がアイルランドから送信された場合、要求は常に Endpoint1 にルーティングされます。

  • リージョンをマップできるのは 1 つのエンドポイントに限られるため、Traffic Manager は、エンドポイントが正常かどうかに関係なく応答を返します。

    重要

    地理的ルーティング方法を使用するお客様は、各子プロファイルに少なくとも2つのエンドポイントを含む入れ子型エンドポイントとしてこれを関連付けることを強くお勧めします。

  • Traffic Manager がエンドポイントの一致を検出し、そのエンドポイントが 停止 状態の場合、Traffic Manager は NODATA 応答を返します。 この場合、Traffic Manager が地理的リージョン階層の上位でさらに参照を行うことはありません。 この動作は、子プロファイルが 停止 状態または 無効 状態の場合に、入れ子になったエンドポイントの種類にも適用されます。

  • エンドポイントに [無効] 状態が表示される場合、Traffic Manager はリージョン一致プロセスに含まれません。 この動作は、エンドポイントが Disabled 状態の場合に、入れ子になったエンドポイントの種類にも適用されます。

  • クエリが、そのプロファイルにマッピングされていない地理的リージョンから送信された場合、Traffic Manager は NODATA 応答を返します。 地理的ルーティングを、一つのメインエンドポイントで使用することを強くお勧めします。理想的には、少なくとも2つのエンドポイントを持つ、ネスト構造の子プロファイルを持つタイプで、それにWorld リージョンが割り当てられることを推奨します。 この構成により、リージョンにマップされない IP アドレスが Traffic Manager によって確実に処理されるようになります。

Traffic Manager のしくみ」で説明したように、Traffic Manager では DNS クエリがクライアントから直接受信されません。 DNS クエリは、クライアントが使用する再帰 DNS サービスから取得されます。 Traffic Manager は、再帰 DNS サービスの IP アドレスを使用して、クライアントの IP アドレスではなく、リージョンを決定します。 この IP アドレスは、クライアントにとって適切なプロキシとして機能します。

FAQ

複数値トラフィック ルーティング方法

複数値トラフィック ルーティング方法では、1 回の DNS クエリ応答で複数の正常なエンドポイントを取得することができます。 この構成により、返されたエンドポイントが応答しなくなった場合に、呼び出し元は他のエンドポイントと共にクライアント側の再試行を実行できます。 このパターンを使用すると、サービスの可用性を高めることができ、また、新しい DNS クエリで正常なエンドポイントを取得することによって生じる待ち時間を減らすことができます。 MultiValue ルーティング方法は、すべてのエンドポイントが External 型で、IPv4 または IPv6 アドレスとして指定した場合にのみ機能します。 このプロファイルがクエリを受信すると、Traffic Manager は、構成可能な最大リターン数に従って、すべての正常なエンドポイントを返します。

FAQ

サブネット トラフィック ルーティング方法

サブネット トラフィック ルーティング方法を使用すると、一連のユーザー IP アドレス範囲をプロファイル内の特定のエンドポイントにマップできます。 Traffic Manager は、そのプロファイルの DNS クエリを受信すると、その要求の送信元 IP アドレスを検査し、それにマップするエンドポイントを決定し、クエリ応答でそのエンドポイントを返します。 ほとんどの場合、ソース IP アドレスは、呼び出し元が使用する DNS リゾルバーです。

エンドポイントにマップする IP アドレスを CIDR 範囲 (1.2.3.0/24 など) またはアドレス範囲 (1.2.3.4-5.6.7.8 など) として指定できます。 エンドポイントに関連付けられる IP 範囲は、そのプロファイル内で一意である必要があります。 アドレス範囲は、同じプロファイル内の別のエンドポイントの IP アドレス セットと重複することはできません。

アドレス範囲のないエンドポイントを定義すると、フォールバックとして機能し、残りのサブネットからトラフィックを受け取ります。 フォールバック エンドポイントが含まれていない場合、Traffic Manager は任意の未定義の範囲に NODATA 応答を送信します。 可能なすべての IP 範囲がエンドポイント全体で指定されるように、フォールバック エンドポイントを定義することを強くお勧めします。

サブネット ルーティングを使えば、特定の IP 空間から接続してきているユーザーに異なるエクスペリエンスを提供することができます。 たとえば、会社のオフィスから別のエンドポイントにすべての要求をルーティングできます。 このルーティング方法は、アプリの内部専用バージョンをテストする場合に特に便利です。 もう 1 つのシナリオは、特定の ISP から接続するユーザーに別のエクスペリエンスを提供する場合です (たとえば、特定の ISP からのユーザーをブロックします)。

FAQ

次のステップ

Traffic Manager のエンドポイント監視機能を使用して、高可用性アプリケーションを開発する方法を確認します。