Traffic Manager エンドポイント
Azure Traffic Manager を使用すると、さまざまなデータ センターで実行されているアプリケーションのデプロイに、どのようにネットワーク トラフィックを分散させるかを制御できます。 Traffic Manager では、各アプリケーションのデプロイを 'エンドポイント' として構成します。 Traffic Manager が DNS 要求を受信すると、DNS 応答で返すことができるエンドポイントを選択します。 Traffic Manager は、現在のエンドポイントの状態とトラフィック ルーティング方法に基づいて選択を行います。 詳細については、「 Traffic Manager のしくみ」をご覧ください。
Traffic Manager がサポートするエンドポイントには、次の 3 種類があります。
- Azure エンドポイントは、Azure でホストされるサービスに使用されます。
- 外部エンドポイントは、IPv4/IPv6 アドレス、FQDN、または Azure の外部でホストされるサービスに対して使用されます。 これらのサービスは、オンプレミスの場合と、異なるホスティング プロバイダーを使用している場合があります。
- 入れ子になったエンドポイントは、Traffic Manager プロファイルを組み合わせて、より柔軟なトラフィック ルーティング スキームを作成し、より大規模で複雑なデプロイのニーズに対応するために使用されます。
単一の Traffic Manager プロファイルや入れ子になっているプロファイル階層でさまざまな種類のエンドポイントを組み合わせる方法にはいくつかの制約があります。 さまざまな種類のターゲット (ドメイン名、IP アドレス) がある外部エンドポイントやターゲットとして IP アドレスがある外部エンドポイントを Azure エンドポイントと混在させることはできません。
次のセクションでは、各エンドポイントの種類についてさらに詳しく説明します。
Azure エンドポイント
Azure エンドポイントは、Traffic Manager で Azure ベースのサービスに使用されます。 次の Azure リソースの種類がサポートされています。
- PaaS クラウド サービス。
- Web Apps
- Web アプリ スロット
- PublicIPAddress リソース (直接、または Azure Load Balancer を介して VM に接続可能) publicIpAddress には、Traffic Manager プロファイルで使用するために DNS 名を割り当てておく必要があります。
PublicIPAddress リソースは Azure Resource Manager のリソースです。 これらは、クラシック デプロイ モデルには存在せず、Traffic Manager の Azure Resource Manager エクスペリエンスでのみサポートされます。 その他の種類のエンドポイントは、リソース マネージャーとクラシック デプロイ モデルの両方でサポートされます。
Azure エンドポイントを使用しているとき、Traffic Manager は、Web アプリがいつ停止され、いつ開始されたかを検出します。 この状態は、エンドポイントの状態に反映されます。 詳細については、Traffic Manager のエンドポイント監視に関する記事をご覧ください。 基になるサービスが停止すると、Traffic Manager でエンドポイントの正常性チェックや、エンドポイントへのトラフィック転送が行われなくなります。 停止したインスタンスに対しては、Traffic Manager の課金イベントは発生しません。 サービスが再起動されると課金が再開され、エンドポイントはトラフィックを受け取れるようになります。 この検出機能は、PublicIpAddress エンドポイントには適用されません。
外部エンドポイント
IPv4/IPv6 アドレス、FQDN、または Azure 外部のサービスには、外部エンドポイントが使用されます。 IPv4/IPv6 アドレスのエンドポイントを使用すると、Traffic Manager は、エンドポイントの DNS 名を必要とせずに、その正常性を確認できます。 その結果、Traffic Manager は、応答でそのエンドポイントを返すときに、A/AAAA レコードでクエリに応答できます。 Azure の外部のサービスとは、オンプレミスや他のプロバイダーでホストされているサービスなどです。 外部エンドポイントは個別に使用することも、同じ Traffic Manager プロファイルで Azure エンドポイントと組み合わせることもできます。 ただし、IPv4 または IPv6 のアドレスとして指定されているエンドポイントは例外で、外部エンドポイントとしてのみ存在できます。 Azure エンドポイントと外部エンドポイントを組み合わせると、次のようにさまざまなシナリオが可能になります。
- Azure を使用して、アクティブ/アクティブまたはアクティブ/パッシブ フェールオーバー モデルで、既存のオンプレミス アプリケーションの冗長性を向上させます。
- DNS 名が関連付けられていないエンドポイントにトラフィックをルーティングします。 また、返された DNS 名の IP アドレスを取得するために 2 番目の DNS クエリを実行する必要がないため、DNS ルックアップ全体の待機時間が減ります。
- 世界各地のユーザーのアプリケーションの待機時間を減らし、Azure で既存のオンプレミス アプリケーションを他の主要地域に拡張します。 詳細については、パフォーマンス トラフィック ルーティングに関する記事を参照してください。
- Azure を使用して、既存のオンプレミス アプリケーションの容量を、継続的に、または "クラウドへのバースト" ソリューションとして追加し、需要の急増に対処します。
場合によっては、外部エンドポイントを使用して Azure サービスを参照すると便利です。 例については、「FAQ」を参照してください。 正常性チェックは、外部エンドポイントの料金ではなく、Azure エンドポイントの料金で課金されます。 Azure エンドポイントとは異なり、基になるサービスを停止または削除しても、正常性チェックに対する課金は継続されます。 Traffic Manager でエンドポイントを無効にするか削除すると、課金は停止します。
入れ子になったエンドポイント
入れ子になったエンドポイントでは、複数の Traffic Manager プロファイルを組み合わせて、柔軟なトラフィック ルーティング スキームを作成し、大規模で複雑なデプロイのニーズに対応できます。 入れ子になったエンドポイントでは、"子" プロファイルがエンドポイントとして "親" プロファイルに追加されます。 子と親の両方のプロファイルには、入れ子になった他のプロファイルなど、あらゆる種類の他のエンドポイントを含めることができます。
詳細については、「入れ子になった Traffic Manager プロファイル」を参照してください。
エンドポイントとしての Web アプリ
Traffic Manager で Web アプリをエンドポイントとして構成するときの追加の考慮事項を示します。
- Traffic Manager で使用できるのは、Standard SKU 以上の Web アプリのみです。 SKU が低い Web アプリケーションの追加の試みが失敗します。 既存の Web アプリケーションの SKU をダウングレードすると、Traffic Manager がその Web アプリケーションにトラフィックを送信しなくなります。 サポートされているプランの詳細については、App Service プランに関するページをを参照してください。
- エンドポイントは HTTP 要求を受信すると、その要求内の "host" ヘッダーを使用して、どの Web アプリで要求を処理する必要があるかを決定します。 ホスト ヘッダーには、要求を開始するために使用される DNS 名 (
contosoapp.azurewebsites.net
など) が含まれています。 別の DNS 名を Web アプリケーションで使用するには、その DNS 名を、アプリのカスタム ドメイン名として登録する必要があります。 Web アプリケーション エンドポイントを Azure エンドポイントとして追加すると、Traffic Manager プロファイルの DNS 名は、そのアプリに自動的に登録されます。 この登録は、エンドポイントが削除されると、自動的に削除されます。 - 各 Traffic Manager プロファイルでは、Azure リージョンごとに最大 1 つの Web アプリ エンドポイントを使用できます。 この制約を回避するには、Web アプリケーションを外部エンドポイントとして構成します。 詳細については、FAQ をご覧ください。
エンドポイントの有効化と無効化
Traffic Manager でエンドポイントを無効にすると、メンテナンス モードのエンドポイントや再デプロイされるエンドポイントから一時的にトラフィックを削除するときに便利です。 エンドポイントが再度稼働状態になったら、もう一度有効にできます。
Azure portal、PowerShell、CLI、または REST API を使用して、Traffic Manager エンドポイントを有効または無効にできます。
注意
エンドポイントの無効化は、デプロイメント状態とは関係ありません。 Azure サービス (VM や Web アプリなど) は実行状態を維持し、Traffic Manager で無効にされた場合でもトラフィックを受信できます。 トラフィックは、Traffic Manager プロファイルの DNS 名を介してではなく、サービス インスタンスに直接送信できます。 詳細については、「 Traffic Manager のしくみ」をご覧ください。
現在、各エンドポイントがトラフィックを受信できるかどうかは、次の要因によって決まります。
- プロファイルの状態 (有効または無効)
- エンドポイントの状態 (有効または無効)
- そのエンドポイントの正常性チェックの結果
詳細については、 Traffic Manager のエンドポイント監視に関する記事をご覧ください。
注意
Traffic Manager は DNS レベルで動作するため、いずれかのエンドポイントとの既存の接続に影響を与えることはありません。 エンドポイントが利用できない場合、Traffic Manager は新しい接続を使用可能な別のエンドポイントへ誘導します。 ただし、無効または異常なエンドポイントの外側にあるホストは、セッションが終了するまで既存の接続を介してトラフィックを受信し続ける可能性があります。 トラフィックが既存の接続に転送されないようにするには、セッション期間をアプリケーションで制限する必要があります。
プロファイル内のすべてのエンドポイント、またはプロファイル自体が無効にされた場合、Traffic Manager は、新しい DNS クエリに対して NXDOMAIN
応答を送信します。
よく寄せられる質問
次のステップ
- Traffic Manager のしくみを確認します。
- Traffic Manager の エンドポイントの監視と自動フェールオーバーを確認します。
- Traffic Manager の トラフィック ルーティング方法を確認します。