Application Request Routing を使用したパイロット プログラム管理

公開日: 2008 年 7 月 2 日 (作業者: pharr (英語))

更新日: 2009 年 5 月 12 日 (作業者: pharr (英語))

概要

このトピックでは、Application Request Routing を使用して、パイロット プログラムまたはベータ プログラムを起動および管理する手順について説明しています。Application Request Routing を使用すると、該当するユーザーを特定し、パイロット サイトにルーティングしたり、パイロット サイトにルーティングされるトラフィック量を制限して管理したりできます。このチュートリアルでは、Application Request Routing を使用して、ユーザーのプロファイルに基づき、特定の要求をパイロット サイトにルーティングする方法について焦点を当てています。

目標

パイロット プログラムの起動環境に関するリスクを管理して軽減するように Application Request Routing を構成すること。

必要条件

このチュートリアルの必要条件は次のとおりです。

  • Windows 2008 (任意の SKU) 以降の IIS 7.0。
  • Microsoft Application Request Routing Version 1 および依存モジュール。
  • 運用中のサイトとアプリケーションが含まれているコンテンツ サーバー (少なくとも 4 台)。2 台のサーバーを使用して運用サイトをシミュレートし、残りの 2 台のサーバーでパイロット サイトをシミュレートします。
  • .NET 3.5 インストール済みのコンピューターにインストールされている Firefox などの Microsoft Internet Explorer の代替ブラウザー (このセットアップは、テスト目的でのみ使用されます)。

Application Request Routing Version 1 をインストールしていない場合は、以下からダウンロードして入手できます。

  • Microsoft Application Request Routing Version 1 for IIS 7 (x86) をダウンロード
  • Microsoft Application Request Routing Version 1 for IIS 7 (x64) をダウンロード

Application Request Routing をインストールするには、このドキュメントに記載されている手順に従います。

もう 1 つの必要条件として、「 Application Request Routing サーバー グループの定義と構成 」に記載されている手順に従い、2 つのサーバー ファームの定義と構成を済ませていることが必要です。1 つのサーバー ファームは運用環境を表し、もう 1 つのサーバー ファームはパイロット環境を表します。

手順 1 – ユーザーのプロファイルに基づき、要求をルーティングするように URL 書き換え規則を変更する

この手順では、.NET 3.5 がインストール済みで、Microsoft Internet Explorer (IE) を使用しているユーザーに限定して、pilotSiteServers として定義されたパイロット サイトにルーティングするように URL 書き換え規則を変更します。その他のユーザーはすべて、productionSiteServers として定義された運用サイトにルーティングされます。

UI を使用して、URL 書き換え規則を変更するには

1.  IIS マネージャーを起動します。

2.  サーバー ファーム pilotSiteServers を選択します。

3.  以下のアイコンが表示されます。

Ee886280.arr icons(ja-jp,TechNet.10).jpg

4.  [ルーティング規則] をダブルクリックします。

5.  このシナリオでは、HTTP 要求ヘッダーが条件付きで一致する複数のサーバー ファームが含まれているので、追加のオプションが表示される URL 書き換えの UI を使用して変更を加えます。[高度なルーティング] の下にある [URL 書き換え] をクリックします。

Ee886280.advrouting(ja-jp,TechNet.10).jpg

6.  2 つの規則が既に作成されていますが、これらを変更する必要があります。

Ee886280.urlrewrite(ja-jp,TechNet.10).jpg

7.  このチュートリアルでは、規則の順序が重要となります。[ARR_productionSiteServers_loadbalance] が [ARR_pilotServers_loadbalance] の上にある場合、規則を選択してから [上に移動] または [下に移動] を使用して規則の順序を変更できます。

8.  [ARR_pilotSite_Servers_loadbalance] を選択し、[操作] ウィンドウで、[編集...] をクリックします。

Ee886280.editPilot(ja-jp,TechNet.10).jpg

9.  .NET 3.5 と IE がインストールされているクライアントを pilotSiteServers サーバー ファームに移動するように指定する必要があります。これを行うには条件を追加します。[条件の追加]、[追加...] の順にクリックします。 

Ee886280.condition(ja-jp,TechNet.10).jpg

10.  [条件入力] に、「{HTTP_USER_AGENT}」と入力し、[パターン] に、「*MSIE*」と入力します。この条件は、クライアントで IE を使用しているかどうかを確認するためのものです。

Ee886280.IE(ja-jp,TechNet.10).jpg

11.  .NET バージョンについて確認する別の条件を追加します。[追加...] をクリックして、[条件入力] に、「{HTTP_USER_AGENT}」と入力し、[パターン] に、「*.NET CLR 3.5*」と入力します。

Ee886280.DOTNET(ja-jp,TechNet.10).jpg

12.  最後に、[後続の規則の処理を停止する] チェック ボックスをオフにし、[適用] をクリックして変更を保存します。

 Ee886280.stopProc(ja-jp,TechNet.10).jpg

前述したように、規則の順序が重要となります。これは、[後続の規則の処理を停止する] チェック ボックスがオフになっている場合、URL 書き換えは規則の順序に従って処理されるためです。したがって、この場合は、最初の規則である [ARR_pilotSiteServers_loadbalance] が 1 番目の規則と見なされます。この規則では、クライアントが IE を使用していて、.NET 3.5 がインストール済みかどうかを照合しようとします。これに該当する場合、要求は、pilotSiteServers サーバー ファームに転送されます。[後続の規則の処理を停止する] チェック ボックスがオフになっているので、2 番目の規則である [ARR_productionSiteServers_loadbalance] が処理され、残りの要求はすべて、productionSiteServers サーバー ファームにルーティングされます。

コマンド ラインを使用して、URL 書き換え規則を変更するには

1.  管理者権限で、コマンド プロンプトを開きます。

2.  %windir%\system32\inetsrv に移動します。

3.  HTTP_USER_AGENT 内の IE および .NET について確認するように [ARR_pilotSiteServers_loadbalance] 規則を変更するには、以下のコマンドを入力します。

  • appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*MSIE*']" /commit:apphost
  • appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*.NET CLR 3.5*']" /commit:apphost

4.  [ARR_pilotSiteServers_loadbalance] について、[後続の規則の処理を停止する] をオフにするには、以下のコマンドを入力します。

  • appcmd.exe set config  -section:system.webServer/rewrite/globalRules /[name='ARR_pilotSiteServers_loadbalance'].stopProcessing:"False"  /commit:apphost

まとめ

これで、一部のユーザーのみをパイロット サイトにルーティングするように、URL 書き換え規則を正常に変更して、Application Request Routing を活用するができました。その他の Application Request Routing のプロパティおよび機能については、他の Application Request Routing のチュートリアルを参照してください。

関連コンテンツ

記事