IIS7.0はIISの新バージョンでWindows VistaとWindows Server 2008で利用できる。ただしWindows Vistaでは、ワークステーション用途ゆえの同時実行リクエスト数制限(接続数制限)や管理対象制限(Vistaではローカルマシンのみ)があり、開発環境やホームユース程度でしか使えない。よってWindows Server 2008により本格的なIIS7.0運用がはじまるということになる。ちなみに、Windows VistaでVirtual Serverを利用する際にはIIS7.0を動作させることになるため、実際にIIS 7.0を動作させているユーザ数は少なくはないと思われる。

また、Server Core上でのIIS 7.0は、Windows Server 2008 Beta3では利用できないが、2007年6月に提供開始されたCTP(Customer Technology Preview)版では利用可能となっている。これにより、ミニマムサイズでよりセキュアなWebサーバが実現できるようになるので、期待は大きいと思われる。

以下、IIS7.0の特徴を挙げる。

モジュール方式のアーキテクチャの採用によりWebサーバのフットプリントをきめ細かく制御

モジュール化されているため必要な機能のみをインストールすることで、修正プログラムの適用とセキュリティのリスクを最小限に抑え、パフォーマンスを向上させることができる。たとえばServer Coreで静的ページのみを扱うWebサーバを構築することも可能になる。また、不要になったモジュールは個別に無効化することができる。

新しい構成管理

IIS 7.0ではインターネットインフォメーションサービス(IIS) マネージャがグラフィカルなものへと変わった。

図7 IIS 6のIISマネージャ

図8 IIS 7.0のIISマネージャ

この管理ツールでは、セキュリティやパフォーマンスといったカテゴリ別のグループ化、領域でのグループ化が可能で見やすいものとなっている。

また、コマンドライン管理ツール"Appcmd.exe"がある。Appcmd.exeでは、サイト、アプリケーションや仮想ディレクトリを作成して構成できる。さらにサイトの起動と停止、実行中プロセスの一覧表示なども可能となっている。

IISの設定情報はメタベース(IISの構成情報で、ツールでのみアクセス可能)を廃止し、inetsrvフォルダに格納される"AppliccationHost.config"と呼ばれるXMLファイルに保存されるため容易に編集/コピーすることができる(IIS 6.0でもXMLファイル化はなされていたがIIS 7.0ではこのメタベースを廃止した)。これはASP.NETの構成情報の保存方法(Web.ConfigというXMLファイル)や.NET Frameworkの構成情報の保存方法(machine.config)と同様だ。そのため、これらの構成情報がすべてXMLファイルとなるIIS 7.0は構成情報をコピーするのが容易になった。また、下位互換性を確保するために、IIS 6.0管理互換モードも備えている。

URLScan機能のビルトイン

IIS 6.0までは、IISをロックダウンさせるために、リクエストのサイズを制限したり長いURLを記録する"URLScan"は個別にインストールする必要があったが、II S7.0からは標準で搭載されることになった。

ASP.NETとの統合

開発側からの視点になるが、IIS 7.0になり、ASP.NET2.0と.NET Frameworkとして統合される。従来のIISでは、たとえば認証について、ISAPIを介してASP.NETのDLLが呼び出されていたが、IIS 7.0ではIISに実装されている匿名や基本認証、NTLM認証といったモジュールの機能を利用するという形になり、ASP.NETの認証などの重複が無くなりシンプルになった。また、IIS7.0とASP.NETの設定が1つのサーバ管理コンソールから実行できるようになった。

このIIS 7.0のASP.NETは、前述したIntegrated(統合化)モードのほかにIIS6.0と互換性を持つ"Classicモード"を備えており、システム移行時のバリアを下げることも可能だ。

失敗した要求トレース機能

Webアプリケーションでエラーが起こって停止した場合、原因調査のために入力を再現する、アクセスログを解析する、などの手順が必要になる。IIS 7.0では新たにエラー解析ツールとして"Runtime Status And Control API (RSCA)"が用意された。これはWeb上でのリクエストの実行時ステータスを取得、制御可能とするAPIだ。また、エラー発生時詳細情報をXMLファイルとして出力する機能もある。