アプリケーション要求ルーティング処理モジュールの使用
作成者: IIS チーム
はじめに
IIS 7 以降用 Microsoft アプリケーション要求ルーティング処理 (ARR) は、HTTP ヘッダー、サーバー変数、および負荷分散アルゴリズムに基づいて、コンテンツ サーバーに要求を転送するプロキシ ベースのルーティング処理モジュールです。 ARR を使って、以下を実現できます。
- アプリケーションの可用性とスケーラビリティを高める。
- コンテンツ サーバーのリソースをより効率的に利用する。
- アプリケーションの展開を容易にする (パイロット管理や A/B テストなど)。
- 管理コストを削減し、共有ホスティングの機会を生み出す。
ARR は、受信 HTTP 要求を検査してルーティングの決定を行うために、URL 書き換えモジュールに依存します。 そのため、ARR 機能を有効にするには URL 書き換えモジュールが必要です。
ARR サポートは、Microsoft のヘルプとサポートによって提供されます。 フォーラムはアクティブなままです。
機能
IIS 用 Microsoft アプリケーション要求ルーティングには、次の主要な機能が含まれています。
- HTTP ベースのルーティングの決定: IP レベルでルーティングの決定を行うハードウェア ロード バランサーとは異なり、ARR はアプリケーション レベルでルーティングの決定を行います。 URL 書き換えモジュールで ARR を使用すると、HTTP ヘッダーとサーバー変数に基づく強力なルーティング規則を記述できます。
- 負荷分散アルゴリズム: ユーザーが選択した負荷分散アルゴリズムを適用して、サービス HTTP 要求に最も適したコンテンツ サーバーを決定できます。 6 つのアルゴリズムが用意されています。
- 稼働状況の監視: ライブ トラフィックと特定の URL テストの両方を使用して、コンテンツ サーバーの正常性を判断できます。 サーバーの正常性の意味を定義するために、一連の構成パラメーターが用意されています。 ライブ トラフィックと URL テストの両方を無効にし、カスタム正常性監視プロバイダーを使用することもできます。 これを行うには、RSCA API を呼び出してサーバーの正常性を設定します。
- クライアント アフィニティ: Cookie を使用すると、ARR はクライアントからコンテンツ サーバーへのすべての要求をアフィニティ化できます。 ARR は NAT の背後にあるクライアントを区別するため、各クライアントは個別に処理されます。 この機能を使用するには、クライアントが Cookie を受け入れる必要があります。
- ホスト名アフィニティ: "ホスト名アフィニティ" は、共有ホストの特定の機能です。 この機能により、管理を最小限に抑え、合理化し、追加のビジネス チャンスを生み出すために、デプロイ トポロジが変更されます。 このシナリオの詳細については、「アプリケーション要求ルーティング処理を使用した共有ホスティング デプロイ」を参照してください。 ラウンド ロビンとメモリの 2 つのプロバイダーを使用して、ホストをアフィニティする必要があるサーバーを決定します。
- 複数のサーバー グループ: ARR は、環境内のコンテンツ サーバーの論理的なグループである複数のサーバー グループを管理できます。 この機能により、パイロット管理および A/B テスト シナリオで ARR を使用できます。
- UI を使用する管理と監視: IIS マネージャーを使用して、ARR のすべての構成設定と集計されたランタイム統計を管理および表示できます。
- 失敗した要求トレースの規則: ARR のトラブルシューティングと診断を迅速に行うために、特定のトレースが追加されました。
モジュールの使用
これらの記事では、ARR を使用してコア シナリオを構成して実現する方法について説明します。 各記事ではシナリオが豊富になるため、次の順序で記事を読み取ることをお勧めします。
アプリケーション要求ルーティング処理を使用した HTTP 負荷分散
- 正常性監視とクライアント アフィニティの使用を含む
ARR レベルでの高可用性