Server Core

今日は簡単に。

ServerCoreは、御存じの通りWindows Server 2008から導入可能な新しいインストール形態です。Windowsに特徴的なWindows Explorer (explorer.exe)に代表されるGUIが殆どないサーバー環境が実現できます。初期構成以外は、あまり操作しないサーバー用途ではうってつけです。

インストール・有効かされるモジュールが減りますので、セキュリティホール/バグの数も少なくなる可能性が指摘されています。

実際にTechEd 2008 北米でお話されていましたが、コンポーネントベースの比較になりますが、以下の割合のパッチ適用が不要になるそうです。
・Windows 2000の場合は、60%
・Windows 2003の場合は、40%

image

Hyper-VのParent OSとしても活用できますし、本格的に検証してみる価値は十二分にあると思います。

マイクロソフト株式会社
畠山 大有

広告

Windows Server 2008 – Windows RemoteShell

マイクロソフト畠山です。
最近はWindows Server 2008 のお話ができるようになってきました。RC1が公開され、いよいよという気運が高まっています。
その中で、私が「個人的に」気に入っているものを紹介します。
今日は、Windows RemoteShellです。最初にお話しますが、Vistaでも使えます (知りませんでした・・・)

Windows RemoteShellは簡単にいえば、ネットワーク越しにコマンドを実行できる機能です。他のものと何が違うかといえば、通信はhttp/httpsで行っています。そのうえで、WS-Managementのプロトコルを使っているのです!
これまで、RPCとかDCOMのポートを開けないといけなかったWindowsプラットフォームの管理を考えると素晴らしいですよね。ネットワークのチームと、サーバーのチームは分かれていることが多いですし、セキュリティの懸念から、可能な限りのポートは閉めたいですし。
そうしたものに応えてくれると思います。
さらに良いことは、WS-ManagementはMicrosoftだけが決めているプロトコルでは無いということですね。将来的にUNIXやLinuxともやり取りできるようになるかもしれません (個人的な見解ですが。

Windows Remote Shell

では早速使ってみましょう。
Windows RemoteShellには、以下の2つのコマンドがあります。

  • winrm: Windows RemoteShell 自身の管理
  • winrs: コマンドの実行

デフォルトではWindows RemoteShellは無効になっていますので (Secure by Default)、対象となるそれぞれのコンピュータ上で有効にする必要があります。それには、winrm コマンドで対応します。

winrm quickconfig

を実行します。
KB: Windows RemoteShell を有効にする方法
<http://support.microsoft.com/kb/555966>
さて、さっそく以下を試してみました。

winrs -r:<サーバー名> systeminfo

如何でしょう?

参考情報:
<http://msdn2.microsoft.com/en-us/library/aa384426.aspx>

2007年12月13日
マイクロソフト株式会社
畠山 大有

Windows Server 2008 – Application Platform

マイクロソフト畠山です。
Windows Server 2008ばっかりですが(笑)、本当にいろんなOSとしての機能強化が図られているのです。と同時に、新機能を列挙する過程で、「あ、こんな機能もあったんだ」と皆さんに気づきも持ってもらえればと思っています。というのも、直接いろんな方とお話をする中で、私の中では既に一般化していた事(つまり、暗黙知になっていた)が、そうで無いことに気づいたことが多々ありました。OSとして、こんなにUser Modeでアプリケーションを搭載しているのも、それはそれとしてすごいなと改めて感じております。

今日は、私が最も好きな、そしてかなり趣味に走りがちな「Application Platform」としてのWindows Server 2008について。以下に全体像を示します。
Windows Server 2008 Application Platform

  • .NET Framework 3.0

これは標準搭載されてくる事が大事です。ServerCoreインストールをしない限り、ついてきます (2007年8月時点)。これはとても大事で、いちいちインストールしたり、構成をする必要が無い、ということですよね。逆に言えばアンインストールが難しいかもしれません・・・
間違いなくMicrosoftの長期的戦略の中で「.NET」の位置しているところは非常に重要です。PowerShellの実行環境でもあり、WPFがその一部であり、SharePoint Technologyの実行環境でもあります。一つ覚えていると、応用範囲が本当に広いんです。私がPowerShellで最初に叩いたコマンドは「ps」ではありません。「[System.DateTime]::Now」です!!!
上記の図を参照してもらえればより明解ですが、皆さんが直接操作されるプログラムコードは殆ど.NET Frameworkを通じてOSの機能を呼び出すことになっていきます。OSの更なる抽象化ですね。これによって、OSのバージョンが変わっても、アプリケーションは.NET Framework上に対しての呼び出しをするわけですから、プラットフォームに影響されないアプリケーション構築が可能になります。
Serverである、Windows Server 2008では、特に、WCFWFに注目してみてもらいたいです。インターネットを前提に、そこで出てきた相互互換性の対応技術としてのXML。そのXML自身がもっている、メタデータのメタデータとしての可能性。つまりメタデータに意味をもたせるということ。そのXMLベースで記述が可能なのが、WPF、WCF、WFです。これも.NETが、実装技術として一貫性をもっているところです。つまり、長期にわたって利用できる可能性が高く、他のプラットフォームとの相互接続への道が開かれている、というところです。

  • KTM (Kernel Transaction Manager)

簡単に言います。File Systemがトランザクションの機能をサポートするために導入されたようなものです。TxFと呼ばれています。レジストリのアクセスでもトランザクション機能をサポートされるようになります。TxRと呼ばれています。
これによってできることの例を。
– ファイルへの書き込みとDBへの書き込みの一貫性保障 (つまり、MSDTCとの連携)
– アプリケーションのインストール処理時間の短縮
– ファイルバックアップ/リストアの信頼性向上
どうです?皆さんの身近なところでメリットありそうですよね?個人的には、robocopyがこれをサポートしてくれると、超嬉しいです。
技術的には、これらの処理をKernelレベルで実行するために、トランザクションモニタがKernelに実装された、ということですよね。
ちなみに、.NET Framework 2.0にLTM (Lightwight Transaction Manager)というのが実装され、.NETアプリケーションは、LTMに指示を送ることが基本となります。LTMが他のトランザクションモニタにメッセージを送るんですね。
残念なのが、TxFに関しては、現時点では.NET用のライブラリが用意されておらず、LTMも使えない模様・・・がんばれ!Microsoft!
ちなみに、.NET FrameworkからMSTDCを使う場合には、System.Transactoins名前空間のライブラリを使えばOKですローカルかリモートかはそんなに意識しないで使うことができます。

Microsoft Message Queuing です。MQですね。あるの知っていました?????????????????OSの標準機能でっせ!!!
MSMQ1.0からCOM APIがありましたので、VBなどのCOM Automationをサポートしている環境から使うことができたのですが、勿論、.NET Frameworkも1.0からしっかりサポートしています。
Messege Queuingをよくご存じない方に一言でいうなら、複数のアプリケーション間での、確実な電文の受け渡しを行うための仕組み、と言えます。
処理を他の誰かに依頼するとします。その時に、依頼側が実行結果を待つのが通常の処理。これは実装も簡単なのですが、依頼先の処理が終わるまでの間、依頼側が待たないといけない。という制限が出てしまいます。これは「同期通信」と言われている方式です。
じゃ、他に何があるかといえば、「非同期通信」。つまり、依頼側が、お願いね、といったら、その結果を待たずに、先に進んじゃう。依頼先で処理が終わったら、何らかの形で受け取る。という方式です。
この場合の電文をMessageと定義し、それを、仲介者がためておく。つまりQueuingですね。その仲介サービスをするのがMicrosoft 技術の場合MSMQです。仲介者がいることで、メリットもでてきます。
– 相手の場所を意識しなくてよい
– 相手の通信プロトコルを意識しなくてよい (データ本体は当然キメが必要ですが)
– 相手が都合の良いときに処理をすればよい。つまり、相手が負荷が高い時でも、仲介者が受け付けてくれる。
– Queuingは、CPUのアーキテクチャと非常に親和性が高い
一つの製品になるくらいの管理機能ももっているんですよ。実は。

WCFという技術によって、通信技術が統合され、アプリケーションは統一された柔軟性の高い宣言型のインターフェースを持つことができるようになりました。IISというのは、WCFアプリケーションのホスティング環境ともいえます。つまり、IISは、マルチスレッドのホスティング環境へと自身のサービスの場を広げています。HTTP通信はあくまでその中の一つ。.NET 2.0時代にも、.NET Remotingのホスティングサービスとして活用できたのですが、いよいよ本格化したと言えます。つまり、Windows Serverの外部I/FはIISに統合。その裏で動くApplication Platformとして、.NET Framework、MSMQ、トランザクション機能などが備わっているのです。

私が思うにWindowsを選択して、Platformがどうなるかといえば、標準化を適用し易くなると思います。それは、OSではなくて、OS+ミドルウェアという意味でです。ミドルウェアって、大体システム開発の時には、「共通機能」とか「フレームワーク」と呼ばれる部分で実装されますよね。個々のサブシステムは、それらを「利用」するだけ。つまり、アプリケーションに踏み込んだ「標準化」が可能になるわけです。
標準化をして良いことは:
・変化への対応。OSのアップグレード、修正プログラム適用などに検討事項が最小化。
・TCO削減。管理対象が最小化される。アプリケーション開発よりも、アプリケーション保守(ここではコードに手を入れることを「保守」と呼びます)、運用時に必要なツール・人がそろえやすい。
結果、ビジネス的な要求に応えやすくなるのではと思っています。

J2EEが出だした頃、「Application Serverって何?なんでそんなに高いの???」と素朴な疑問をもっていた私は、当時からWindows ServerにApplication Serverと呼ばれている機能が付属していることを知っていました。
後は、それがおまけでないことを確認する作業が必要ですよね。ご自身の技術要件にマッチするようでしたら、お手元のWindows Server。もしくは、お手元のWindows NT Client (2000、XP、Vista)で試されてはいかがでしょうか?

2007年8月20日
マイクロソフト株式会社
畠山 大有

Windows Server 2008 – NAP (Network Access Protection)

マイクロソフト畠山です。
今回もWindows Server 2008の機能概要を取り上げます。繰り返しになるんですけど、Vistaと連携すると効果が高いものが本当に多いんですよね。ほぼ同様のKernelを使っていますので当たり前なのですが。OSとしてしっかり進化していることを実感します。Kernel部分と、今回取り上げているUser部分とです。

NAPはLANに接続されたコンピュータの健全性をチェックし、修復手段を提供できるというものです。組織で決めた「ポリシー」を実現させる上で重宝します。
これまでは、VPNやダイヤルアップなどの、外部からの接続時にしかできなかったことが、社内からの接続に関してもできるようになるのです。

この手の話は毎回そうなのですが、「継続性」があります。徐々に発展してきています。これによって何が得られるかというと、既に構築済みの資産が流用できる可能性が非常に高くなります。
NAPでも、

  • アクセス手段としてはDHCP、IPSec、802.1x、VPNをサポート
  • 修復手段としてはWSUSやMicrosoft Updateを活用

できます。

ユーザーも特にこれによって必要な作業は無いようです。つまりNAP導入後は、暗黙的に検査され、修復手段が明示的に提供され、必要ならボタン一つで修復される。というシナリオが描ける可能性が高いです。

これも製品版が出荷後、動作確認したい機能の一つですね

NAP: TechNet ライブラリ
http://www.microsoft.com/japan/technet/windowsserver/2008/library/40dcd5ed-1cb9-4f29-8470-f6b4548c8e12.mspx

2007年8月15日
マイクロソフト 畠山大有

Windows Server 2008 – IIS7

マイクロソフト畠山です。
夏休みまっただ中ということで、皆さんも、いつもと違う場所で過ごされているものと思います。という私も、インターネット回線を引いていない実家へ「退避」する予定です(笑)。残念ですが、携帯の電波だけは来ているんですよね(笑)。おそるべし日本のキャリア!そして恐るべし日本の放送電波!こうした流通チャネルの整備をしっかりやる日本は、諸外国の情報が入ってくる会社にいると、本当に「恐るべし」なんですよ。皆さんもご存じの部分もあるでしょうが、各業界にわたって本当にそうなんです。

さて、今日もWindows Server 2008の機能について概略を。
この時期は細かいところを議論してもしょうがないのです。なぜなら「変更される可能性がある」と明確に言われています。このIIS7もBeta3でのServerCoreのロールにはなっていません。が、最新のCTPでは、なっているんです。ですので、ご自身が振り回されないためにも、まずはあまり方向性が変化しない「概略」を抑えていただいて、詳細については実際に利用するのが見えてきたところ、あるいは製品版が出荷されてからご確認いただくのが間違いがありません。といっても私もエンジニア魂が働いて、やたら細かいことを気にせざるをえないのですが。

IISも、相当使われています。Apacheというインターネットのデファクトに、名称は匹敵してきていますよね。IIS6では、等々緊急のセキュリティ更新プログラムは1つだけの様です。
注: 以下のサイトから「Internet Information Services 6.0」を選択してみてください。
http://www.microsoft.com/japan/technet/security/current.aspx
製品を選定する上でいくつか技術要件について皆さんも調査されると思いますが、この事実は結構大事ですよね。インターネットにおいて、セキュリティ対策というのは非常に大きな要素だと思いますが、IISは6.0ですでに非常に高いセキュリティを確保している、といえるのではないでしょうか?

それをさらに推し進めるのがIIS7.0で導入される「モジュール化」になります。具体的にいうと、exe、dllなどの物理ファイルがロール別に細分化され、目的にあった必要最低限のファイルしかインストール・有効化されなくなります。ということは、セキュリティのリスクが更に低減される可能性が高まる、といえますよね。

Beta3とはいえ、IIS7はすでにmicrosoft.comとで運用を開始しています。"Dogfood"という会社の仕事の一つでもあるのですが、とはいえ、世界でも有数のアクセス数を誇るサイトで運用を開始しているという事実は見逃せません。
皆さんも、いきなり本番で使う、というのはありえないと思いますが、手元のVistaにも入っているという事実もお忘れなく・・・
田辺茂也さんのBlogより:
http://blogs.technet.com/stanabe/archive/2007/06/19/it-s-time-to-consider-iis.aspx

IIS7セミナー:
http://www.microsoft.com/japan/seminar/lhs/beta3_seminar/t301/play.aspx

2007年8月13日
マイクロソフト 畠山大有

Windows Server 2008 – ServerCore 概要

マイクロソフト畠山です。
実はWindows Server 2008の機能については、今日時点で私の中ではかなり定着してきました。何度かご説明させていただいた方もいらっしゃると思います。その中でも、「これはOSをもっているMicrosoftだからできた」と思っている、ServerCoreについて概要を。

一言でいえば、ServerCoreは、必要最低限の機能だけをインストールできるものになります。
ですので、インストール後には、Windows固有の画面もありません。良く言われていますが、以下の様な画面になります。
ServerCore画面
コマンドプロンプトだけですもんね・・・これ正直驚きますよね。
これをやって何が嬉しいのか?以下が考えられますね。

  • セキュリティ向上: 必要となるモジュール数が少ないわけですから、当然セキュリティホールの対象となるものも減少するわけです。
  • 安定性向上: 上記と同じ理由です。
  • 多くの処理に対応: サーバーのリソースは最低限必要なものに抑えられていますから、その分ハードウェアリソースが空きます。ここを使って、より多くのユーザー対応ができるわけですよね。

一見WPFなどをやっている流れに逆行しているように見えますが(笑)、「選択肢が増えた」ことが重要です。もちろん、ServerCore以外のインストールおよび使い方も可能です。1つのライセンスをいろんな形で使える。ソフトウェアならではの活用なのではないでしょうか?

という能書きは置いておいて、エンジニアとしてはこうした新しい技術、本当にワクワクしますね。

ServerCoreインストールオプション:
<http://www.microsoft.com/japan/technet/windowsserver/2008/library/78d9d3e1-5ecb-4a01-8fe1-5fcf69e26fee.mspx>

2007年8月3日
マイクロソフト 畠山大有

Windows Server 2008

マイクロソフト畠山です。
案件対応でBlog更新の時間も惜しんでおりました。とはいえさぼっていた事には変わりありませんので、購読されている皆様には深くお詫びいたします・・・

さて今回は、いよいよ製品名も決まった旧"Longhorn"Server、Windows Server 2008について所感を。

Beta3がリリースされ、MicrosoftのWebでも、Virtual Labが出来たり、ネットワーク環境さえ許せば、どこでもWindows Server 2008を試せるようになってきました。勿論、書籍等に添付のDVDでも。ここで感じることは、Vistaのことを理解していれば、そのServer OSとしての理解も数段早いということです。共通技術が多く搭載されているからです。

なぜ理解する必要があるかといえば、これは私の理解ですが、業務的にに役に立つ情報はMicrosoftからも出てきますが、やはりご自身で判断いただく必要があります。メーカーとして都合の悪い情報はメーカーからは出てきにくいものです。ですので、メーカーから出てくる情報を「判断」できることが大事になってきます。ご自身の業務に影響があるのであれば、尚更ですね。

そういう意味も込めて、是非とも試してもらいたいです。
以下のWebサイトをご案内して、今日は終りにします。今後のBlogでも、この製品を「Server」という視点で取り扱ってみたいと思います。

Windows Server 2008 ホーム:
http://www.microsoft.com/japan/windowsserver2008/default.mspx

2007年7月30日
マイクロソフト 畠山 大有