System Center

Microsoft SoftGrid を使用してアプリケーションを仮想化する

Ahmer Sabri and Kedar Shah

 

概要:

  • アプリケーションの仮想化の利点
  • SoftGrid アーキテクチャの概要
  • ソフトウェア パッケージのストリーミング

ソフトウェアの仮想化という概念は、何らかの形で 1960 年代から存在しています。しかし、IT 産業がアプリケーションを仮想化する可能性に気付き始めるのには数十年

かかりました。今ではこの可能性が理解されてきており、重要な進展がもたらされています。

マイクロソフトは、2006 年 7 月に Softricity 社を買収してアプリケーションの仮想化に対する重点を強化しました。この買収により、Microsoft® SoftGrid が登場しました。これが、アプリケーションの仮想化のためのソリューションです。SoftGrid を使用すると、アプリケーションはデータセンターまたはネットワーク上の別の場所から提供され、仮想環境のリモート クライアント上でローカルに実行されます。仮想化されたアプリケーションは、独立した環境で、オペレーティング システムやローカル デスクトップ上の他のアプリケーションに依存せずに動作します。

SoftGrid を使用してアプリケーションの仮想化を実装することには、多数の利点があります。ただし、利点は多すぎてここでは紹介しきれないため、最も顕著ですぐに認識できる利点のいくつかを以下に示します。

回帰テストと互換性テストの簡略化 同じアプリケーションの複数のバージョンを、競合を発生させることなく 1 台のコンピュータで同時に実行することにより、新しいアプリケーションのテストと展開に伴う複雑さ、時間、およびコストを劇的に削減することができます (図 1 参照)。

図 1 SoftGrid を使用してアプリケーションの展開を効率化する

図 1** SoftGrid を使用してアプリケーションの展開を効率化する **(画像を拡大するには、ここをクリックします)

システム管理の簡略化 これらのアプリケーションを実行する環境が細かく管理されるため、理想的なデスクトップ環境を維持しやすくなります。

ヘルプ デスクへの問い合わせ回数の減少 より適切に管理されたデスクトップ環境、および競合の減少 (制御されている独立した環境で動作する仮想化されたアプリケーションによって実現されます) により、ユーザーがヘルプ デスクに問い合わせる必要のある回数が減少します。

デスクトップ セキュリティの強化 アプリケーションは OS にインストールされないので、OS の全体的なセキュリティが向上します。アプリケーションは許可されているユーザーのみに提供されるので、不正なアクセスが防止されます。また、ほとんどのアプリケーションは標準のセキュリティ コンテキストで実行されます。

場所を問わないエクスペリエンス ユーザー設定 (プロファイルおよびその他の設定) はネットワーク上に保管されるので、ユーザーは、どの PC からでも、自分用のアプリケーション、基本設定、コントロールにアクセスすることができます。

フォールト トレランスと障害回復の強化 アプリケーションは、あらゆる企業データと同様に保存したりレプリケートしたりできるデータ ファイルに変換されます。サードパーティ製のツールを使用して、アプリケーションとその更新プログラムを、ライブ サイトと一括コピー プログラム (BCP) サイトとの間で自動的に同期することができ、障害発生時にすぐにアプリケーションにアクセスできるようになります。

最終的には、これらの特性により、システム管理の負荷が軽減され、コストが削減され、組織では新しいテクノロジをより迅速かつ確実に採用できるようになります。では、SoftGrid のしくみについて詳しく見ていきましょう。

仮想化されたアプリケーションの提供方法

SoftGrid アーキテクチャは、連携する多数のコンポーネントで構成されています。これには、データ ストア、仮想アプリケーション サーバー、シーケンサ、管理コンソール、管理 Web サービス、クライアント アプリケーションなどの SoftGrid コンポーネントが含まれます。これらのコンポーネントは、Active Directory® などの標準的なインフラストラクチャ コンポーネントと連携して機能します (図 2 参照)。ここでは、SoftGrid アーキテクチャの概要を紹介し、さまざまなコンポーネントがどのように連携するかについて説明します。

図 2 全体的な SoftGrid アーキテクチャ

図 2** 全体的な SoftGrid アーキテクチャ **(画像を拡大するには、ここをクリックします)

SoftGrid データ ストアは、仮想化環境全体の中央リポジトリの役割を果たします。このデータ ストアを SQL Server™ (バージョン 2000 か 2005) または Microsoft SQL Server Desktop Engine (MSDE) にインストールすると、レコード、アプリケーション、構成、ライセンス データ、レポート情報、およびログ情報がこのデータ ストアで保持されます。

仮想化されたアプリケーションがユーザーのコンピュータに提供され、クライアントで実行されます。SoftGrid には、Microsoft SoftGrid Application Virtualization for Desktops と Microsoft SoftGrid Application Virtualization for Terminal Services の 2 種類があります。それぞれのアプローチには利点がありますが、パフォーマンス上の一定のトレードオフもあります。これについては「クライアントを設定する」で扱います。

SoftGrid 環境の最も重要なコンポーネントの 1 つは、SoftGrid Virtual Application Server (SVAS) です。このコンポーネントは、アプリケーションに対するユーザー要求を処理し、要求に応じてアプリケーション データをユーザーにストリーミングするのに使用されます。

SVAS は Microsoft System Center Virtual Application Server と呼ばれる Windows® サービスとして動作します。SVAS のハードウェア要件は非常にわずかです。既定では、アプリケーション データ自体 (これについてはこの後すぐに取り上げます) はすべて \Program Files\Softricity\SoftGrid Server\content ディレクトリにあります。

ユーザーがワークステーションにログオンすると、標準的な SoftGrid エクスペリエンスが開始されます。SoftGrid Client は、ユーザーのセキュリティ トークンとドメイン グループ メンバシップをキャプチャし、セキュリティで保護されたチャネル経由でこの情報を SVAS に渡します。アプリケーションのグループ メンバシップ ディレクトリにユーザーのセキュリティ識別子 (SID) が存在し、ユーザーのデスクトップ (または、[スタート] メニューや [クイック起動] ツール バーなどの、管理者が定義する別の場所) に各アプリケーションへのショートカットがある場合は、SVAS によってそのアプリケーションへのユーザー アクセスが割り当てられます。

通常、アプリケーションの実際の配信は、ユーザーがショートカット アイコンをクリックしたときに開始されます。このアイコンは、Open Software Description (.osd) ファイルに関連付けられています。これは、アプリケーション パッケージに関する情報を含む、XML ベースのファイルです。クライアントは、.osd ファイルから仮想アプリケーション サーバー名を取得し、接続を開始します。この時点で、SVAS はクライアントを認証し、データ ストアに接続してライセンスに準拠していることを確認します。ユーザーが認証されると、SVAS はアプリケーション データをデータ ブロックでクライアントにストリーミングします。各データ ブロックは既定では 32 KB ですが、シーケンス処理時に構成することができます。

アプリケーション全体がクライアントにストリーミングされることはありません。ストリーミングされるのは、アプリケーションのうち、クライアント上のアプリケーションを起動するためにすぐに必要な部分だけです。これは通常、全コードの約 20 ~ 40% です。ただし、もちろんアプリケーションによって異なる場合があります。たとえば、Microsoft Word 2003 の場合、パッケージの合計サイズが 800 MB であるのに対し、起動前にクライアントにストリーミングされる必要があるデータは 15 MB です。アプリケーションのうち、まだクライアントのキャッシュ内に含まれていない部分にユーザーがアクセスすると、必要なコードはそのときにクライアントにストリーミングされます。組織では、月曜の朝に同時に発生する要求の数が多すぎてネットワークの動きが妨げられるという事態が起こるのを回避するために、一般的なアプリケーションをユーザー デスクトップ上にプリキャッシュするという方法を用いることができます。

Active Directory

SoftGrid では、許可されているユーザーへのアプリケーションの提供に Active Directory (または Windows NT® 4.0) ドメインのユーザーとグループが使用されます。複数ドメイン環境では、適切なグループ メンバシップ (SoftGrid では、ローカル、グローバル、およびユニバーサルのグループ メンバシップがサポートされています)、および SVAS がインストールされているドメインとの信頼関係を使用して、ユーザーにアプリケーションを提供できます。

SVAS のインストール時に、複数のサービス アカウントとグループの入力を求められますが、これらは Active Directory との統合に役立ち、後で管理目的に使用されます。したがって、インストール前に、SoftGrid Browser Account、SoftGrid Administrators Group、SoftGrid Users Group という 3 つのグループやアカウントを作成する必要があります。

SoftGrid Browser Account では Active Directory の参照を行うので、このアカウントには、複数ドメイン環境内のすべての Active Directory ドメインに対する読み取り専用権限が必要です。SoftGrid Administrators Group は、SoftGrid Management Console と SoftGrid Management Web Service への管理者アクセス権を与えるのに使用されます。SoftGrid Users Group は、既定のプロバイダ ポリシーを割り当てるのに使用されます。このポリシーは、管理コンソールを通じて発行されたアプリケーションにドメインのすべてのユーザーがアクセスできるようにするのに使用されます。

仮想環境

SystemGuard は SoftGrid Client の中核となるもので、ローカル デスクトップ上で動作します。SystemGuard は、アプリケーションを単独で動作させるための完全に機能的な仮想環境を提供します。この独立した環境には、アプリケーションが正常に動作するために必要な、仮想化された OS コンポーネント (レジストリ、ファイル、フォント、INI、COM、組み込みサービス、および環境変数) が含まれています (図 3 参照)。

図 3 アプリケーションを単独で動作させるための仮想化された環境

図 3** アプリケーションを単独で動作させるための仮想化された環境 **

SystemGuard は、実行する各アプリケーション用に、仮想化されたレジストリ キーを作成します。これらのキーを使用しても、ローカルの OS 上で実行されている他のアプリケーションにアクセスすることはできません。また、これらのキーは regedit などのレジストリ編集ツールでは認識されません。レジストリの読み取りと書き込みは、必要に応じて仮想キーにリダイレクトされます。ただし、仮想化されたレジストリ キーに含まれていない情報に関しては、仮想化されたアプリケーションはローカル レジストリに渡すことができます。

同様に、SystemGuard は仮想化されたファイル システムを作成し、アプリケーションの読み取りと書き込みの大部分をこのファイル システムにリダイレクトします。この仮想化されたファイル システムは独立しており、1 つのクライアントで同じアプリケーションの複数のバージョンを実行する場合に必要な環境を提供します。

アプリケーションはローカルの OS から独立していますが、ユーザーは印刷、カット アンド ペースト、ネットワーク ドライブなどのすべてのローカル サービスにアクセスできることをお伝えしておきます。

アプリケーションをパッケージ化する

仮想化されたアプリケーションを動作させるための完全に機能的で独立した環境をどのようにして作成するのか疑問に思っている方がいるかもしれません。この作業には、SoftGrid Sequencer を使用します。このウィザード ベースのツールを使用すると、アプリケーションを、クライアント上で配信および実行できる仮想環境にパッケージ化することができます。

パッケージ化処理は、”インストール”、”構成とテスト”、”実行” の 3 段階から成ります。最初の段階である “インストール” では、アクティブな監視プロセスを使用して、アプリケーションのインストールを監視し、アプリケーションの依存関係を評価します。完了すると、”構成とテスト” 段階が使用されます。この段階では、既定の構成に対して、望ましい初回実行エクスペリエンスを実現するために必要な変更を加えます。最後は ”実行” 段階です。SoftGrid Sequencer は、アプリケーションの起動に必要なコード ブロックをコンパイルし、順序付けします。Feature Block 1 (FB1) は、アプリケーションの起動に必要な必須のコードで、これによりユーザーはパッケージ全体をダウンロードしなくてもアプリケーションを実行することができます。

アプリケーションがシーケンス処理されると、仮想化対応アプリケーション ファイル (.sft)、Open Software Description ファイル (.osd)、アイコン ファイル (.ico)、プロジェクト ファイル (.sprj) の 4 つのファイルが作成されます。続いて、これらのファイルは SVAS の content ディレクトリにコピーされます。または、管理者は HTTP サーバーを使用して .ico ファイルと .osd ファイルをクライアントに発行することもできます。

SoftGrid は通常、相互に依存せず独立した環境で動作するアプリケーションを提供しますが、SystemGuard ではアプリケーションの相互作用がある程度可能です。アプリケーション間に存在する可能性のある依存関係を慎重に調査し、アプリケーションが相互作用に依存している場合はアプリケーションを共にシーケンス処理する必要があります。このプロセスは一般的に適合化と呼ばれます。相互作用が必要なアプリケーションすべてを同時にシーケンス処理できるわけではないことに注意してください。適合化は非常に込み入った処理であり、依存関係を慎重に調査してから実行する必要があります。2 つ以上のアプリケーションをシーケンス処理すると、仮想化の目的が損なわれてしまう場合があるためです。

管理を簡略化する

SoftGrid 管理コンソールには、すべての管理タスクを実行するための単一のツールが用意されています。この管理コンソールは SVAS に既定でインストールされており、他のどのサーバーやワークステーションにもインストールすることができます。これは MMC 3.0 スナップインで、SoftGrid Management Web Service を使用して SoftGrid DataStore に接続し (図 4 参照)、許可されている管理者がデータベースに格納されているデータに管理目的でフル アクセスできるようにします。管理コンソールと SoftGrid Management Web Service との間の接続には Microsoft .NET Framework リモート処理が使用され、管理コンソールと Web サービスを同じサーバーまたは別々のサーバーにインストールすることができます。図 2 に、これらのさまざまな要素がどのように組み合わさって SoftGrid の実装全体へのアクセスを提供するのかを示します。大規模な組織では SoftGrid Management Web Service のインスタンスを複数実行する必要があることに注意してください。

図 4 SoftGrid Management Web Service がデータ ストアへの接続を提供する

図 4** SoftGrid Management Web Service がデータ ストアへの接続を提供する **(画像を拡大するには、ここをクリックします)

SoftGrid Management Web Service は、IIS 5.0 以降がインストールされた Windows 2000 以降で動作します。データ ストアへの接続には、Microsoft Data Access Components (MDAC) 2.7 以降と .NET Framework 2.0 以降が必要です。

管理コンソールには、アプリケーションの発行や終了などを行うことができる単一の管理ツールが用意されています。図 5 のメニューに示すとおり、タスクは 9 つの主要なカテゴリ (コンテナ) で構成されています。

図 5 1 つの管理コンソールから SoftGrid を管理する

図 5** 1 つの管理コンソールから SoftGrid を管理する **(画像を拡大するには、ここをクリックします)

各コンテナに含まれる管理タスクの種類について簡単に説明します。Applications (アプリケーション) コンテナでは、管理者は、.sprj ファイルをインポートしてより新しいアプリケーションを発行したり、.osd の場所を指定したり、アプリケーションを削除したりすることができます。既定では、このコンテナには、アプリケーション サーバーへのクライアントの接続をテストするために使用できる発行済みパッケージが含まれています。

アプリケーションがシーケンス処理されると、ファイルの種類の関連付けが作成されます。パッケージをインポートすると、管理コンソールでファイルの種類の関連付けを利用できるようになります。File Type Associations (ファイルの種類の関連付け) コンテナには、管理者が、ファイルの種類の関連付けをすべて変更するための 1 つの場所が用意されています。

Packages (パッケージ) コンテナでは、アクティブなアップグレード用のパッケージのバージョンを管理します。これらのアップグレードは、ユーザーの接続を切断したりサーバーをシャットダウンしたりしなくても実行できるアプリケーション アップグレードです。管理者は、このコンテナを使用して管理コンソールからパッケージを削除することもできます。Packages (パッケージ) コンテナからパッケージを削除すると、管理コンソールとデータ ストアからは .sft ファイルが削除されますが、アプリケーション サーバーの content ディレクトリからは削除されないことに注意してください。

既に説明したように、ユーザーがアプリケーションを起動すると、SoftGrid Client によって、ライセンスが入手できるかどうかがチェックされ、データ ストアでライセンスが入手できる場合にのみ、アプリケーションが起動されます。Application Licenses (アプリケーション ライセンス) コンテナでは、管理者はライセンスをアプリケーションと関連付けることができます。無制限ライセンス、同時実行ライセンス、名前付きライセンスはどれもサポートされています。

Server Groups (サーバー グループ) コンテナには、アプリケーション仮想化サーバーの論理的なグループ化と、ログ情報が含まれます。管理者は、新しいサーバー グループを追加したり、既存のグループのプロパティ (通信に使用するポート、割り当て済みのメモリやプロセスなど) を変更したりすることができます。

Provider Policies (プロバイダ ポリシー) コンテナでは、管理者は、ポリシーと呼ばれる一連のルールを作成することができます。ユーザーがさまざまな状況で多くのアプリケーションにアクセスできるようにするには、カスタムのプロバイダ ポリシーを使用します。SoftGrid がドメインのディレクトリ情報を読み取るためのアクセス権を必要とするときに使用される、ドメインと資格情報を指定するには、Account Authorities (アカウント機関) コンテナを使用できます。SoftGrid Administrators コンテナには、SoftGrid 環境の管理を行うユーザー グループが含まれます。このコンテナでは、管理者は、アクセス許可を制御するためにグループの追加と削除を行うことができます。

最後に、Reports (レポート) コンテナを使用すると、その名のとおり、管理者は、SoftGrid 環境全体の状態をチェックするためのレポートを生成できます。アプリケーション使用率、ソフトウェア監査、システム使用率、ユーザーやグループの操作、およびシステム エラーのレポートを入手できます。

クライアントを設定する

SoftGrid Client は、仮想化されたアプリケーションへのアクセスにユーザーが使用するコンピュータのオペレーティング システムにインストールされます。既に説明したように、Microsoft SoftGrid for Desktops、Microsoft SoftGrid for Terminal Services という 2 つのクライアントの種類がサポートされています。それぞれのアプローチには利点がありますが、ネットワーク待ち時間、サーバー ファームの統合、および管理のしやすさの点で、パフォーマンス上の一定のトレードオフもあります。

デスクトップ実装では、アプリケーションをローカルで使用することができ、ネットワークの可用性やスループットにはほとんど左右されません。たとえば、IT インフラストラクチャに制限のある支社を持つ組織には、このアプローチをお勧めします。既にターミナル サーバーを展開している組織には、ターミナル サービスが適しています。このシナリオでは、ハードウェアとソフトウェアが効率的に利用され、必要なサーバーの数が大幅に少なくなります。そして、もちろん、場所を問わない環境が本当に実現されます。通常、大規模な組織では、デスクトップ インフラストラクチャとターミナル サーバー インフラストラクチャを組み合わせて使用します。SoftGrid の展開を設定すると、さまざまなコンポーネントのインストールと構成は、両方のアプローチで同様になります。

手動インストール、Systems Management Server 2003 などのツールを使用した自動展開など、標準的な方法を使用して、クライアントを展開することができます。図 6 に、これらのクライアントをインストールするのに必要なハードウェアとソフトウェアの最小要件を示します。

Figure 6 SoftGrid クライアントのシステム要件

クライアント プロセッサ メモリ ディスク領域 オペレーティング システム
Microsoft SoftGrid for Terminal Services PIII 850 MHz 1 GB の RAM (最低 256 MB、実際はユーザー数とアプリケーション数によって異なります) インストールに 12 MB、キャッシュに 4096 MB • ターミナル サービスが有効になっている Windows 2000 Server または Advanced Server
• ターミナル サービスが有効になっている Windows Server 2003
Microsoft SoftGrid for Desktops PIII 600 MHz 128 MB インストールに 12 MB、キャッシュに 2048 MB • Windows 2000 Professional または Windows XP
• Windows 2000 Server または Windows Server 2003

クライアントのインストールは簡単ですが、インストール時に指定する必要のあるプロパティがいくつかあります。インストール場所、キャッシュ サイズ、仮想ドライブに使用するドライブ文字、アプリケーション データ ファイルの場所などです。クライアントをインストールしたら、クライアント管理コンソールを使用して、いくつか追加の設定を指定したり変更したりできます。

クライアント管理コンソールを起動するには、コントロール パネルを開き、管理ツールから SoftGrid Client Management を起動します。ローカル コンピュータまたはリモート コンピュータに接続することができます。

図 7 に、クライアント管理コンソールがどのようにルート コンテナ 1 つと子コンテナ 3 つで構成されるかを示します。“SoftGrid on localhost” (localhost 上の SoftGrid) ルート タブでは、ログ出力ディレクトリ、アプリケーション データ ディレクトリ、クライアントの実行と表示の設定、エラー メッセージや情報メッセージのポップアップの頻度、最大キャッシュ サイズ、仮想化されたドライブ、SoftGrid サーバーとの接続が切断された際のネットワークと接続のオプション、アクセス許可など、ほとんどの機能パラメータを指定することができます。

図 7 クライアント管理コンソール

図 7** クライアント管理コンソール **

Applications (アプリケーション) コンテナでは、アプリケーションの表示と変更を行うことができます。Applications (アプリケーション) コンテナでは、アプリケーションが実行されているかどうか、アプリケーションがキャッシュ内でロックされているかどうか、アプリケーション (.sft ファイル) の何パーセントがローカル キャッシュにストリーミングされたかなどの、ローカル アプリケーションに関する状態情報が提供されます。

File Type Associations (ファイルの種類の関連付け) コンテナを使用すると、ファイルの種類の関連付けを表示、変更、および削除することができます。詳細については、前のセクションの、File Type Associations (ファイルの種類の関連付け) の説明を参照してください。

Desktop Configuration (デスクトップ構成) コンテナを使用すると、インストール中に指定したアプリケーション サーバー設定の指定、変更、および手動更新を行うことができます。このコンテナでは、ユーザー ログオン時にクライアントの更新を行うかどうか (既定では、更新が行われます)、および自動更新の間隔の長さを選択することもできます。

まとめ

Microsoft SoftGrid を使用してアプリケーションを仮想化すると、システムの信頼性を向上させ管理を簡略化する強力な方法が提供されます。このアーキテクチャでは複数の要素が連携して機能しますが、実際には、このアーキテクチャは IT インフラストラクチャにシームレスに適合します。

Microsoft SoftGrid for Desktops は、Microsoft Desktop Optimization Pack の一部として、ソフトウェア アシュアランスを利用しているユーザーに提供されます。詳細については、windowsvista.com/optimizeddesktop を参照してください。Microsoft SoftGrid for Terminal Services は、マイクロソフト ボリューム ライセンス契約に基づき、スタンドアロンのクライアント アクセス ライセンスとして企業ユーザーに提供されます。試用版をダウンロードするには、https://licensing.microsoft.com でボリューム ライセンス アカウントにログインし、[Product Downloads] (製品のダウンロード) の下の [Desktop Optimization Pack for SA] を選択します。

Ahmer Sabri は、マイクロソフトの金融サービス グループのテクニカル スペシャリストです。Ahmer の連絡先は、ahmers@microsoft.com (英語のみ) です。

Kedar Shah は、マイクロソフトの金融サービス グループのテクニカル スペシャリストです。Kedar の連絡先は、kedars@microsoft.com (英語のみ) です。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.