Web Farm Framework でサーバー ファームを作成する
作成者: Jason Lee
このトピックでは、Web Farm Framework (WFF) 2.0 を使用して、サーバーのコレクションから Web サーバー ファームを作成および構成する方法について説明します。
WFF を使用すると、複数の負荷分散された Web サーバー間で Web プラットフォームの製品とコンポーネント、Web アプリケーション、Web サイト、構成設定を同期できます。 ステージングや運用環境など、複数の Web サーバーが必要なシナリオでは、配置と構成のプロセスが大幅に簡素化される可能性があります。 Web アプリケーションは 1 つのサーバー (プライマリ サーバー) に配置できます。WFF では、その Web アプリケーションをサーバー ファーム内の他のすべての Web サーバーに自動的にレプリケートします。
Web Farm Framework について
WFF 2.0 を使用して、コンテンツをプロビジョニングおよび管理し、Web サーバーのグループに配置できます。 WFF の配置は、次の 3 つの主要なサーバーの役割で構成されます。
- コントローラー サーバー。 このサーバーを使用して、WFF サーバー ファームを作成および構成します。 コントローラー サーバーでは、サーバー ファーム内の Web サーバー間の Web プラットフォーム コンポーネント、構成設定、アプリケーションの同期を管理します。 コントローラー サーバーに WFF 2.0 をインストールすると、コントローラー サーバーでは、サーバー ファーム内の各サーバーに WFF エージェントをインストールします。 コントローラー サーバーは概念的には WFF サーバー ファームに属していないため、1 つのコントローラー サーバーで複数のサーバー ファームを管理できます。 このシナリオでは、単一の WFF コントローラー サーバーを使用して、ステージング サーバー ファームと運用サーバー ファームを作成および管理します。
- プライマリ サーバー。 各 WFF サーバー ファームには、1 つのプライマリ サーバーが含まれています。 Web プラットフォーム コンポーネントをインストールするか、アプリケーションをプライマリ サーバーに配置すると、WFF では変更をサーバー ファーム内の他のすべてのサーバーに同期します。
- セカンダリ サーバー。 各 WFF サーバー ファームには、1 つ以上のセカンダリ サーバーが含まれています。 プライマリ サーバーに加えた変更は、サーバー ファーム内のすべてのセカンダリ サーバーにレプリケートされます。
これは、これらのサーバーの役割が Fabrikam, Inc. のステージングと運用環境にどのように関連しているかを示しています。
このシナリオでは、ステージング環境と運用環境の両方が WFF サーバー ファームとして構成されます。 1 つの WFF コントローラー サーバーで両方のファームを管理します。 各サーバー ファーム内では、プライマリ サーバーに対するすべての変更がすべてのセカンダリ サーバーにレプリケートされます。
ステージングと運用環境の構成を開始する前に、WFF 2.0 の主要な概念を理解するために、次の記事を参照することをお勧めします。
- Web Farm Framework 2.0 for IIS 7 の概要
- Web Farm Framework 2.0 for IIS 7 を使用してサーバー ファームを設定する
- Web Farm Framework 2.0 for IIS 7 のシステムおよびプラットフォームの要件
タスクの概要
このトピックのタスクとチュートリアルを完了するには、少なくとも 3 台のサーバー (WFF コントローラー 1 台、サーバー ファーム用のプライマリ Web サーバー 1 台、サーバー ファーム用のセカンダリ Web サーバー 1 台以上) が必要です。 WFF サーバー ファームには、いつでもセカンダリ サーバーを追加できます。 大まかに言うと、ステージングまたは運用環境用の WFF サーバー ファームを作成して構成するには、次を実行する必要があります。
- インターネット インフォメーション サービス (IIS) 7.5 と WFF 2.0 をインストールして、コントローラー サーバーを作成します。
- 一般的な管理者アカウントを作成し、ファイアウォールの例外を構成して、プライマリとセカンダリ サーバーを準備します。
- コントローラー サーバー上の IIS マネージャーを使用して、サーバー ファームを構成します。
- IIS アプリケーション要求ルーティング処理 (ARR) または代替負荷分散テクノロジを使用して、負荷分散を構成します。
このトピックのタスクとチュートリアルでは、Windows Server 2008 R2 を実行するクリーン サーバー ビルドから始めていることを前提としています。 開始する前に、サーバーごとに次のことを確認します。
- Windows Server 2008 R2 Service Pack 1 と使用可能なすべての更新プログラムがインストールされていること。
- サーバーがドメインに参加していること。
- サーバーに静的 IP アドレスがあること。
Note
コンピューターをドメインに参加させる方法の詳細については、コンピューターをドメインに参加させてログオンするに関する記事を参照してください。 静的 IP アドレスの構成の詳細については、静的 IP アドレスを構成するに関する記事を参照してください。
WFF コントローラー サーバーを作成する
WFF コントローラー サーバーを作成するには、IIS 7 以降と WFF 2.0 以降の両方をインストールする必要があります。 WFF では、内部で IIS Web 配置ツール (Web 配置) 2.x を使用してファーム内のサーバーを同期します。 Web Platform Installer を使用して WFF をインストールすると、インストーラーでは自動的に Web 配置をダウンロードしてインストールします。
WFF コントローラー サーバーを作成するには
Web Platform Installer をダウンロードしてインストールします。
[Web Platform Installer 3.0] ウィンドウの上部にある [製品] を選択します。
ウィンドウの左側にあるナビゲーション ウィンドウで、[サーバー] を選択します。
[IIS 7 推奨構成] 行で、[追加] を選択します。
[Web Farm Framework 2.x] 行で、[追加] を選択します。
[インストール] をクリックします。 Web Platform Installer によって、Web 配置ツールとその他のさまざまな依存関係がインストール一覧に追加されていることに注目してください。
ライセンス条項を確認し、ご契約条件に同意する場合は、[同意する] を選択します。
インストールが完了したら、[完了] を選択し、[Web Platform Installer 3.0] ウィンドウを閉じます。
プライマリとセカンダリ サーバーを構成する
WFF サーバー ファームを作成する前に、ファームを構成する Web サーバーでいくつかの準備タスクを完了する必要があります。
- ファイアウォールの例外を追加して、コア ネットワーク、リモート管理、ファイルとプリンターの共有の各機能が WFF コントローラー サーバーと通信できるようにします。
- Active Directory にドメイン アカウント (FABRIKAM\stagingfarm など) を作成し、各サーバーのローカル管理者グループに追加します。 このアカウントは、サーバー ファームの作成時にサーバー ファーム管理者アカウントとして使用します。
Windows ファイアウォールでこれらのファイアウォール例外を構成する方法の詳細については、Web Farm Framework 2.0 for IIS 7 のシステムとプラットフォームの要件に関する記事を参照してください。 その他のファイアウォール システムについては、製品ドキュメントを参照してください。
次の手順を使用して、Windows Server 2008 R2 のローカル管理者グループにドメイン アカウントを追加できます。 サーバー ファームに追加するすべてのサーバーでこの手順を実行する必要があります。つまり、プライマリ サーバーと各セカンダリ サーバーのローカル管理者グループに同じドメイン アカウントを追加します。
ローカル管理者グループにドメイン アカウントを追加するには
[スタート] メニューで、[管理ツール] をポイントして、[サーバー マネージャー] を選択します。
[サーバー マネージャー] ウィンドウのツリー ビュー ウィンドウで、[構成] を展開し、[ローカル ユーザーとグループ] を展開して、[グループ] を選択します。
[グループ] ウィンドウで、[管理者] をダブルクリックします。
[Administrators のプロパティ] ダイアログ ボックスで、[追加] を選択します。
[ユーザー、コンピューター、サービス アカウント、またはグループの選択] ダイアログ ボックスで、ドメイン アカウント (FABRIKAM\stagingfarm など) を入力 (または参照) し、[OK] を選択します。
[Administrators のプロパティ] ダイアログ ボックスで、[OK] を選択します。
これで、サーバーをサーバー ファームに追加する準備ができました。 プライマリ サーバーの場合は、サーバー ファームの作成前または後にアプリケーションの要件を満たすようにサーバーを構成できます。どちらの場合も、WFF では同じ製品、コンポーネント、または構成をセカンダリ サーバーに配置することでサーバーを同期します。 わかりやすくするために、このチュートリアルでは、サーバー ファームの作成が完了したら、プライマリ サーバーを構成することを前提としています。
WFF サーバー ファームを作成する
この時点で、すべてのサーバーを WFF サーバー ファームに追加する準備が整いました。
- コントローラー サーバーに WFF をインストールしました。
- プライマリとセカンダリ Web サーバーでファイアウォール例外を構成しました。
- プライマリとセカンダリ Web サーバーのローカル管理者グループにドメイン アカウントを追加しました。
次の手順では、WFF でサーバー ファームを作成します。 これは、WFF コントローラー サーバーの IIS マネージャーから行うことができます。
WFF サーバー ファームを作成するには
WFF コントローラー サーバーの [スタート] メニューの [管理ツール] をポイントし、[インターネット インフォメーション サービス (IIS) マネージャー] を選択します。
[接続] ウィンドウで、ローカル サーバー ノードを展開し、[サーバー ファーム] を右クリックし、[サーバー ファームの作成] を選択します。
[サーバー ファームの作成] ダイアログ ボックスで、サーバー ファームのわかりやすい名前 (ステージング ファームなど) を入力し、[サーバー ファームをプロビジョニングします] を選択します。
各サーバーのローカル管理者グループに追加したドメイン アカウントのユーザー名とパスワードを入力します。
次へ をクリックします。
[サーバーの追加] ページで、プライマリ サーバーの完全修飾ドメイン名 (FQDN) を入力し、[プライマリ サーバー] を選択し、[追加] を選択します。
この時点で、WFF では指定した資格情報を使用してプライマリ サーバーへの接続を試みます。 接続に成功すると、[サーバーの追加] ページのテーブルにプライマリ サーバー が追加されます。
Note
[サーバーは負荷分散に使用できます] が既定で選択されていることに気付いたかもしれません。 WFF では IIS ARR モジュールを使用して負荷分散を実装するため、サーバー ファーム内の Web サーバー間で要求を分散します。 ほとんどのシナリオでは、代わりにサードパーティの負荷分散ソリューションを使用する必要がある場合にのみ、[サーバーは負荷分散に使用できます] オプションをオフにします。
[サーバーの追加] ページで、最初のセカンダリ サーバーの FQDN を入力し、[追加] を選択します。
ファーム内の追加のセカンダリ サーバーに対して手順 7 を繰り返し、[完了] を選択します。
これで、WFF サーバー ファームが稼働しました。 プライマリ サーバーにインストールするすべての Web プラットフォーム製品またはコンポーネントと、プライマリ サーバーに配置するすべての Web アプリケーションまたはコンテンツは、すべてのセカンダリ サーバーに自動的にプロビジョニングされます。
WFF は広範で複雑なトピックです。詳細については、Microsoft Web Farm Framework 2.0 for IIS 7 の Web サイトを参照してください。 ただし、当面は、次の 2 つの機能領域に注意する必要があります。
- "アプリケーション プロビジョニング" は、Web アプリケーションや構成設定など、プライマリ サーバーからのコンテンツを、サーバー ファーム内のすべてのセカンダリ サーバーにレプリケートするプロセスです。 たとえば、Contact Manager サンプル ソリューションをプライマリ ステージング サーバーに配置すると、WFF アプリケーション プロビジョニング プロセスによって、すべてのセカンダリ ステージング サーバーにこのソリューションが配置されます。 既定では、アプリケーション プロビジョニング プロセスは 30 秒ごとに実行されます。
- "プラットフォームの準備" は、Web プラットフォーム製品とコンポーネントをプライマリ サーバーからサーバー ファーム内のすべてのセカンダリ サーバーに同期するプロセスです。 たとえば、プライマリ ステージング サーバーに ASP.NET MVC 3 をインストールする場合、プラットフォームの準備プロセスでは、Web Platform Installer を使用して、すべてのセカンダリ ステージング サーバーに ASP.NET MVC 3 をインストールします。 既定では、プラットフォームの準備プロセスは 5 分ごとに実行されます。
基本的なアプリケーションとプラットフォームの準備設定は、WFF コントローラー サーバーの IIS マネージャーから管理できます。
アプリケーションとプラットフォームの準備設定を確認する
IIS マネージャーの [接続] ウィンドウで、サーバー ファームを選択します。
[サーバー ファーム] ウィンドウで、[アプリケーションのプロビジョニング] をダブルクリックします。
ご覧のように、サーバー ファームは現在、30 秒ごとにプライマリ サーバーとセカンダリ サーバーの間で Web コンテンツと構成設定を同期するように構成されています。
[戻る] を選択し、[プラットフォームのプロビジョニング] をダブルクリックします。
ご覧のように、サーバー ファームは現在、プライマリ サーバーとセカンダリ サーバーの間で Web プラットフォーム製品とコンポーネントを 5 分ごとに同期するように構成されています。
[戻る]をクリックします。
サーバー ファームが Web プラットフォーム製品を直ちに同期するように強制するには、[アクション] ウィンドウで [プラットフォームのプロビジョニング] を選択します。
Note
プラットフォームの準備には時間がかかる場合があります。 インストーラー プロセスは、サーバー ファーム内のセカンダリ サーバーでバックグラウンドで実行されます。
プロビジョニング プロセスが完了するのに十分な時間を確保したら、プライマリ サーバーに追加した製品とコンポーネントがセカンダリ サーバーにレプリケートされたことを確認できます。 たとえば、セカンダリ サーバーにログオンし、[サーバー マネージャー] ウィンドウを使用して、Web サーバーの役割がインストールされていることを確認できます。
また、インストールされているプログラムの一覧を確認して、さまざまな Web プラットフォーム コンポーネントが追加されたことを確認することもできます。
負荷分散を構成する
Web ファームを作成するときは、Web サーバー間で HTTP 要求を分散するために、何らかの形式の負荷分散を設定する必要があります。 これは、Windows Server 2008 ネットワーク負荷分散、IIS ARR、サードパーティ製のソフトウェア ベースまたはハードウェア ベースの負荷分散ソリューションです。
WFF は、IIS ARR と密接に統合するように設計されています。 この統合を利用するには、WFF コントローラー サーバーに ARR モジュールをインストールする必要があります。 その後、すべての Web トラフィックをコントローラー サーバーに転送します。通常は、ドメイン ネーム システム (DNS) レコードを構成します。 その後、コントローラー サーバーでは、サーバーの可用性やその他のさまざまな条件に基づいて、ファーム内のサーバー間で受信要求を分散します。
Note
WFF で ARR を使用する必要はありません。サードパーティの負荷分散ソリューションを使用するように WFF を構成できます。 詳細については、Web Farm Framework 2.0 for IIS 7 の概要に関する記事を参照してください。
ARR を使用した負荷分散は複雑なトピックであり、そのほとんどはこのチュートリアルの範囲外です。 ただし、次の手順を使用して ARR モジュールをインストールし、負荷分散を開始できます。
WFF コントローラー サーバーで負荷分散を設定するには
WFF コントローラー サーバーで、Web Platform Installer を起動します。
[Web Platform Installer 3.0] ウィンドウの上部にある [製品] を選択します。
ウィンドウの左側にあるナビゲーション ウィンドウで、[サーバー] を選択します。
[Application Request Routing 2.5] 行で、[追加] を選択します。
[インストール] を選択し、[Web Platform のインストール] ウィンドウの指示に従います。
インストールが完了したら、IIS マネージャーを起動し、[接続] ウィンドウでサーバー ファーム ノードを選択します。 [サーバー ファーム] ウィンドウにいくつかの新しいアイコンが追加されていることに注意してください。
[サーバー ファーム] ウィンドウで、[負荷分散] をダブルクリックします。
[負荷分散] ウィンドウで、負荷分散アルゴリズム (たとえば、[最も古い要求]) を選択します。
Note
負荷分散アルゴリズムとその他の構成設定の詳細については、アプリケーション要求ルーティング処理モジュールに関する記事を参照してください。
[操作] ウィンドウで、[適用] をクリックします。
これで、サーバー ファーム内のサーバーの基本的な負荷分散が構成されました。 すべての Web ファーム トラフィックをコントローラー サーバーに送信すると、可用性と選択した負荷分散アルゴリズムに従って、ファーム内のサーバー間で要求が分散されます。
ARR を使用して負荷分散を構成する方法の詳細については、アプリケーション要求ルーティング処理モジュールに関する記事を参照してください。
サーバー ファームを監視する
コントローラー サーバー上の IIS マネージャーを使用して、サーバー ファームの正常性をいつでも監視できます。 [接続] ウィンドウで、サーバー ファームを展開し、[サーバー] を選択します。 中央のウィンドウには、ファーム内の各サーバーの概要と、最近のアクティビティのトレース ログが表示されます。
まとめ
これで、WFF サーバー ファームが稼働しているはずです。 任意の配置方法をサポートするようにプライマリ サーバーを構成できます。詳細については、「関連項目」セクションを参照してください。構成は、サーバー ファーム内の各セカンダリ サーバーにレプリケートされます。
もっと読む
WFF の構成と使用に関するすべての側面の詳細なガイダンスについては、Microsoft Web Farm Framework 2.0 for IIS 7 の Web サイトを参照してください。