ScottGu's blog translated by Chica @ Wankuma

IIS 7用の新しいログレポート、データベース管理、その他の管理用モジュール

  

IIS 7をビルドする際に考慮した中で優先度の高かったものに、リッチな.NET の拡張モデルを有効にし、開発者が簡単にプラグインを接続できるよう、またWebサーバを拡張できるようにすることがありました。

これらの拡張性の接続は、Webサーバのパイプライン(新しいIIS7 ビットレートスロッターなどのシナリオの有効化)、構成システム(開発者による新規web.configスキーマ設定の作成を有効化)、ヘルスモニターシステム(開発者による固有のトレースイベント追加を有効化)、管理者ツール(開発者による新規管理者UIモジュールのプラグインを有効化)などの中で提供されています。

これらの拡張性への接続を追加することで、誰もが簡単に.NET を使用したWebサーバの拡張および改善できるようになりました。また勝手ながらこちら側でそれらを必要としていたのは、コアなWebサーバへ機能を追加するパッケージを定期的な出荷ができるようになるためです。

IIS 7 管理者パック プレビュー1のリリース

先週、恐らくWeb開発者が非常に便利だと思われるだろう管理モジュールのいくつかの最初の技術プレビューをIISチームが 出荷しました。このプレビューではIIS7管理ツールにいくつかの新機能が追加されています。 :

  • データベースマネージャー: テーブルやインデックスの新規作成、削除、編集や、ストアドプロシージャの新規作成および削除、カスタムクエリーの実行などが可能なビルドインのSQL Server データベース管理。 IIS管理ツールに統合されているために、全てHTTP/SSLを通じて動作可能になりました。つまり、インターネットに直接データベースをさらすことなく、ホストしているアプリケーション(低価格の共有ホストアカウントだとしても)をリモートで管理するためにそのモジュールを使用することができるのです。

  • ログレポート: ログファイルデータのチャート表示が可能なビルドインのレポート表示。 全ての範囲が選択およびカスタムなチャート作成、そしてレポートの印刷および保存が可能。データベースマネージャのようにこのモジュールをHTTP/SSLを通じてリモートでこのモジュールを使用することができます。つまり、リモートの共有ホストでも動作します。

  • コンフィギュレーションエディタ: これは強力なモジュールで、全てのweb.config設定を管理ツール内で編集する際に完全に管理ができるようになります。UIを使用して変更したものをトラッキングする時の構成や、構成スクリプトを自動生成させ自動で再起動させる時のためにそれを保存または微調整させることができます。

  • リクエストの検索UI: この管理モジュールはIIS7で新規リクエストの絞り込み機能を管理します。この詳細および使用方法については、Carlosのブログ投稿をここからご確認ください。

  • .NET 権限: この管理モジュールはカスタムの権限ルールエディタを提供するため、ASP.NET <authorization>管理セクションをより簡単に管理することができます。

  • FastCGI UI: この管理モジュールは、全ての新しい<fastCGI>設定(PHPのようにIIS'でFastCGIモジュールを使用する時のために)を編集するためのものです。

以下はログレポートとデータベースマネージャの管理UIモジュールのスクリーンショットと、簡単なチュートリアルです。 :

ログレポートの管理モジュール

サーバにWebアプリケーションを展開されたことはありますか?またその時にどれくらいロードされているのだろうと思われたことはありますか?そのサーバからの平均応答時間はどれくらいだろう、またサーバーエラーはどれくらい起こっているのだろう(起こっているならどのURLで)と思われたことはありますか?これらの設定は全てテキストベースのログファイルにIISがログを取っていきます。今日、ほとんどの人たちが IIS ログパーサーユーティリティなどのコマンドラインツールを使用して、これらのファイルの検索や分析を行っています。

IIS 7 の管理パックとその新しい"IIS レポート" の管理モジュールでは、IIS管理ツールにおいてレポートを検索しグラフィックにチャート化することができます。 :

"IIS レポートの管理モジュールは、多くのすでにビルドされたログパーサベースのレポートを搭載しており、サイトやアプリケーション上で簡単に起動することができます。 :

以下は"TestSite" アプリケーションから返されたHTTPのステータスコードを確認して引っ張ってきている簡単なレポートです。 ("棒グラフ" 表示オプションの使用方法をご確認ください。):

レポートはオプションでデータ範囲を使用して絞ることができます。レポートページで、印刷および保存ボタンを押すとプリンターやロカールに保存されたレポートを生成することができます。

IIS7管理ツールはリッチなクライアントアプリケーション(Winフォームを使用してビルドされた)ですが、全てリモートアクセスを行っており、リモートのWebサーバに接続するHTTPベースのWebサービスを使用して動作しています。つまり、ファイアウォールを通じて動作し、ホスト側はこれを有効にするためにネットワークにポートを開ける必要はありません。

ホスト側でWebサーバ上にIIS7の管理パックがインストールされれば、ホストされているサイトをIIS管理ツール(Vistaにはビルドインされていますが、XPではダウンロードが必要です。)を使用して管理しているリモートのお客様は、自動的にIISレポート管理モジュールが有効化されます。そうなると、管理ツール内のレポートモジュールを使用して、リモートのホストサイトのレポートを確認することができます。

注:ホスト側は必要に応じてオプションでこの機能を無効にしたり、提供するレポートの一覧を規制またはカスタマイズすることができます。できれば、ホスト側で全てのIISおよびASP.NETの標準機能を提供して頂ければと思います。

データベースマネージャのモジュール

リモートのホスティングプロバイダーに自作のアプリケーションやデータベースをデプロイして、データベースに少し変更をしたい(が、ホスティングプロバイダーはSQL管理ツールを使用してのアクセスをサポートされていない。)と思われたことはありますか? このIIS管理ツールにある新しい"データベースマネージャ" モジュールを使用するとWebサーバを通じて HTTP/SSLを使用してデータベースにリモートでアクセスし変更することができます。

IIS管理ツールでリモートサイトに接続して、"データベースマネージャ" アイコンをクリックするだけです。 :

デフォルトではデータベースマネージャのモジュールは、Webアプリケーションのweb.configファイルの<connectionStrings> セクションを見て、ホストしているアプリケーションが使用しているデータベースに簡単にアクセスできるようにします。

例えば、以下のTestSiteアプリケーションには web.configの<connectionStrings>セクションに"NorthwindConnectionString" 設定があります。(このために接続ノードの一覧に表示されています。) それをクリックすると、ストアドプロシージャやテーブルのスキーマ(インデックスを含む)を見て編集することができます。 :

どのテーブルも右クリックで行データを編集したり、カスタムのSQLクエリを実行してデータを取得することができます。 :

何が良いかというと、ホスト側は簡単に上記のデータベース管理機能を全て、専用および共有ホスティング利用(例え1つのサーバ上に何百、何千のお客様いた場合でも)の両方へ提供することができます。 管理ツールにある他のモジュールのように、ホスト側のリッチクライアントのフロントエンドとバックエンド間の全てのやり取りはHTTP/SSLベースのWebサービスを通じて行われます(つまり、ファイアウォールを通り抜けるので、ホスト側で新しくポートを開ける必要も、インターネット上で直接SQLサーバをさらす必要もありません。)

このデータベース管理モジュールが、すべてのIISをホストされる方々が有効にできる1つの標準機能として、リモートのホストデータ管理がより簡単にできるようになると幸いです。

まとめ

今後、ますますIIS 7管理パックで管理UIモジュールが出荷されていき、多くの機能が有効になっていきます。( 管理ツールを構築している開発チームを管理しているCarlosは、彼のブログ を通じて必要なもののご提案を積極的に求めていますので、もし何かご提案や必要機能などがございましたら彼にコメントください。)

IIS 7の管理パックリリースの最初の技術プレビューは ここ からダウンロードすることができます。また詳細については、 オンラインドキュメントでご確認いただけます。上記のモジュールはVista SP1またWindows Server 2008のどちらのIIS7リリースでも動作します。

Hope this helps,

Scott

ScottGu's blog translated by Chica @ Wankuma 

※本翻訳に関しまして、Scottさんにはご了承頂いております。