アプリケーションを仮想化するCitrix XenApp
XenAppの基本アーキテクチャー
ここでは、「MultiWin」と「IndependentComputing Archetecture(ICA)」というXenAppの2つのアーキテクチャーについて解説します。
■MultiWin
x86系OSをマルチユーザー化する技術で、同じWindowsサーバーOSのメモリ上に、各ユーザー用の仮想ワークステーションの実行環境が作られます。同一サーバーへユーザーがログオンするごとに、アイドル状態からアクティブに、保護されたユーザーセッション内でアプリケーションが実行されます。アプリケーションはネットワーク経由でマウスクリックやキーボード操作の情報により、遠隔操作されます(図2-1参照)。
■Independent Computing Architecture(ICA)
さまざまなサービスやコンテンツを最適にやりとりするため、ICA内には、さらに独立したバーチャルチャネルというトランスポート用パイプがあります。
ICAでは最大で32個のバーチャルチャネルをサポートし、ドライブマッピング用、プリンターマッピング用、画面表示用、音声用など、目的別に専用のパイプの中でやりとりするので、スムーズで高速なアプリケーション利用が可能です。
コンテンツごとに別のプロトコルや別ポートを使ってコミュニケーションする必要なく、セキュリティーと一元管理の効率をさらに高めます。
ICAについて詳しくは、第2回の記事「デスクトップ仮想化の代表格XenDesktop(http://thinkit.jp/article/1003/1/)」をご参照ください。
サーバーシステムと印刷
XenAppのサーバーシステムについて、以下に解説していきます(図2-2参照)。
■サーバーファーム
複数のXenAppサーバーを管理する単位。複数アプリケーション、複数サイト/ゾーンを論理的にひとつのサーバーファームにまとめると管理効率が高い。
■ゾーン
地理的に分散してXenAppサーバーを配置する場合の管理単位。各ゾーンには必ずひとつのデータコレクタ(後述)がアサインされる。障害対策/ビジネス継続や、ユーザーが広域に移動しても最適な利用環境を維持することなどを意識した運用が可能。
■データストア(DS)
管理コンソールで設定したサーバーファームの設定情報(静的データ)を一元的に保存するデータベース。
■データコレクタ(DC)
各XenAppサーバーへの接続・負荷情報(動的データ)を収集する。状況に応じた負荷分散(ロードバランス)の制御を行う。
■ローカルホストキャッシュ(LHC)
各XenAppサーバーが保持するDSのコピー。ユーザーログオン時はLHCより利用するアプリケーション、適用するポリシーを参照する。データストアがダウンしても、XenAppシステムを継続して運用可能になる。
■Independent Management Architecture(IMA)
TCP/IP上の管理プロトコルで、XenAppの各種サービスを統合するバックボーン。ライセンス管理、セッション管理、アプリケーション管理、プリンター管理などのサービスが相互に連携し、提供される。
■その他のコンポーネント
ファームの構成には、ほかにActive Directory、ライセンスサーバー、Web Interface(ログオン認証、アプリケーションポータル)、ファイルサーバー/ストレージなど主要なサーバーコンポーネントが必要です。
複雑・大規模な環境でも容易で最適な運用管理のため、プロビジョニング(サーバーイメージの一括展開)、アプリケーションモニタリング(サーバー/端末/ネットワークの監視)、セッションモニタリング(ICAセッションの録画・再生)、Access Gateway(セキュアなリモートアクセス用ゲートウェイ装置)、Branch Repeater(WANでのICAトラフィック最適化装置)などが用意されています。
システム環境と利用の仕方に併せて適用することで、XenApp基本サービスに付加価値を与えます。
次に印刷について解説します。アプリケーション自体はサーバー、データセンターで実行されますが、印刷はユーザーの近辺に出力される必要があります。XenAppシステムでは、大きく以下の2つの印刷方式を提供します(図2-3参照)。
■オートクリエイトプリンター
XenAppセッション内のアプリケーションで印刷を行うと、クライアント端末で定義されたプリンターに自動出力します。通常ユーザーが使用しているプリンターがそのまま使える(ネットワーク、USB等接続形態も不問)ので、ユーザーはプリンターの選択や設定をまったく意識することがありません。プリンター特有の先進機能も使えます。
ただし、プリントドライバがTS/RDS対応となっている必要があります。管理者の初期設定は不要ですが、プリンター各機種のネイティブのプリントドライバをXenAppサーバーにインストールして管理する必要あります。
多機種が混在する環境であれば、Universal Print Driver(UPD)というXenApp標準のプリントドライバを利用することで、一般的な印刷サービスをすべてのユーザーに提供可能です。UPDでは機種ごとに発生するメンテナンスを不要にし、システム全体の管理効率向上に貢献します。
■セッションプリンター
XenAppからクライアント端末を経由せず、直接プリントサーバーへ印刷データを送り、設定されたプリンターから出力します。
シンクライアント端末など、クライアント側でプリンター定義ができない場合は、XenAppサーバーから直接プリントサーバーへ印刷データを送り、ジョブを処理します。
その際、ネイティブのプリントドライバをXenAppにインストールする必要があり、ユーザー/グループに対する設定作業が発生しますが、ほかのサービスも含めてポリシー制御することで、あらゆる場面での印刷が最適化され、ユーザー体験も高まります。
ネイティブドライバはプリンター各社との協力体制の下、いち早く新バージョンへの対応がされている一方、標準のUPDも高度な機能が使えるように改良がされています。バージョンの積み重ねと共に印刷サービスは安定しており、運用管理の負荷を低減しつつ、全体のセキュリティーと使い勝手を両立することができます。XenAppシステムについて印刷に関する懸念を聞くことがありますが、それは過去のものと言って良いでしょう。
次ページでは、実際にアプリケーションを利用する方法について説明します。