第2回 Windows Server 2008とは何か?― 新しいサーバ・サービス:Windows Server 2008の基礎知識(1/3 ページ)
概要解説の第2回。今回はネットワークを保護するNAPや強化されたターミナル・サービスなど、新しいサーバ・サービスについて解説。
「Windows Server 2008の基礎知識」は、2008年に出荷が予定されている、Windows Server 2003の後継OSである、Windows Server 2008の注目機能について解説するコーナーです。
前回は、Windows Server 2008がベース・システムから見直した新しいサーバOSであることを強調して解説した。そのくらいはっきりと書かなければ新機能ばかりに目が行ってしまうだろうからだ。しかしだからといって、Windows Server 2008では新機能の追加が乏しいというわけではない。事実Windows Server 2008では、新機能の追加と大幅な機能拡張が図られている。
今回は、前回説明したベース・システムの上で動作する各サーバ・サービスについて、アプリケーション・プラットフォームとしての部分と、ネットワーク・インフラを構築するための機能とに分けて解説をしていく。なお既存機能の拡張について触れる際には、いきなり拡張部分だけを説明するのではなく、既存機能の概説も盛り込むことにする。
アプリケーション・プラットフォームとしてのサーバ・サービス群
まず、Windows Serverをアプリケーション・プラットフォームとして説明する際に必ず触れている1つの大きなポイントがある。それは、マイクロソフトがアプリケーション・サーバという製品を提供していないということである。ご存じのとおり、Windows Serverにはアプリケーションを実行させるために必要となる多くの機能が標準で組み込まれている。このためアプリケーション・サーバの市場調査などでは、マイクロソフトの名前が出てこないこともあるが、これは独立した製品がないというだけで、アプリケーション・サーバ機能はOSが提供している点をあらかじめ確認しておきたい。
さてそれでは、Windows Server 2008をアプリケーション・プラットフォームとして利用する場合の新しい機能について説明していこう。Windows Server 2008には、以下のような機能が標準で組み込まれている。
- .NET Framework 3.0(Beta 3時点)
- Webサーバ(IIS 7)
- フェイルオーバー・クラスタリング(MSFC)
- Windowsプロセス・アクティブ化サービス(WAS)
- ネットワーク負荷分散(NLB)
- 分散トランザクション
- MSMQ
- COM+ネットワーク・アクセス
- Windows Internal Database(SQL Server 2005 Embedded Edition)
- Windows Eventing
- Task Scheduler
- Windows PowerShellとMicrosoft Management Console(MMC)
Windows系のアプリケーション開発に携わった方はお気付きだろうが、Windows Server 2008でなくても動作するいくつかの機能も含まれている。これについては、OSとは切り離して考えることもできるし、OSの標準機能として組み込まれたという事実が大事だという意見もあるだろう。そこで本記事では、開発者が実際にコーディングするうえで必要となる情報については省略し、システム管理者に関係の深いものに絞って解説しよう。具体的には、Windows Server 2008が持つ主要機能として.NET Framework 3.0とIIS 7、フェイルオーバー・クラスタについて見ていく。
.NET Framework 3.0
.NET Frameworkは、マイクロソフトが提供するOS非依存のアプリケーション開発・実行環境であるが、マイクロソフトが提供する製品や技術の中には.NET Frameworkを必要とするものも多く出てきているため、サーバOS自身にも標準コンポーネントとして搭載されている。
それでは、.NET Framework 3.0 が Windows Server 2008ベータ3に組み込まれることの意味を考えてみよう。まず、.NET Framework 3.0 は以下のような構成になっている。
Microsoft .NET Framekwork 3.0
Microsoft .NET Framekwork 3.0は、従来の.NET Framework 2.0に対して、4つの新しいコンポーネントを追加したものである。
.NET Frameworkは1.0、1.1、2.0と進化してきたが、.NET Framework 3.0のタイミングで提供形態が少し変わることになった。具体的には、.NET Framework 2.0に4つのコンポーネントを追加したものを.NET Framework 3.0と呼んでいる。.NET Framework 3.0がOSに標準搭載されたことで、以下のような新しいサービスを、広くアプリケーションで活用できるようになる。
■Windows Communication Foundation
Windows Communication Foundation(WCF)は、トランザクショナルで高速なWebサービス通信のテクノロジであり、これがWindowsの標準機能として組み込まれ、コンポーネント間通信技術の統一が進むことになれば、いま以上にさまざまな場面でWebサービス通信が行われる可能性が出てくる。もしかしたら、気付かないうちにWindows内部でWebサービス通信が始まっているかもしれないし、Windows Server 2008とWindows Vistaとの組み合わせでの通信がTCPのポート80番を中心に行われるようになるかもしれない。これはITをシンプルにするうえで非常に重要なポイントであり、今後多くのメリットをもたらすことになる。ただしセキュリティの面で、通信はポート番号だけで制御できると考えているエンジニアがいたら気を付ける必要があるだろう。
■Windows Workflow Foundation
Windows Workflow Foundation(WF)によって、Windowsがワークフロー専用のエンジンを持つことになる。ワークフローというと、経費精算をする際の上司、その上の上司、……、経理とハンコが押されるかのごとく書類が転送されていくヒューマン・ワークフローをイメージするだろう。だがヒューマン・ワークフロー以外にも、ITのさまざまなプロセスを制御し、一連のルールに基づいて適切に処理するためのワークフロー(ここではシステム・ワークフローと呼ぶことにする)も必要である。ビジネスプロセスのフロー制御はアプリケーションの中でやればよいと思われるかもしれないが、ITの自動化やサービス指向な時代の流れとともに、複数のアプリケーションやサービスを柔軟かつ迅速に1つのプロセスでつなげる必要も出てくるため、システムワークフローの重要性は増してくるだろう。事実WFはすでにMicrosoft Office SharePoint Server 2007で利用されているし、今後はBizTalk ServerやSystem Center Service Managerといったシステムとシステムをつなぐ、もしくは人とシステムをつなぐ製品でも利用されていくことになっている。
■Windows CardSpace
Windows CardSpace(WCS。旧称InfoCard)は、認証システムのフロントエンドとして位置し、ユーザー名とパスワードを入力する現在の認証の仕組みを大きく変えるものである。 いままでさまざまな認証の仕組みに対して、さまざまなID管理を強いられてきたユーザーに対して、WCSは一貫性のあるデジタルID管理の仕組みを提供しようとしている。
さて、これからWCSの特徴を挙げていこうと思うが、WCSはバックエンドの認証システムと一緒に動作するものであるため単体の説明は難しい。そこで、今回は利用パターンを例として挙げてみよう。例えば、WCSを使ったシステムにおいて、あるアプリケーションにアクセスしたとしよう。そうすると、ユーザーのコンピュータ画面上に次のようなカードの一覧が表示される。
WCSを使った認証システムの例
WCSを使った認証システムでは、事前に登録したカードを利用して認証を受けることができるため、ユーザは認証システムごとにパスワードを入力する必要はなく、ログオンする先に合わせてカードを選択するだけでよい。この仕組みをサポートすべく、WCSはこの画面のようなカード登録・選択機能を提供している。
そして、ユーザーがカードを選択すると、そのカードに登録されている情報を基に認証サーバとの間で認証が行われるという仕組みだ。会員制Webサイトにアクセスするときは会員カードを、クレジットで支払いをする際にはクレジットカードを、自分の財布から出すようなイメージでPCの画面で選択することができるというわけである。いままでは都度ユーザーIDとパスワードを入力していたことを考えると、ユーザーにとってのメリットもお分かりいただけることだろう。
実は、このシステムの裏側ではフェデレーションなどを組み合わせた第三者認証が使われることになる。マイクロソフトはActive Directoryフェデレーション・サービス(ADFS)というフェデレーション機能を提供しているが(詳細は後述)、現時点ではADFSとWCSの連携は実現できていないため、WCSを利用するためには開発が必要である。どの程度の開発が必要かは、以下の情報などを参考にしていただきたい。
- Windows CardSpace Developer Center[英語](MSDN英語サイト)
- Windows CardSpace を使用して ASP.NET アプリケーションと WCF サービスのセキュリティを保護する(MSDNサイト)
.NET FrameworkがOSとは独立した存在であることは、このWindows Server 2008でも変わりはない。動作するOSの制限はあるにせよ、.NET Framework 3.0をダウンロードして、Windows Server 2008以外で利用することもできる。
しかしここで強調しておきたいのは、Windows Server 2008では、.NET Framework 3.0という新しいテクノロジを、OSの標準機能として実行できるということである。開発者の方には、「Windows Server 2008を利用したシステム開発」というよりも「Windows Server 2008時代のシステム開発」という大きな視点でテクノロジをとらえていただきたい。
Internet Information Services 7.0
次はアプリケーション・サーバ機能の1つ、Internet Information Services 7.0(以下 IIS 7)について解説していこう。IISはOSの進化とともにバージョンアップを重ねてきたが、Windows Server 2008に搭載されているIIS 7は、アーキテクチャを大幅に見直した新しいWebサーバになっている。ポイントは次のとおりである。
- モジュール化されたアーキテクチャ
- XMLコンフィグレーションと設定情報の共有
- .NETによる拡張
- 監視とトレース機能の提供
Windows Server 2008全体で強力に進められているモジュール化は、IIS 7のアーキテクチャでも採用されており、必要なモジュールを組み合わせることで、好みに応じて、もしくは稼働させたいシステム要件に合わせてカスタマイズできる。例えば、認証のモジュールも複数用意されていて、それぞれが独立しているため、PHPアプリケーションの認証部分だけWindows統合認証を利用するといったことも容易になっている。
また、いままでのIISでは、メタベースと呼ばれる独自の情報保持の仕組みを持っていた。1台のサーバで設定をしてそのまま動かすだけなら問題ないが、Webアプリケーションは、開発・テスト/検証・実環境への適用といった段階を踏むため、同じ設定を何度も行う必要があった。1つ1つは難しくなくても、人的作業という手間も増え、時には設定ミスなども起こっていただろう。そこでIIS 7では、XMLベースのコンフィグレーション・ファイルを利用した構成管理へ完全に移行することにした。もちろんIIS 7も分かりやすい管理ユーザー・インターフェイスを持っているが、そこで設定を行うとXMLファイルが更新されるため、ほかのサーバへと環境を移したい場合はファイル・コピーで済む。
さらに、いままでIISの拡張を検討する場合は、業務アプリケーション開発とは別次元の専門的スキルが求められていたが、IIS 7では、.NETによる拡張がサポートされる。業務アプリケーション開発もIISの拡張も、同じ.NETという環境が利用できるようになるのはメリットが大きい。
また監視とトレースの機能も強化されている。いままでのIISはWebアプリケーションをホストするという点では強力なツールであったが、運用監視やトラブルが起こったときなどの対処はあまり簡単ではなかった。IIS 7では、コンフィグレーション情報のXML化といった展開・運用の簡略化に加えて、監視やトレースといった運用・トラブルシューティング機能の強化も行われている。
フェイルオーバー・クラスタリング(MSFC)
アプリケーション・サーバとしてはシステム・トラブルへの対応も不可欠である。Windows Serverには、マシンの故障時にほかのマシンがサービスを引き継ぐフェイルオーバー型のクラスタリング機能(Microsoft Cluster Services、MSCS)が用意されていたが、Windows Server 2008では、これがMicrosoft Failover Cluster (MSFC もしくはFC)という名称に変更される。
もちろん名前の変更だけではない。マイクロソフトのサポート部署などによると、Windowsベースのクラスタ環境を構築する際には、設定/設計ミスによるトラブルが多いそうである。そこでクラスタ環境を構築する際のトラブルを未然に防ぐために、まず管理ツールが強化された。例えばいままでSANなどの共有ストレージの管理とサービスをフェイルオーバーさせるクラスタ構成は別だったが、Windows Server 2003 R2から組み込まれたSANやiSCSIを直接設定する機能を、クラスタ管理画面へと統合した。さらにハードウェア設定からフェイルオーバー設定までの一連の作業をウィザードで実施でき、設定の段階で問題を発見するための検証機能も実装された。いままでのように、設定をすべて終え、実際に動かしてみないと分からないという状況から脱却できるようになる。
ほかにも、アプリケーションがオンライン状態でも、クラスタで利用するディスクの追加が可能となったり、NetBIOS名前解決のためのブロードキャストをなくして名前解決を完全にDNSへと移行したりしている。また次の図のように、クラスタ情報を保持するクォーラムの配置についても見直しが行われ、各ノードと共有ストレージのすべてにクラスタ情報を配置できるようになった。Windows Server 2008にも組み込まれているネットワーク負荷分散機能とともに、MSFCは止まらないシステムの構築を柔軟にサポートしている。
フェイルオーバー・クラスタリング
Windows Server 2008のフェイルオーバー・クラスタリングでは、新しいクォーラム・モデルが導入され、各ノードと共有ストレージのすべてにクォーラム情報(クラスタを構成するための情報)を配置できる。これにより、従来のように共有ストレージ上のクォーラムが単一障害点(そこが障害を起こすと、システム全体がすべて停止してしまうような、ただ1つの場所)となることはない。
Copyright© Digital Advantage Corp. All Rights Reserved.