連載
» 2010年01月28日 00時00分 公開

第8回 強化されたIIS 7.5(前編)Windows Server 2008 R2の真価(2/3 ページ)

[奥主洋( エバンジェリスト),マイクロソフト株式会社]

Server Coreでも.NETが利用可能

 Webサーバの管理者からすると、ASP.NETが利用できないことよりも、Windows PowerShellが利用できない方がより不満だったに違いない。以前の記事で、「未確認情報だが、Windows PowerShellの開発チームは、いずれかのタイミングで、PowerShellをServer Coreに搭載すべく検討はしているようだ。」と書いた(コラム「PowerShellによるServer Core上のIIS 7.0の管理」参照)。結論からいうと、Windows Server 2008 R2ではWindows PowerShell 2.0は標準搭載となり、完全インストールでは、コマンド・プロンプトを押しのけてタスク・バーに最初からPowerShellを起動するためのアイコンが用意される(Server Coreの場合は手動でインストールする必要がある)。

 .NET Frameworkは、Server Coreでは不要であるWPFなど、Aero処理や画像処理を行う部分を除いて、.NET Framework 3.51の必要機能が搭載され、それに伴いWindows PowerShell、ASP.NETがともに動作できる環境となった。

 多くのユーザーはWebの標準的な構成として、DMZに置いたWebサーバと本格的なロジックの載ったサーバ・ファームを分離するという方法を採用している。Windows Server 2008 R2では、IIS 7.5の持つ標準的な機能に加え、拡張機能として提供されているURL書き換えモジュールなども組み合わせることにより、ほかの製品群で実装しているような構成を取れるようになった。それに加え、アプリケーション層の負荷分散やルーティングを行えるApplication Request Routingモジュールも利用するとさらに複雑なことができるが、これについては後編で解説する。

Windows PowerShell 用IIS 7コマンドレット

 Windows PowerShellが動作する土壌は整った。しかしWindows PowerShellは、IIS 7.0の開発当時、まだ未出荷であり存在していなかったという経緯がある。このため、IIS開発チームはAppcmd.exe(CUIベースのIIS管理コマンド。詳細は新しいIIS管理用コマンドライン・ツール「appcmd」参照)を先行し、PowerShell用のコマンドレットは拡張機能として後から実装することにした。Windows Server 2008 R2では、Windows PowerShellで管理しやすくすることを目標としたため、IISに関しても標準でIIS 7コマンドレットも追加されている。これにより、ほかのOS機能と同様に、IISもWindows PowerShell内でネイティブなコマンドを実行できるようになった。「Get-Command *web*」でIIS関連のコマンドを一覧可能である。

 Windows Server 2008 R2では[管理ツール]メニューに[Windows PowerShell Modules]という独立したメニュー項目があり、ここから起動する場合にはIISのコマンドレットがそのまま利用できる。通常のWindows PowerShellアイコンの起動、あるいはほかのプロンプトからWindows PowerShellを起動した場合には以下でモジュールをインポートする。なお、IIS 7の構成データに接続するために、管理者実行が必要である。

※PowerShellでIIS関連のコマンドの一覧を表示させる方法

Import-Module WebAdministration
Get-Command *Web*

FTP 7.5とWebDAV 7.5の標準搭載

 Windows Server 2003では、OS自体がFTPとWebDAV、FrontPage 2002 Server ExtensionsをIISとともに標準機能として実装していた。だがWindows VistaやWindows Server 2008の時点では、個別に拡張機能として開発されたことにより、環境構築の際に混乱する一因を作ってしまった。

 FTPについては、IIS 7.0とともにインストールできるものは、IIS 6.0に付属していたものと同じバージョンである。従って管理もIIS 6の管理コンソールを利用する必要がある。これを知らず、IISマネージャに管理画面が出てこないで戸惑った利用者も少なくない。一方で拡張機能として開発されたFTP 7はバージョンを重ね、現在はFTP 7.5の日本語対応製品版が、TechNetサイトでダウンロード提供されている。Windows Server 2008 R2では、このバージョンが標準搭載となっている。

 FTP 7.5は、完全にIIS 7と管理が統合されており、ftps:が利用できるし、サイト単位でのFTP有効化が可能になるなど、いままでとは異なるサイト設計が可能になっている。システム構成やログに関してもIIS 7の機能に準じているので、新しいFTPを使っていただきたい。

 WebDAVも質問が多かったものの1つで、Windows Server 2008ではOS標準機能としては搭載されていない。FTPと同様に、下記からダウンロード提供されている。しかしWindows Server 2008 R2では標準搭載となっており、IIS 7.5のインストールのツリーに含まれている。

 さて、FrontPage Server 2002 Extensions(FPSE)に関しては、残念ながらリタイヤする(サポートが打ち切られる)予定である。しかし元々この機能を開発したReady-To-Run SoftwareのWebサイトから現在も入手可能だ。

 今後はFTPやWebDAVを転送手段として主に利用する方向性になってくるので、いま構築手順でこのFPSEを利用しているケースでは見直しが必要になってくるだろう。

Administration Packの標準搭載

 Windows PowerShell構想が登場して以来、マイクロソフトの管理ユーザー・インターフェイス(UI)の実装は転換期を迎えている。いままではGUIでできる限りの管理UIを作成し、補助的な機能としてコマンドラインで利用できるものを用意する形を採用してきた。しかしすでにIIS 7などでも見られるが、Appcmd.exeやWindows PowerShellの新しいIIS 7コマンドレットを使用するとすべての構成が行えるし、そもそもIISマネージャ内では設定できない項目も存在する。もっとも、IISはシステム構成ファイルがテキスト形式になっているので、テキスト・ファイルをコピー/編集する方が、はるかに現状に即しているのかもしれない。

 現在の流れを見ていると、System CenterやExchange Serverにも見られるが、マイクロソフトが目指しているのはOfficeマクロのような管理なのかもしれない。つまり、GUIで1回実行しておき、同じことをするときはスクリプトで実行しよう、繰り返すときは繰り返す処理だけ付け加えよう、というアプローチだ。この発想に立つと、よく実行する必要があるものはやはりGUIがないといけないだろう。ということでIIS開発チームは、管理ツールGUIを後で付け加えていくという手法を採っている。このAdministration Packはその一端を担っている。

 このツールを単独でインストールすると、IISマネージャにアイコンが5つ増える。ASP.NETの統合度は上がっているものの、管理GUIが不足しているという指摘をたびたび受けてきたが、このツールはその点を一部補う。さらにメモリ上に展開されるシステム構成を確認できるシステム構成エディタ(ツール名は[構成エディター])という便利な機能も追加される。セキュリティ面では重要な機能である「要求フィルタ」に関してもGUIが登場した。またPHPをIIS 7で動かす際、現在ではFastCGIで設定することが推奨されているが、いままでは細かい構成を行うためのUIがなかった。しかしこのAdministration Packでは、「FastCGIの設定」ツールによってFastCGIの設定を行える。このようにIISマネージャは、カスタム拡張ができるような仕組みが公開されている。その仕組みを使って、これからIISの開発チーム自身もユーザーの要望に従って拡張していくことになるだろう。

Administration PackでGUIが追加される機能

 このAdministration Packの内容は、Windows Server 2008 R2では標準搭載となっているが、単独開発していたときに存在していた「IIS Reports」というレポート機能はなくなっている。これは後編で紹介するが、「SEO Toolkit」という名前の拡張機能へと強化されて引き継がれている。

システム構成変更のログ機能

 IISではHistoryフォルダにシステム構成の履歴バックアップを保存している。しかしいままでは、構成変更の履歴をトラックしようとしても、誰が、どの設定を変更したかまでは記録する方法が標準では用意されていなかった。基本的にはファイルの監査機能を利用することになり、ファイルへの変更をトラップするという方法しか取れなかったのだ。新しいIISでは機能が追加され、イベント・ログに実際に誰が設定を変更したのか、設定変更した場所はどこか、といった情報が記録される。これにより、操作記録をきちんと残すことができるようになっている。企業コンプライアンスの点から、非常に重要な機能追加であるといえる。ただし、この機能はデフォルトでは無効になっているので注意してほしい。

IISのシステム構成変更のログ機能
コンプライアンスのためには、構成情報の変更を監査できることが望まれる。IIS 7.5ではこれが可能になった。
  (1)イベント・ビューアの左側のツリーで、[アプリケーションとサービス ログ]の[Microsoft]−[Windows]−[IIS-Configuration]の下にある[Operational]を選択する。するとIISの構成変更に関するログが表示される。
  (2)デフォルトでは監査は無効になっている。クリックするたびに[ログの有効化]と[ログの無効化]が切り替わる。これは監査が有効な状態の表示。
  (3)IISの構成変更のログの一覧。
  (4)記録された内容例。IISの構成変更を行うたびに、このようなログが記録される。

ベスト・プラクティス・アナライザ

 IISに限らず、Windows Serverを構築・運用するうえで、どういう設定が推奨されているのかというのは、非常によく聞かれる質問である。これは歴史的に日本で特に顕著なので、日本からの要望として、どの製品でも開発部門に要請してきた。System Centerでも取り上げられている「望ましい構成(マイクロソフト System Center Configuration Managerのページ)」という考え方に乗っ取り、OS自身にもこうした考え方が導入されたのは望ましいことである。特にセキュリティを考慮した構成というのはとても大事である。

 このような要望に応え、Windows Server 2008 R2から搭載されたのが、「ベスト・プラクティス・アナライザ」という、一種のアドバイス機能である。現在の構成や設定を調査して、どのような問題があるかをレポートしてくれる。完全インストール版のWindows Serverには20近い役割(ドメイン・コントローラ、Webサーバなど)があるが、すべての役割がこの機能を備えているわけではない。IIS 7は最初に実装された役割の1つになっている。この機能はOSの基盤となっているので、IISマネージャではなく、サーバ・マネージャの機能として用意されている。

サーバ・マネージャに実装されたベスト・プラクティス・アナライザ
IISなどの設定が、推奨される状態であるかどうかをチェックするベスト・プラクティス・アナライザが用意されており、現在の設定状態を簡単にチェックできる。
  (1)サーバ・マネージャで[Web サーバー (IIS)]を選択する。
  (2)すると、Webサーバ管理ツール画面の[概要]の中に([イベント]、[システム サービス]の次)、[ベスト プラクティス アナライザー]という項目が表示される。
  (3)これをクリックすると、現在の状態をスキャンして、推奨される設定であるかどうかがチェックされる。
  (4)チェック結果。

 実際のところ、まだまだチェック項目が少ないというのが現時点の評価である。しかし、サーバ構成の問題点をサーバ自身がチェックしてくれるという発想そのものは悪くないので、この機能の今後には期待したい。


 ここまで、IIS 7.5における6つの大きな変化について解説した。しかし冒頭でも触れているように、IIS 7では機能の出荷構造が変わっているため、日々新機能の開発やテストが行われ、コミュニティで開発された便利なモジュールも利用できるようになっている。場合によっては、自社のほかの部門が開発した優れたモジュールが利用できるかもしれない。これを踏まえて後編では、多数ある拡張機能のうち、特徴的で有用なものをピックアップして解説していくことにする。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。