• 【IT Pro道場】時間が経ってから結構注目されている自主トレシリーズ

    松崎と全国を回ってお話をさせていただいた IT Pro道場 アプリケーションプラットフォーム編 のオンライン版、自主トレシリーズが最近にわかに注目を集めていて、結構好評いただいている状況です。とてもうれしい(●^o^●)です。

    Webアプリケーション(ASP.NET、WCF、WFも含む)の基本的な構築にこれから着手しようと思っていらっしゃる方には最適のコンテンツだと思うので是非 まだアクセスしたことの無い方はサイトにお越しになってください。開発要素だけでなく基盤周りや運用監視も視野に入れた情報が揃っています!

    もし何かもっとこういう情報が欲しいなどご要望がありましたらそれもぜひお寄せください。
    検討して追加してきたいと思っています。

    現在、TechNetのトップページでお役立ちコンテンツとしてリンクがあります。
    http://technet.microsoft.com/ja-jp/default.aspx

  • 【IIS7】 FTDセミナー振り返りシリーズ Vol.3

    Part III : さらに続くIISの可能性の追求

    この Part については このブログでかなり取り上げているものの中からいくつか紹介したものになります。


    Web Platform Installer

    これはまだ英語版環境のみなんですが、Microsoft の Web環境を構築するための統合インストーラです。
    http://www.microsoft.com/web から入手します。

    image

    こういうシンプルな画面です。うーん 日本語版が欲しい。。。というフィードバックは既にしています。


    開発コードネーム ”Dublin”

    IIS は コンテンツをホストする Webサーバーでもありますが、WCF(Windows Communication Foundation)、WF(Windows Workflow Foundation)を使ったサービスをホストするアプリケーションプラットフォームでもあります。

    ”Dublin”はこのようなアプリケーションの運用面を強力にサポートしてくれる機能群を提供し、IISとして目に見えるものとしては IIS マネージャにこれらを管理する機能のアイコンが増えます。英語ですが、構造的な話は下記を参照ください。

    WCF And WF Services In The .NET Framework 4.0 And “Dublin”
    http://msdn.microsoft.com/en-us/magazine/2009.01.net40.aspx

    私も以下の投稿を以前にしていますのでそちらもよろしければお読みください。

    【IIS7】 ASP.NETとの統合が進んであとは何を出してくるのかと思ったら。。。


    IIS Smooth Streaming

    メディアコンテンツは今まさに流行していますが、IISがメディアストリーミングの強力なホストにどんどん成長していきます。特に IIS Smooth Streaming は 下記のサイトでのデモをお見せしましたが、リアルタイムに配信状態情報を提供できるなど強力な機能をこれからどんどん実装していくことになっています。

    http://www.smoothhd.com

    補足:2/20の本番以降に実は ベータ版の提供が始まっていますので試したい方は www.iis.net/extensions へお越しください。

    メディアのストリーミングについては歴史も含め、整理するつもりですので、別途投稿したいと思います。


    というようなセッションを実施いたしました。ここで書いていないデモなどはきれいにまとめ次第、書いていきますのでお待ちください。

    最後のスライドにあった関連リソースは下記に貼っておきます。

    IIS 製品ページ
    http://www.microsoft.com/japan/iis

    TechNet/MSDN IISフォーラム
    http://social.technet.microsoft.com/forums/ja-JP/iis7ja/threads/
    http://social.msdn.microsoft.com/forums/ja-JP/iis7ja/threads/

    tech・days Japan 2009 (T3-301 “Dublin“)
    http://www.microsoft.com/japan/events/techdays/default.mspx

    IIS.NET(英語)
    http://iis.net

    Server Core チームのブログ(英語)
    http://blogs.technet.com/server_core/default.aspx

    WCF And WF Services In The .NET Framework 4.0 And “Dublin”
    http://msdn.microsoft.com/en-us/magazine/2009.01.net40.aspx

    Smooth Streaming の Tech Preview、実際にご覧ください!
    http://www.smoothhd.com/

  • 【IIS7】 FTDセミナー振り返りシリーズ Vol.2

    Part II : Windows Server 2008 R2における IIS 変更点

    それでは R2 でバージョン以外(それだけってことは無いですな)に何が変わったか見ていきましょう。
    ただ、この Part は現在のベータ版での話が多いので製品版出荷時に内容や仕様が異なることがある点をご承知おきの上、お読みください。

    Server Core 上の ASP.NET サポート

    お待ちかね、かなり多くの人が私にコメントしていただいた機能が R2 に搭載されます。
    本題に入る前に実は少し Server Core を採用した場合の効用を少しお話しました。
    ※ここに書いてあることの多くは Server Core 開発チームのブログにも書いてあります。

    ライトウェイトな OS 形態を目指している Server Core はシェル、IEなど多くの完全インストールにあるコンポーネントが存在しないため、適用する必要のある更新プログラムが当然かなり減ります。元々常に最新の更新プログラムを適用することにしているルールで運用している場合に比して最大65%(かなり概数)適用数を減らすことができるような数字も出ています。

    また、どんどんライトウェイトにしていくと今度は OS が占有する HDD の領域も気になってくると思いますが、Windows Server 2008 以降では各機能がパッケージ化されており、DVDの挿入が必要ないようにセキュアな場所にキャッシュされているわけですが、そのキャッシュを削除する方法が開発チームのブログで紹介されています。

    Reducing the Server Core disk footprint

    R2 �� Server Core上に載るものは具体的には何が今までと違うのでしょう?簡単に要約すると以下が搭載されることになると現時点では言われています。

    .NET Framework 2.0 のサブセット
    .NET Framework 3.0 のサブセット
    .NET Framework 3.5 のサブセット
    ASP.NETのサブセット
    ※ベータの段階なのでどの名前空間が無いのかの議論は確定情報ではないのであまり有益ではないと思うのですが、以下で列挙されています。簡単に言うと CUI な Server Core では WPF が使われないという想定から搭載されないのが大きな特徴です。

    .NET 2.0 and Server Core in Windows Server 2008 R2

    そしてこれらが存在することでついに Windows PowerShell (これは次の項で取り上げます。)も搭載されます。

    一つ、Server Core R2で汎用的に覚えておくべきなのは Windows Server 2008 R2 が 64ビット版のみの提供になることで 32ビットのアプリケーションの動作を行いたい場合の WOW64 の状況だと思います。Server Core R2 では WOW64 は既定では入っていないので個別にインストールする必要があります。

    ここで 余談として DISM.exe というコマンドの話をしました。実は実現できて来なかったものがもう一つあって、更新プログラムや機能のオフライン適用があります。Windows 7 や Windows Server 2008 R2 に対応した展開用のツールとして、つまり imagex などと並んで開発されたツールとして DISM.exe というのができました。

    Dism /online /enable-feature /featurename:MicrosoftWindowsPowerShell

    ここで注目に値するのは /online でここを /image にするとオフライン適用が wim と vhd(これは確認しないで書いています。) に実行できるかなりパワフルなツールです。これは下記で書きました。

    【Win2008R2】 DISM ってなんだろう?

    デモ的には以下を用意していました。

    DISM /?
    DISM /online /get-features
    DISM /online /enable-feature /feature-name:MicrosoftWindowsPowerShell /feature-name:ServerManager-PSH-Cmdlets

    PowerShell を起動。
    Import-Module servermanager
    $module = Get-Module servermanager
    $module.ExportedCmdlets

    Get-WindowsFeature

    このコマンドは完全インストールにおける servermanagercmd –query の出力によく似ていてきれいにフォーマットされています。やっぱり PowerShell 一本で行くと物事がスムーズ?! ( ^^) _U~~

    Add-WindowsFeature

    この Add-WindowsFeature も役割や機能をインストールできるのでこれで選択肢はいくつになったんだろうか?

    ちょっと数えてみよう。。。GUI(クライアントはコンパネ、サーバーはサーバーマネージャー)で、pkgmgrで、 ocsetupで、 servermanagercmd(完全インストールのみ)で、 dismで、 Add-WindowsFeature と7つかぁ あとは OS 展開とともに準備する MDT を全部総合すると 8つ。。。多いな。今度特徴を整理しますね。

    IIS7関連のインストール関係の投稿に全部この DISM および この ServerManager のコマンドレットについて追記していきます。

    PowerShell Snapin for IIS7

    IIS7 が他の PowerShell 対応製品と違うのは PowerShell の開発時期と IIS7 の開発時期が重なっていた点があります。このため、今までのセミナーなどでも繰り返し appcmd.exe というのがあって、、、という話をしてきましたが、今回のこの Snapin が提供されると他の OS の機能と同じようにネイティブに PowerShell で IIS が管理できるようになります。

    image

    R2 だと Import-Module WebAdministration をしてから。

    実行中のリクエストの詳細が取れたりもしますが、 IIS7 が RSCA(Runtime Status/State Control API)という状態公開の API を持っているからで、それすらも PowerShell で触れるようにしてくれます。相当パワフルです!

    FTP7 & WebDAV

    FTP といえば、IIS7 に付属してなかったっけ?という質問をいつもいただきますが、あれは IIS6 相当の FTP であって、管理も今まで通りに IIS6 の IISマネージャーで管理するものです。なので、IIS7 の IISマネージャーで FTP を探しても何も出てきません。今回の話題である FTP はこの FTP ではなく、IIS7 に完全対応した FTP7 と呼ばれている IIS Extension として開発がされてきたものです。その FTP7 が標準機能として IIS7.5 には搭載されます。

    image

    WebDAVについても補足が必要でしょう。IIS7、つまり Windows Server 2008 のレベルでは WebDAV サーバーの機能は標準で搭載されていません。これは Windows Server 2003 のインストールからすると機能が無くなったと感じた人もいると思いますが、2003 の WebDAV には改良すべき点があり、Windows Server 2008 用に再開発が必要だった背景があります。このため、IIS Extension として開発が行なわれ、R2では標準搭載となるわけです。

    image

    IISマネージャの追加機能

    IIS だけでなく、現在の Windows Server の設計思想は基本的に CUI から全機能・設定操作を利用できることをまず考えてライブラリが構築され、そこから必要な GUI が作成される思想が根底を流れています。これは R2 に Windows PowerShell がコマンドプロンプトと同様にインストールなしで最初から入っていることからもわかると思いますし、PowerShell の思想でもあります。

    このことから IISマネージャでは設定できず、.configファイルを直接編集する、あるいは appcmd set config ~ などで設定を行なう必要のある設定が今までありました。その中から GUI があった方がいいという希望の多かったものについて IISマネージャの機能も追加されているという流れでいくつか GUI 操作ができるようになります。

    image image image image

    この中でも要求フィルターの機能は多用される UrlScan というツールが標準機能化されたモジュールのため、とても声が大きかったですし、PHP を IIS で動作させる用途で FastCGI を GUIで設定できるようになっています。

    実はこれらは Administration Pack という IIS Extensionとして開発されてきた機能たちになっています。Administration Pack ではあと二つアイコンが追加されるのですが、R2にはその内の一つを搭載予定で、もう一つは改良を続けることになり、R2には入らない予定です。

    入る方の機能は 構成エディター です。

    image

    この構成エディターはすごく新しい構成エディターをわかりやすくするもので、XMLを直接編集するのではなく、ノードを表示してそのノードにある構成(設定)を直接編集するものになっています。

    image

    そして設定を編集後に実は その設定をスクリプトで行なう場合のスクリプトを自動生成してくれます。マネージコード(Microsoft.Web.Administration)、JavaScript(Microsoft.ApplicationHost.WritableAdminManager)、AppCmd それぞれの生成例が表示されるのでこれをカット&ペーストして自動化に役立てることができます。

    image

    改良して欲しいなあと当然思うのは PowerShellのスクリプトをまだ吐いてくれない点です。これは開発チームに強くフィードバックしています。

    一方で含まれない機能は IIS Reports というものです。皆さんは Log Parser というツールをご存知でしょうか。IISのログを収集してそれを整理して解析を行なう際に便利なツールです。IIS Reports はこれを一歩進めて、現場でよく利用される典型的なグラフを自動生成してくれる機能で、当初は Log Parser を内部的に使っていましたが、現在はどうか私は知りません。初めて登場したときには Administration Pack は Log Parser のインストールを前提条件にしていました。現在はその前提条件は無くなっています。下記のようなグラフが出るんですよね。

    IIS Reports

    R2 に入らないことが残念なんですが、察するにこのツールへのお客様の期待値が高く、機能的に不十分だったため人気が出なかったと想像しています。普段 W3C ログから Excelに取り込んで苦労なさっている方にはこういうものの開発は朗報だと思います。とりいそぎ この機能を使いたい方は Administration Pack を Windows Server 2008 にインストールいただければこの機能も使用できます。各 Extension の R2 対応については今後対応していくと思いますのでお待ちください。

    システム構成ファイルへの設定の監査ログ

    IIS7.0 でできなかったことの一つとして、構成ファイルへの書き込み内容を記録として残すという点があります。R2ではイベントビューアで記録を確認できるようになります。既定ではオフになっているのでオンにしてから使うものになります。

    image

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

    これはIISの新機能というよりは R2 の新機能で、IISはその対象になっている役割と言ったほうが正しいと思います。以前からサーバー製品で製品とは別に出荷されてきたものですが、今回はOSにそういうものを載せているということになります。例えば 基本認証だけどSSLは? とかいう項目をチェックしてくれます。

    image

    サーバーマネージャ-の機能として搭載されますので Webサーバー の役割を追加した際にはチェックしてみてください。ただ、ベータ段階ではチェック項目が少ないのでどんなものかだけ把握できると思います。Server Core にも PSH のコマンドレットが搭載されますのでそちらでも使えるようになると思います。

    Start /w ocsetup BestPractices-PSH-Cmdlets
    add-module BestPractices
    get-bparesult, invoke-bpamodel set-bparesult

    そして Part II の最後���はアプリケーションの移行に関する注意点を説明をしましたが、それは別テーマで今度書こうと思います。

  • 【IIS7】 FTDセミナー振り返りシリーズ Vol.1

    この投稿の内容は@ITさんのWebサイト向けに書かせていただいた記事と重複しているところも多くありますが、更新された内容も書かれています。

    Part I.  IIS, Yesterday & Today

    最初にお聞きしたところ、会場では IIS6 をお使いの方が多い状況でした。ということで実はこの Part I も飛ばさずにお話をしました。

    IIS5での厳しい体験、IIS6での再出発、IIS7での互換性高く しかし 新しいプラットフォームへの流れをまずご紹介しました。いつも通り、厳しい体験の話は CodeRed や Nimda の話でした。開発チームもすごく辛かった時期でもあります。IIS6 のセキュリティ一義な考え方、それを受け継いでいながらしかし 新しい構造への一歩を踏み出したのが IIS7 です。

    3年お話してきてとても思うのは、IIS7を正確に捉えるには大きく二つの要素を把握することが大事である点を強調しました。そこでこの Part I は主にこの2点にフォーカスしています。

    - 新しい構成システム(環境設定)
    - モジュール構造

    新しい構成システム

    新しい構成システムは .config 形式の XML ファイル群で、今までの metabase.bin や metabase.xml とはまったく違うシステムです。簡単に要約すると、ASP.NET の構成システムを参考に作られた仕組みになります。

    下記は ダウンロードセンターで入手できる XML Notepad 2007 で各ファイルを開いて、構成セクショングループの階層の画面ショットをとったものです。

    左から machine.config(.NET Framework 設定)、root web.config(ASP.NET 設定)、applicationHost.config(IIS7設定)のものです。

    image imageimage

    これらとともに継承してサイトやアプリケーションで設定を上書き(Override)することができ、例えば下記のような設定ができます。下図の例は左がサイトレベルでのディレクトリ参照を許可し、アプリケーションレベルで index.php を追加した場合になります。

    image image

    これらが実はメモリー上でうまく合わさって構成が成り立っています。
    ここで実は R2 の IIS から搭載される 構成エディターを少しご覧いただきました。構成エディターはこのマージされたシステム構成を把握するのにとてもいいツールになっています。
    image

     

     

     

     

     

    そして、この構成システムはすごく単純でありながらほぼすべての設定がこのテキストファイルベースでできること、どう書けばいいのかはスキーマファイルが用意されていることをお伝えしました。IISの開発チームは最近でこそ新しい構成エディターを使い始めているようですが、実際には.configファイルを書く際にスキーマファイルを「教科書」のように使っていた点もお話しました。スキーマに書いてない設定は動かないので「バイブル」と言っていいかもしれません。

    モジュール構造

    IIS7 の二つ目の大きな特徴は各 IIS のサーバー機能が一つ一つ独立した DLL になったことが挙げられます。セキュリティ面、リソース面において今までの IIS に比べると自由度が大幅に向上しました。そして、IIS のサーバー機能を皆さんが.NETのコードで開発することもできる(& 売ることができる)ようになったことで新しいビジネスモデルも登場しています。

    次にお話したのは二つのモードについてで、IIS5互換モードが無いこと、つまり、IIS5互換モードで動作しているアプリケーションはあくまでもIIS5対応のアプリケーションであって、IIS6対応したアプリケーションではないことなどをお話しました。この辺は当日十分にお話できないと思い、下記の投稿を事前にしていました。

    【IIS7】 IIS5からIIS7への移行を考えるとき

    IIS7 におけるモードは ASP.NET の動作を切り替えるモードであり、アプリケーションの汎用的な互換性とは関係がありません。もちろん ASP.NETアプリケーションの互換性には影響があります。

    image

    モジュール構造は実は裏でとても大きな影響を開発プロセスに与えました。開発チームは OS の出荷(メジャー、マイナー、サービスパック)を待たずに IIS のサーバー機能を個別に出荷できるようになったのです。このことで登場してきたのが IIS Extensions です。以前は OOB ツールと呼んでおり、このことは下記の Tech・Ed の振り返りで書きました。

    【IIS7】 Tech・Ed 2008 セッション振り返り(01)

    サーバー機能の出荷方法の自由度が上がったこの変更により、下記の図のような構造でIISの環境というのはインストールされます。R2ではいくつかの Extension を標準機能として取り込んだ形になるので 標準機能+標準機能にならなかったExtension +今後開発されてくる Extension と利用できるサーバー機能の位置づけが少し複雑になります。

    image

    そして Vol.–1 で書いたように R2 の IIS のバージョンは IIS 7.5 になります。WFetchでヘッダーを確認するデモのほか、すごく簡単ですが、下記をやってレスポンスヘッダーでちゃんと 7.5 を返しているのをご覧いただきました。

    Windows PowerShell を開きます!
    $x = New-Object System.Net.WebClient
    $x.OpenRead(“http://localhost”)
    $x.ResponseHeaders.GetValues(“Server”)

    3/15 思い切りミスタイプしてましたので直しました。すみません。

    この Part I の最後では IIS Extensions の現在の出荷状況の表をつけました。セッション前日にも状況が変わったんですが、今日時点でもまーた変わってます。IIS Smooth Streaming のベータが上がりました。
    ※ IIS Extensions の状況についてこの図は参考情報で、実際の最新状況は Extensions のサイトできちんと確認ください。

    image

    以上、Part I でした。。。とっても要約するとこんな感じです。(*^_^*)

  • 【IIS7】 FTDセミナー振り返りシリーズ Vol.0

    大変遅くなりましたが、2/20 の Future Technology Days の私のセッションにご参加いただいた皆様ありがとうございました。また、これから何回かに分けてセッション内容をブログで整理しますので来れなかった方もぜひお読みいただければと考えています。ぜひ感想などをコメントでお寄せいただければと思います。

    まずは、今回のセッション内容の概要をこの投稿でご紹介します。

    Windows 7 セミナー ~ 企業向け Windows 7 の全貌 ~
    http://www.microsoft.com/japan/powerpro/ftd/windows7/default.mspx

    この中で高添と私が身の回りではセッションを担当いたしました。それと実は IT Pro道場 を一緒に立ちあげた 元 IT Proエバンジェリストの井戸も実は今回セッションをやっていました。

    Windows Server 2008 R2 で仮想化は次のステージへ高添
    64bit プラットフォームへのアプリケーション移行 (井戸)
    Web プラットフォーム(IIS プラスアルファ)の次なる進化の行方 (奥主)

    ということで私のセッションは下記がセッション概要で書いてありました。


    本セッションでは、Web サーバー IIS7.0 のその後の進化について解説します。Windows Server 2008 R2 で標準搭載される今まで OOB ツールと呼ばれていた機能群 (代表的なものが FTP7、WebDAV、Admin Packなど) および Server Core 上で動作する ASP.NET 環境、PowerShell 2.0 と IIS プロバイダーによる管理環境を含む新機能をご覧いただきます。


    それではスライドから内容をピックアップして書いておきます。

    今回は4部構成でした。

    Part I : IIS, Yesterday & Today
    Part II : Windows Server 2008 R2における IIS 変更点
    Part III : さらに続くIISの可能性の追求
    Part IV : まとめ と 役に立つリソース

    Part I では今まで(IIS7.0 まで)の話。Part II は R2 での変更点。Part III は IISの機能と可能性の拡大の話。Part IVはまとめといきました。

    ということで、今後の投稿で Vol.1~Vol.3 でそれぞれのパートを解説する投稿をしていきます。
    お楽しみに。(●^o^●)