次の方法で共有


アプリケーション要求ルーティング (ARR) を使用した共有ホスティング

共有ホスティング環境でアプリケーション要求ルーティング (ARR) を使用すると、共有ホストに追加の利点と機会を提供する新しいデプロイ アーキテクチャが導入されます。 このシナリオは、アプリケーション要求ルーティングのホスト名アフィニティと呼ばれる機能によって有効になります。 ホスト名アフィニティ機能と共有ホスティングとの関係の詳細については、「 アプリケーション要求ルーティングを使用した共有ホスティングのデプロイ」を参照してください。

このトピックでは、次に示すように、アプリケーション要求ルーティングでホスト名アフィニティ機能を構成する手順について説明します。

A R R がデプロイされている共有ホスティング環境を示す図表。

ゴール

共有ホスティング環境でアプリケーション要求ルーティングを構成するには。

前提条件

このチュートリアルでは、次の前提条件が必要です。

  • Windows 2008 (任意の SKU) 以降の IIS 7.0 以降。

  • Microsoft アプリケーション要求ルーティング バージョン 1 と依存モジュール。

  • 作業サイトとアプリケーションを持つアプリケーション サーバーが少なくとも 2 つ。

    • サーバーは、共有構成と共有コンテンツを使用するように構成する必要があります。 共有構成の詳細については、 共有構成 に関する記事を参照してください。
    • サーバー上のサイトは、ホスト名のバインドを使用している必要があります。

このドキュメントで説明されている手順に従って、アプリケーション要求ルーティングをインストールします。

もう 1 つの前提条件として、「 アプリケーション要求ルーティング (ARR) サーバー グループの定義と構成」で説明されている手順に従って、サーバー ファームを定義して構成する必要があります。

手順 1 – ホスト名のアフィニティを有効にする

先に進む前に、共有構成と共有コンテンツで構成されているアプリケーション サーバーでサーバー ファームが作成されていることを確認します。 アプリケーション サーバー上のサイトもホスト名バインドを使用している必要があります。

UI を使用してホスト名のアフィニティを有効にするには

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

  2. このチュートリアル用に作成されたサーバー ファームを選択します。

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

    サーバー ファームアイコンを示す [I I S Manager] ウィンドウのスクリーンショット。

  4. [サーバー アフィニティ] をダブルクリックします。

  5. ホスト名のアフィニティを有効にするには、[ ホスト名の使用] を選択し、[ 適用] をクリックします。

    [ホスト名のアフィニティ] ダイアログを示すスクリーンショット。[ホスト名の使用] がオンになっています。

    ホスト名をアフィニティ化する必要があるサーバーを決定するためのプロバイダーは 2 つあります。 これは負荷分散アルゴリズムとは異なり、プロバイダーはホスト名アフィニティ機能にのみ使用されます。 2 つのプロバイダーは次のとおりです。

    • Microsoft.Web.Arr.HostNameRoundRobin
    • Microsoft.Web.Arr.HostNameMemory

    Microsoft.Web.Arr.HostNameRoundRobin は、ラウンド ロビンでアフィニティ化されたホスト名の数を均等に分散しようとします。 このプロバイダーを使用しても、アプリケーション サーバーに要件はありません。

    Microsoft.Web.Arr.HostNameMemory は、使用可能なメモリ量が最も多いサーバーに次のホスト名が割り当てられるアプリケーション サーバー上の使用可能なメモリの量に基づいて、アフィニティホスト名の数を分散しようとします。 このプロバイダーは、WMI を使用して使用可能なメモリ (コミット済みメモリ/物理メモリとして定義) のクエリを実行します。 そのため、アプリケーション サーバーは Windows サーバーである必要があり、リモート WMI クエリを許可するには、アプリケーション サーバーで追加の構成を行う必要があります。 詳細については、 HostNameMemory アフィニティ プロバイダーのアプリケーション サーバーで WMI サービスを構成する方法 を参照してください。

    タイムアウト値は、同じホスト名を持つ最後の要求の後にアフィニティをリセットする必要がある期間を決定するために使用されます。 この値は、アプリケーション サーバー上のアプリケーション プールのアイドル タイムアウト値と同じ値に設定する必要があります。 既定では、この値は 20 分です。

  6. この機能を確認するには、[ ルーティング テーブルの表示] をクリックします。

    既定の [ルーティング テーブルの表示] ダイアログのスクリーンショット。サーバー アドレスは表示されません。

  7. ホストの名前を入力し、[ ホスト名で参照] をクリックします。 表示されるサーバー アドレスは、ホスト名がアフィニティ化されている場所です。

コマンド ラインを使用してホスト名のアフィニティを有効にするには

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

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

  3. ホスト名のアフィニティを有効にするには、次のように入力します (次の例では、サーバー ファームの名前として myServerFarm を使用します)。

    appcmd.exe set config  -section:webFarms /[name='myServerFarm'].applicationRequestRouting.affinity.useHostName:"True"  /commit:apphost
    

手順 2 - ホスト名ごとに使用するサーバーの数を指定する

既定では、すべてのホスト名で 1 つのアプリケーション サーバーを使用できます。 ただし、サイト所有者が追加の容量を必要とする場合、ホスト側は、サイトがホスト名ごとに使用できるアプリケーション サーバーの数を指定できます。

UI を使用して使用するサーバーの数を指定するには

  1. [ サーバー アフィニティ ] ページで、[ 詳細設定] をクリックします。

    既定の [詳細設定] ダイアログのスクリーンショット。ホスト名の行が空です。

  2. [ ホスト名] 列に、ホスト名を入力します。 これは必須フィールドです。

  3. [ 割り当てられたサーバーの数 ] 列に、このホスト名で使用できるサーバーの数を入力します。

  4. 代替ホスト名 は、ホスト 列の値と同じように扱う必要がある追加のホスト名を指定するために使用できるオプションのフィールドです。 たとえば、サイト所有者は、同じサイトに対して複数の DNS エントリを持つことができます。 この場合、ARR は複数の DNS エントリを同じ方法で処理し、両方のドメイン名に対してアプリケーション サーバーで 1 つのワーカー プロセスのみが開始されるようにします。

  5. 変更を保存するには、[ OK] をクリックします。

  6. この機能を確認するには、[ ルーティング テーブルの表示] をクリックします。

    未設定の[ルーティング テーブルの表示]ダイアログを表示するスクリーンショット。

  7. ホストの名前を入力し、[ ホスト名で参照] をクリックします。 返されるサーバー アドレスの数は、[ 割り当てられたサーバーの数] に指定した数と同じになります。 これらは、ホスト名をアフィニティ化できるサーバーです。

コマンド ラインを使用して使用するサーバーの数を指定するには

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

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

  3. ホスト名ごとにサーバーの数を指定するには、次のように入力します (次の例では、サーバー ファームの名前として myServerFarm を 使用し、 www.contoso.com ホスト名に対してサーバーの数を 2 に設定します)。

    appcmd.exe set config  -section:webFarms /+"[name='myServerFarm'].applicationRequestRouting.affinity.[name='www.contoso.com',servers='2']" /commit:apphost
    

まとめ

これで、共有ホスティング シナリオのアプリケーション要求ルーティングでホスト名アフィニティ機能が正常に構成されました。 その他のアプリケーション要求ルーティングのプロパティと機能については、他のアプリケーション要求ルーティング のチュートリアルを参照してください。