IIS チーム別
概要
このトピックでは、アプリケーション要求ルーティングを使用してパイロット プログラムまたはベータ プログラムを起動および管理する手順について説明します。 アプリケーション要求ルーティングを使用して、適切なユーザーをパイロット サイトにルーティングしたり、パイロット サイトにルーティングされるトラフィックの量を制限および管理したりすることもできます。 このチュートリアルでは、アプリケーション要求ルーティングを使用して、ユーザーのプロファイルに基づいてパイロット サイトに特定の要求をルーティングする方法について説明します。
ゴール
パイロット プログラムの起動に関するリスクを管理および軽減するようにアプリケーション要求ルーティングを構成するには。
前提条件
このチュートリアルでは、次の前提条件が必要です。
- Windows 2008 (任意の SKU) 以降の IIS 7.0 以降。
- Microsoft アプリケーション要求ルーティング バージョン 1 と依存モジュール。
- 少なくとも 4 つのコンテンツ サーバーと作業サイトとアプリケーション。 2 台のサーバーを使用して運用サイトをシミュレートし、他の 2 台のサーバーはパイロット サイトをシミュレートします。
- .NET 3.5 がインストールされているコンピューター上の、Firefox などの Microsoft Internet Explorer の代替ブラウザー。 (このセットアップはテスト目的でのみ使用されます)。
このドキュメントで説明されている手順に従って、アプリケーション要求ルーティングをインストールします。
もう 1 つの前提条件は、「 アプリケーション要求ルーティング (ARR) サーバー グループの定義と構成」で説明されている手順に従って、リーダーが 2 つのサーバー ファームを定義および構成していることです。 1 つのサーバー ファームは運用環境を表し、もう 1 つはパイロット環境を表します。
手順 1 – ユーザーのプロファイルに基づいて要求をルーティングするように URL 書き換え規則を変更する
この手順では、.NET 3.5 をインストールし、Microsoft Internet Explorer (IE) を使用しているユーザーのみがパイロット サイト ( pilotSiteServers として定義) にルーティングされるように、URL 書き換えルールが変更されます。 その他はすべて、 productionSiteServers として定義された運用サイトにルーティングされます。
UI を使用して URL 書き換えルールを変更するには:
IIS マネージャーを起動します。
サーバー ファーム pilotSiteServers を選択します。
次のアイコンが表示されます。
[ ルーティング規則] をダブルクリックします。
このシナリオには、HTTP 要求ヘッダーの条件付き一致を持つ複数のサーバー ファームが含まれるため、追加のオプションを公開する URL 書き換え UI を使用して変更が行われます。 [高度なルーティング] の下の [URL 書き換え] をクリックします。
2 つのルールは既に作成されていますが、変更する必要があることに注意してください。
このチュートリアルでは、ルールの順序が重要です。 ARR_productionSiteServers_loadbalanceがARR_pilotServers_loadbalanceより上にある場合は、ルールを選択した後に [上へ移動] または [下へ移動] を使用してルールの順序を変更できます。
[ARR_pilotSite_Servers_loadbalance] を選択し、[操作] ウィンドウの [編集] をクリックします。
.NET 3.5 を使用する IE を使用するクライアントは、 pilotSiteServers サーバー ファームに移動するように指定する必要があります。 これを行うには、条件を追加します。 [ 条件の追加] をクリックし、[追加] をクリック します。
条件入力として「{HTTP_USER_AGENT}」、パターンとして「*MSIE*」と入力します。 この条件は、クライアントが IE を使用しているかどうかを確認します。
.NET バージョンを確認する別の条件を追加します。 [追加...] をクリックし、条件入力として「{HTTP_USER_AGENT}」、パターンとして「*.NET CLR 3.5*」と入力します。
最後に、[ 後続のルールの処理を停止 する] チェック ボックスをオフにし、[ 適用 ] をクリックして変更を保存します。
前述のように、ルールの順序が重要です。 これは、後続のルールの 処理を停止 するが選択されていない場合に、URL 書き換えによってルールが順番に処理されるためです。 そのため、この場合、最初のルール であるARR_pilotSiteServers_loadbalanceが最初に考慮されます。 この規則は、クライアントが IE を使用していて、.NET 3.5 がインストールされているかどうかを照合しようとします。 その場合、要求は pilotSiteServers サーバー ファームに転送されます。 [後続のルールの処理を停止する] チェック ボックスがオフになっているため、2 番目のルール (ARR_productionSiteServers_loadbalance) が処理され、残りのすべての要求が productionSiteServers サーバー ファームにルーティングされます。
コマンド ラインを使用して URL 書き換え規則を変更するには:
管理者特権でコマンド プロンプトを開きます。
%windir%\system32\inetsrvに移動します。HTTP_USER_AGENTで IE と .NET 3.5 をチェックするように ARR_pilotSiteServers_loadbalance 規則を変更するには、次のように入力します。
appcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*MSIE*']" /commit:apphostappcmd.exe set config -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*.NET CLR 3.5*']" /commit:apphostARR_pilotSiteServers_loadbalanceの後続のルールの処理の停止の選択を解除するには、次のように入力します。
appcmd.exe set config -section:system.webServer/rewrite/globalRules /[name='ARR_pilotSiteServers_loadbalance'].stopProcessing:"False" /commit:apphost
まとめ
これで、URL 書き換えのルールが正常に変更され、アプリケーション要求ルーティングを利用して、ユーザーのサブセットのみがパイロット サイトにルーティングされるようになりました。 その他のアプリケーション要求ルーティングのプロパティと機能については、他のアプリケーション要求ルーティング のチュートリアルを参照してください。