SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

IISのApplication Request Routing(ARR)でリバースプロキシを構築する

Windows ServerのWebサーバー「IIS」を高度に活用しよう

  • このエントリーをはてなブックマークに追加

 この記事では、IISのApplication Request Routingと呼ばれる機能を活用して、IISから他のWebサーバーを呼び出して応答する、リバースプロキシサーバーを構築する方法を紹介します。

  • このエントリーをはてなブックマークに追加

はじめに

 IISのApplication Request Routing(アプリケーション要求ルーティング処理)は、Microsoftによって提供されている無償のモジュールです。モジュール名のとおりリクエストに対するルーティング機能のほか、負荷分散、ディスクキャッシュの機能を利用できます。

 本稿では、IISサーバーから別のサーバーに代理アクセスできるプロキシサーバを作成する設定について紹介します。

対象読者

  • IISの基本を理解している開発者
  • ネットワークの基本を理解している開発者

動作確認した環境

 当記事では以下の環境で動作確認を行っています。

  • Application Request Routing 2.1
  • IIS 8.0(Windows 8 64Bit)

 今回は解説のため、日本語UIが提供されているバージョン2.1を使用します。本番環境では最新安定バージョンをインストールすることを推奨します。

Application Request Routing(ARR)とは

 「Application Request Routing(以下ARR)」は、IIS7から登場したMicrosoft製のIISモジュールです。Webサーバーで受け付けたリクエストを、HTTP ヘッダー、サーバー変数、負荷分散アルゴリズムなどのルールに基づいて 別のサーバーに転送することができます。

 これは、リバースプロキシ(逆プロキシ)と呼ばれ、特定のサーバーへの応答を代行することで背後にあるサーバーの負荷を軽減したり、アクセスを制限することによりセキュリティを高めたりすることができます。例えば、複数のWebサーバを1つのURLで公開したり、DMZ領域のサーバーに間接的にアクセスして公開したりすることが可能です。

 IIS7.0で提供されたバージョン1に続いて、バージョン2では、ディスクベースのキャッシュ機能がサポートされました。バージョン2.1では日本語化が、バージョン2.5では性能改善が行われています。最新のバージョン3(執筆時点ではBeta)では、WebSocketの対応とヘルスチェック(ルーティング先の活性確認)機能が提供される予定です。

1. ARRのインストール

 それでは、ARRをインストールしてみましょう。ここではWeb PI(Microsoft Web Platform Installer)を起動してARRを探します。

図1. WebPIでARRを探す(ここでは検索文字にRoutingを入力)
図1. WebPIでARRを探す(ここでは検索文字にRoutingを入力)

 追加ボタンを押して終了をクリックすると、アイテム確認画面が表示されます。依存アイテムが自動的に選択されていることが分かります。

図2. インストール確認画面(依存するモジュールが表示される)
図2. インストール確認画面(依存するモジュールが表示される)

 インストールが完了したら「インターネットインフォメーションサービス(IIS)マネージャー」を起動します。新しいアイコンが追加されていることが分かります。

図3. インストール後のIIS管理画面(ARRのアイコンが増えている)
図3. インストール後のIIS管理画面(ARRのアイコンが増えている)

 IISのカテゴリに「アプリケーション要求ルーティング処理キャッシュ(Application Request Routing Cache)」が増えました。依存関係にある「URL書き換え(URL Rewrite Module)」も追加されます。また、左のビューにおいて「Server Farms」というサーバーのグループを管理できるようになりました。

 インストールが完了するとIISの設定内容を示すapplicationHost.configファイル(C:\Windows\system32\inetsrv\config)に、applicationRequestRouting要素がwebFarms配下に追加されます。

更新されたapplicationHost.configファイル
<configuration>
                 ~省略~
    <system.webServer>
         <modules>
                 ~省略~
                 <add name="RewriteModule" />
                 <add name="ApplicationRequestRouting" />
         </modules>
    </system.webServer>
    </location>
    <webFarms>
        <applicationRequestRouting>
            <hostAffinityProviderList>
                <add name="Microsoft.Web.Arr.HostNameRoundRobin" />
                <add name="Microsoft.Web.Arr.HostNameMemory" />
            </hostAffinityProviderList>
        </applicationRequestRouting>
    </webFarms>
</configuration>

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
2. Webサイトの準備

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

百賀 吟平(モモガ ギンペイ)

主に.NETを使ったアプリケーション開発に従事するプログラマー。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7018 2013/03/14 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング