入れ子になった Traffic Manager プロファイル
Traffic Manager では、さまざまなトラフィック ルーティング方法を使用して、Traffic Manager が各エンド ユーザーからのトラフィックを受信するエンドポイントを選択する方法を制御できます。 詳細については、「 Traffic Manager のトラフィック ルーティング方法」を参照してください。
Traffic Manager プロファイルごとに 1 つのトラフィック ルーティング方法を指定します。 ただし、単一の Traffic Manager プロファイルで提供されるものよりも高度なトラフィック ルーティングが必要になるシナリオもあります。 Traffic Manager プロファイルを入れ子にして、複数のトラフィック ルーティング方法の利点を組み合わせることができます。 入れ子になったプロファイルを使用すると、既定の Traffic Manager の動作をオーバーライドして、より大規模でより複雑なアプリケーションのデプロイに対応することができます。
入れ子になったプロファイルを作成するには、"子" プロファイルをエンドポイントとして "親" プロファイルに追加します。 この記事では、いくつかの例を示します。
MinChildEndpoints
親プロファイルでエンドポイントとして子プロファイルを追加すると、MinChildEndpoints パラメーターが作成され、既定値 1 が割り当てられます。 このパラメーターは、正常であるために子プロファイルで使用できる必要があるエンドポイントの最小数を決定します。 このしきい値を下回ると、親プロファイルは、子プロファイル全体を利用不可と判断し、他の親プロファイルのエンドポイントにトラフィックを送信します。
親プロファイルでは、次のパラメーターを使用できます。
- MinChildEndpoints: 入れ子になったプロファイルの状態が正常であるための正常な子エンドポイントの最小数。
- MinChildEndpointsIPv4: 入れ子になったプロファイルの状態が正常であるための正常な IPv4 子エンドポイントの最小数。
- MinChildEndpointsIPv6: 入れ子になったプロファイルの状態が正常であるための正常な IPv6 子エンドポイントの最小数。
重要
入れ子になった MultiValue プロファイルには、少なくとも 1 つの IPv4 エンドポイントと 1 つの IPv6 エンドポイントが必要です。 常に MinChildEndpointsIPv4 と MinChildEndpointsIPv6 の値は複数値ルーティングメカニズムに基づいて構成し、単に既定値を使用しないでください。
MinChildEndpoints の値は、すべてのエンドポイントの種類を使用できるようにするための十分な大きさである必要があります。 値が小さすぎる場合は、エラー メッセージが表示されます。
次の例で、入れ子になった Traffic Manager プロファイルをさまざまなシナリオで使用する方法を説明します。
例 1: "パフォーマンス" トラフィック ルーティングと "加重" トラフィック ルーティングの組み合わせ
アプリケーションを Azure リージョンの米国西部、西ヨーロッパ、東アジアにデプロイしたとします。 Traffic Manager の "パフォーマンス" トラフィック ルーティング方法を使用して、ユーザーに最も近いリージョンにトラフィックを振り分けます。
次に、サービスの更新を広くロールアウトする前にテストする必要があるとします。 トラフィックのごく一部をテスト デプロイに送信するには、"重み付け" トラフィック ルーティング方法を使用する必要があります。 西ヨーロッパに既存の運用環境デプロイと共にテスト デプロイを設定します。
単一プロファイルで "重み付け" と "パフォーマンス" の両方のトラフィック ルーティングを組み合わせることはできません。 このシナリオをサポートするには、西ヨーロッパの 2 つのエンドポイントと "重み付け" トラフィック ルーティング方法を使用して Traffic Manager プロファイルを作成します。 次に、この "子" プロファイルを "親" プロファイルにエンドポイントとして追加します。 親プロファイルでは、パフォーマンス トラフィック ルーティング方法が引き続き使用され、エンドポイントとして他のグローバル デプロイが含まれます。
次の図にこの例を示します。
この構成では、親プロファイルを使用して転送されるトラフィックによって、通常どおりリージョン全体にトラフィックが振り分けられます。 西ヨーロッパ内では、入れ子になったプロファイルによって、割り当てられた重みに従って運用エンドポイントとテスト エンドポイントにトラフィックが分散されます。
親プロファイルで "パフォーマンス" トラフィック ルーティング方法を使用するときは、各エンドポイントに場所を割り当てる必要があります。 場所は、エンドポイントを構成するときに割り当てます。 デプロイメントに最も近い Azure リージョンを選択してください。 Azure のリージョンは、インターネット待機時間テーブルでサポートされている場所の値です。 詳細については、Traffic Manager の "パフォーマンス" によるトラフィック ルーティング方法に関する記事をご覧ください。
例 2: 入れ子になったプロファイルでのエンドポイントの監視
Traffic Manager は、各サービス エンドポイントの正常性をアクティブに監視します。 エンドポイントが正常でない場合、Traffic Manager は、別のエンドポイントにユーザーを送信してサービスの可用性を維持します。 このエンドポイントの監視とフェールオーバーの動作は、すべてのトラフィック ルーティング方法に適用されます。 詳細については、 Traffic Manager のエンドポイント監視に関する記事をご覧ください。 エンドポイントの監視は、入れ子になったプロファイルに対しては異なった動作をします。 入れ子になったプロファイルを使用した場合、親プロファイルでは子の正常性チェックが直接には実行されません。 代わりに、子プロファイルのエンドポイントの正常性を使用して、子プロファイルの全体的な正常性が計算されます。 この正常性の情報は、入れ子になったプロファイルの階層の上位に伝達されます。 親プロファイルは、集計したこの正常性を使用して、子プロファイルにトラフィックを送信するかどうかを決定します。 入れ子になったプロファイルの正常性の監視について詳しくは、「FAQ」をご覧ください。
前の例に戻って、西ヨーロッパの運用環境デプロイで障害が発生したとします。 既定では、"子" プロファイルはすべてのトラフィックをテスト デプロイに送信します。 テスト デプロイにも障害が発生した場合、すべての子エンドポイントが正常ではないため、親プロファイルは、子プロファイルでトラフィックを受信するべきではないと判断します。 その後、親プロファイルは、他の地域にトラフィックを振り分けます。
この配置で問題ない場合もあります。 ただし、限られた一部のトラフィックではなく、西ヨーロッパ向けのすべてのトラフィックが、このテスト デプロイに送信される懸念もあります。 テスト デプロイの状態に関係なく、西ヨーロッパの運用環境のデプロイが失敗した場合は、他のリージョンにフェールオーバーする必要があります。
次のシナリオでは、MinChildEndpoints の値が 2 に設定されています。 このしきい値を下回ると、親プロファイルは、子プロファイル全体を利用不可と判断し、他のエンドポイントにトラフィックを送信します。
注意
"優先順位" によるトラフィック ルーティング方法では、単一のエンドポイントにすべてのトラフィックが振り分けられます。 そのため、子プロファイルの MinChildEndpoints を '1' 以外の値に設定してもほとんど意味はありません。
例 3: "パフォーマンス" トラフィック ルーティングにおける優先フェールオーバー リージョン
"パフォーマンス" トラフィック ルーティング方式の既定の動作では、エンドポイントが地理的に異なる場所にある場合、エンド ユーザーはネットワーク待ち時間が最も短いという意味で "最も近い" エンドポイントにルーティングされます。
西ヨーロッパのトラフィックをなるべく米国西部にフェールオーバーし、これらのエンドポイントがどちらも使用できない場合にのみ、他の場所に送信するとします。 このソリューションは、"優先順位" トラフィック ルーティング方法と子プロファイルを使用して作成することができます。
西ヨーロッパ エンドポイントは米国西部エンドポイントよりも優先順位が高いため、どちらのエンドポイントもオンラインの場合は、すべてのトラフィックが西ヨーロッパ エンドポイントに送信されます。 西ヨーロッパで障害が発生した場合、トラフィックは米国西部に送信されます。 入れ子になったプロファイルを使用すると、西ヨーロッパと米国西部の両方で障害が発生した場合にのみ、トラフィックが東アジアに送信されます。
このパターンは、すべてのリージョンで繰り返すことができます。 親プロファイル内の 3 つのエンドポイントすべてを 3 つの子プロファイルに置き換え、それぞれにフェールオーバーの順序を優先順位付けして指定します。
例 4: 同じリージョンの複数のエンドポイント間での "パフォーマンス" トラフィック ルーティングの制御
特定のリージョンの複数のエンドポイントを含むプロファイルで "パフォーマンス" トラフィック ルーティング方法が使用されているとします。 既定では、そのリージョンに送信されるトラフィックは、そのリージョンの使用可能なすべてのエンドポイントに均等に分散されます。
西ヨーロッパに複数のエンドポイントが追加されるのではなく、複数のエンドポイントが個別の子プロファイルに囲み込まれます。 この子プロファイルは、西ヨーロッパの唯一のエンドポイントとして親に追加されます。 そのリージョン内で優先順位ベースまたは重み付けトラフィック ルーティングを有効にすることで、子プロファイルの設定を使用して西ヨーロッパでのトラフィック分散を制御できます。
例 5: エンドポイントごとの監視設定
従来のオンプレミス Web サイトから Azure でホストされる新しいクラウドベースのバージョンにトラフィックをスムーズに移行するために、Traffic Manager を使用するとします。 従来のサイトでは、ホーム ページの URI を使用して、サイトの正常性を監視します。 ただし、新しいクラウドベースのバージョンでは、その他のチェックも含まれたカスタムの監視ページ (パスは "/monitor.aspx") を実装します。
Traffic Manager プロファイルの監視の設定は、1 つのプロファイル内のすべてのエンドポイントに適用されます。 入れ子になったプロファイルを使用する場合は、サイトごとに別の子プロファイルを使用して、それぞれ異なる監視設定を定義します。
例 6: 入れ子になった複数値プロファイルによる IPv4 と IPv6 エンドポイントを使用したエンドポイント監視
入れ子になった IPv4 と IPv6 の両方の子エンドポイントがあり、その両方について、子の正常性に対する最小しきい値を設定するとします。 それぞれの種類について期待される正常なエンドポイントの最小数を定義できる新しいパラメーターがあります。 最小 IPv4 エンドポイント パラメーターと最小 IPv6 エンドポイント パラメーターは、親が正常と見なされるために必要な、それぞれの正常エンドポイントの最小数を決定します。
子エンドポイントの最小合計数の既定値は常に 1 で、IPv4 と IPv6 エンドポイントの既定の数を 0 とすることで下位互換性が確保されています。
この例では、米国東部のエンドポイントは異常です。ipv4-min-child プロパティで設定された、正常な IPv4 エンドポイントが少なくとも 1 つ必要という要件を満たしていません。
FAQ
同じ Traffic Manager プロファイルに、入れ子になった子プロファイルと他の種類のエンドポイントを混在させることはできますか。
Traffic Manager では、親プロファイルの入れ子になったエンドポイントの正常性をどのように計算するのですか。
次のステップ
Traffic Manager のプロファイルの詳細を確認する