IIS 7の新しい運用形態
IIS 7の新しい管理機能
IISの管理用ツールには従来、人間が使用するための GUI、バッチ処理などに使用するコマンドライン、プログラムから使用するためのアプリケーションライブラリと、様々な使われ方を想定し、複数のインターフェースのものが用意されていました。その思想は IIS 7でも変わるところはありませんが、それらのツールは時代の要求に合わせ刷新されています。
インターネット越しに使える GUI 管理ツール
IIS(Internet Information Services)マネージャー(以下、IISマネージャー)は、IISの管理を行うためのGUIツールです。「IISの管理ツール」と聞いて多くの人が真っ先に思い浮かべるのがこのツールでしょう。
Windows Serverに付属するIIS 7では、IIS管理サービスの機能強化により、IISマネージャーを使用したリモート管理がインターネット経由でも可能になりました。これに合わせ、Windows XP以降の Windowsから IIS 7へのリモート管理接続を行うためのクライアントツール IIS Manager for Remote Administrationが用意されました。
接続対象も、従来のサーバールートの他に、Webサイト、アプリケーションといった、限定された接続も可能になっています。
図2:IIS 7の管理サービスはインターネット経由で接続可能 |
サーバー管理者は、IISをリモート管理させるユーザーとして、Windowsの一般ユーザーアカウントに加え、IIS内部で完結した独自のアカウント「IISマネージャー ユーザー」に管理を委任できるようになっています。
例えば、本社の情報システム部のサーバー管理者が、支店別にWebサイトを作成し、各支店の担当者に管理用アカウントを払い出して、各々のWebサイトをリモート管理させるといった運用が可能になります。
さらには、統合インストーラ Microsoft Web Platform Installer(以下、Web PI)をインストールすることで、リモートのIIS 7へもWordPressなどのOSS Webアプリケーションを簡単にインストールすることが可能になるので、この仕組みを使用して簡単なWebホスティングのようなサービスを行うこともできます。
図3:Web PIを使用したリモートインストール(クリックで拡大) |
強力なコマンドライン ツール
IISマネージャーの提供するGUIは、ユーザーフレンドリで直感的な操作がしやすいものではありますが、複雑な手順をまとめて処理したい場合や、定期的なタスクの実行などは、コマンドラインによる操作の方が適しています。
IIS 7では、コマンドラインからIISを管理するためのツールとして、Appcmd (appcmd.exe) が用意されています。Appcmdは、コマンドの構文が複雑にならないように書式に工夫がされており、どんなタスクでも直感的にすばやく記述ができるようになっています。Appcmdを使用すればほとんどのWebサーバー管理タスクに対応できるため、サーバーローカルの処理の自動化や定期タスクの実行などに効果を発揮します。
リモート処理などを含めた、さらに高度なオペレーションについてはWindows PowerShell用のIISプロバイダーが用意されています。
図4:PowerShellを使用したアプリケーションプールの列挙 |
PowerShellは .NET Frameworkを基盤として動作する CLI(Command Line Interface)シェルおよびスクリプティング言語です。その特長を活かし .NETアセンブリを直接呼び出すことができるので、豊富に用意されている.NET Frameworkのライブラリを利用できるのはもちろんのこと、複雑なロジックやソースを非公開としたいものを.NETアセンブリとして用意し、第三者にはPowerShellから使用させるといったことも可能です。またリモート接続やマルチスレッドにも対応しているため、例えば、1回の入力で、複数台のリモートサーバーに対し個別のスレッドを立ててコマンドを送るといったことも可能になります。
これらのコマンドラインツールを用途に合わせ使い分けることで、IIS管理タスクの自動化や、複数のサーバーに対する一括の処理が可能になります。
また、スクリプトから使用されることを前提とした WMI(Windows Management Instrumentation)ライブラリや .NETアプリケーション用のIIS管理API※2も用意されていますので、ユーザーが独自に IIS 管理用のアプリケーションを開発することも可能です。
[※2] 豊富に用意されているIIS拡張もIISの管理APIを利用して作られています。