Enterprise Watch
バックナンバー

Windows Server 2008で大幅に進化したターミナルサービスを試す【前編】

VistaのUIも使える!フルカラー画像も扱える!新ターミナルサービス

マイクロソフトが考える仮想化ソリューション。OSの仮想化だけでなく、さまざまなレベルでの仮想化が入っている。ターミナルサービスもプレゼンテーション仮想化として位置づけられている
 マイクロソフトでは、「仮想化ソリューション」というコンセプトを打ち出している。これは、前回紹介した「Windows Server virtualization(正式名称:Hyper-V)」などのサーバーの仮想化、「Virtual PC」など使ったデスクトップの仮想化、「SoftGrid Application Virtualization」(アプリケーションをサーバーから、ストリーミングで配信するシステム)を利用したアプリケーションの仮想化、そして今回紹介する「Windows Server 2008のターミナルサービス」を利用したプレゼンテーションの仮想化という4つの方針を示している(これを管理するためのプラットフォームとしてSystem Centerが用意されている)。

 これらの仮想化機能を利用することで、今まで専用アプリケーションでしか提供できなかった環境をユーザーに提供できるようになる。クライアントPCの仮想化に関しては、Windows Vistaではあまり進化していないが、Windows Vistaの次世代OS(コード名:Windows 7)では、OSのカーネルに仮想化機能が用意されるようだ。

 ターミナルサービスは、以前のWindows Serverにも搭載されていたが、Windows Server 2008では今まで以上に機能強化が図られている。実際、Windows Server 2008のターミナルサービスの機能を見てみると、社内の実環境においてターミナルサービスを使ってみようという気になってくるはずだ。


大幅に機能アップしたターミナルサービス

 Windows Server 2008では、機能アップしたリモートデスクトップ、ターミナルサービスRemoteApp(以下、TS RemoteApp)、ターミナルサービスWebアクセス(以下、TS Webアクセス)、ターミナルサービスゲートウェイ(以下、TSゲートウェイ)、ターミナルサーバーへのアクセスを負荷分散するターミナルサービスセッションブローカ(以下、TSセッションブローカ)などの機能が用意されている。また、リモートデスクトップなどのベースとなっているRDP(Remote Desktop Protocol)も6.0にアップグレードされている。


ターミナルサービスの概要。単なるシンクライアントソリューションから、モバイルを含めた総合的なソリューションへ Windows Server 2008におけるターミナルサービスの機能強化点

 Windows Vistaからリモートデスクトップのプロトコルとして採用されたRDP 6.0は、Windows Server 2003のRDP 5.2とは異なり、大幅に機能がアップしている。

 まず、画面表示関係の機能が大幅に強化された。その中でも一番に挙げられるのが、32ビットカラーのサポートだ。最近のPCでは32ビット表示が当たり前だが、Windows Server 2003のRDP 5.2では、24ビットカラーまでのサポートとなっていた。今回、32ビットカラーをサポートしたことで、Windows Vistaで使われている視覚効果をローカルのデスクトップでも再現できるようになる。
【お詫びと訂正】初出時、記載内容に誤解を与える表現が含まれておりました。お詫びして訂正します。

 さらに、リモートデスクトップの画面解像度も最大4096×2048ドットまでサポートしている(以前は1600×1200ドットまで)。
【お詫びと訂正】初出時、RDP 5.2で4:3以外の比率を持つ画面解像度がサポートされていないと記載しましたが、検証の結果、他の比率でも表示できることを確認しました。お詫びして訂正します。

 また、リモートデスクトップでありながらマルチモニタ機能(同じ解像度の画面を2つ)をサポートしているのも特長だ。以前のリモートデスクトップでは、クライアント側がマルチモニタ環境であっても、全画面表示を行うと、どれかひとつのモニタ画面だけでしか表示できなかった。つまり、モニタを2台横につなげていても、全画面表示されるのは1台のモニタ画面だけだった(ウィンドウで表示すれば、なんとか複数のモニタでも表示できるが)。これが、RDP 6.0では、複数モニタにわたる全画面表示が可能になった。

 これらの機能を利用することで、ローカルでもリモートデスクトップが使いやすくなっているのだ。


リモートデスクトップ接続をマルチモニターで使ってみる。2つのモニターの全画面にリモートコンピュータの画面が表示されている。これだけみると普通の画面表示とかわらない
リモートデスクトップ接続をウィンドウで表示してみる。これだけ大きなウィンドウをリモートデスクトップ接続で使用できる

リモートデスクトップ接続で、Windows VistaのUIを利用しているWindows Server 2008に接続。半透明のAeroグラスは再現できていないが、使い慣れたUIで利用できるのは便利
 何よりも便利なのは、リモートデスクトップの画面でWindows VistaのUIとなっているAeroがサポートされることだろう(ただし、Windows Server 2008 RC0でテストしたところ、半透明のAeroグラスは再現できなかった)。このほか、液晶画面でのフォントを見やすくするClearTypeもサポートされている。

 また、RDP 6.0では、ローカルPCに接続されたデジタルカメラ(PTP:Picture Transfer Protocol)、ポータブルメディアプレーヤ(MTP:Media Transfer Protocol)などのPnPデバイスをリモートコンピュータのデバイスとして使用できる。これを使えば、リモートデスクトップで接続したコンピュータにデジタルカメラの写真をアップしたり、デジタルメディアプレーヤに音楽やビデオを転送することもできる。


デジタルカメラを認識して、ドライバがインストールされると、[自動再生]のウィンドウが表示される
この写真は、ローカルPCに接続したデジタルカメラの写真。リモートコンピュータ上のデバイスとして、直接ローカルPCのデジタルカメラから読み込まれている。このためか、写真を読み込むスピードは遅かった。ローカルPCに接続したデジタルカメラのように、すぐに次の写真が表示されるということはなかった

 RDP 6.0対応のリモートデスクトップ接続は、Windows VistaやWindows Server 2008だけでなく、Windows XPやWindows Server 2003、Mac版(MacOS X Version 10.4.9以降。Intel/PowerPC版)に対応したバージョンもリリースされている(Windows版は、Windows Updateからインストール可能。Mac版は現在βテスト中)。これを利用すれば、これらのPCからもターミナルサーバーに接続することができる。

 これらの機能により、ヘルプデスクなど特定業務向けといった使い方から、よりグラフィカルなシンクライアント環境として利用することができる。


ターミナルサービスを試してみる

 Windows Server 2008でターミナルサービスを利用するには、サーバーマネージャの[役割]から[役割の追加]を選択して、[ターミナルサービス]を追加する。ターミナルサービスの項目には、「ターミナルサーバー」「TSライセンス」「TSセッションブローカー」「TSゲートウェイ」「TS Webアクセス」などが用意されている。今回は、リモートデスクトップ接続をテストするだけなので、ターミナルサーバーだけがインストールされていればOKだ。なお、実際にターミナルサーバーを運用する場合は、アクセスするユーザー分のTS CALを購入する必要がある(今回はテスト利用ということで、ライセンス設定は行っていない)。


役割の追加ウィザードで[ターミナルサービス]を選択 追加する役割サービスを選択。今回は[ターミナルサーバー]のみを選択する 認証方法を選択。今回はテストということで[ネットワークレベル認証を必要としない]を選択

ターミナルサービスのライセンスモードを選択。実際に利用する場合は、購入したTS CALにあわせて選択する。今回は[後で構成]を選択 アクセス可能なユーザー・グループを設定。今回は初期設定で表示されるAdministratorsグループのみで次に進む インストール途中に一度再起動し、完了するとメッセージが表示される

 もし、ターミナルサービスをインストールした後に、TS Webアクセスなどの機能をインストールしたければ、サーバーマネージャの[ターミナルサービス]から[役割サービスの追加](削除したいときは、[役割サービスを削除])を選んで、機能を追加すればいい。

 余談になるが、Windows Server 2008になり、サーバーの管理という部分は、ほとんどがサーバーマネージャから管理できるようになっている。このため、システム管理者は、Windows Server 2008のあちこちに移動して、設定を行わなくてもいい。管理者にとっては、ほとんどの作業がサーバーマネージャで終わるため、非常に便利だ。

 今回のテストでは、クライアント側はWindows Vista Ultimateを使用しているが、Home Basicなど他のエディションでもターミナルサーバーにアクセスできる。また、Windows XPやWindows Server 2003、MacなどもRDP 6.0をベースとしたリモートデスクトップ接続(ターミナルサービスクライアント6.0)が用意されているので、これらのソフトを利用すれば、いくつか機能に制限はあるがアクセスすることができる。ただし、Windows XPやWindows Server 2003に標準で搭載されているリモートデスクトップ接続(RDP 5.2など)では、Windows Server 2008のターミナルサーバーには接続できないので注意が必要だ。


クライアントから利用できるリソースの設定。今回はテストということですべてオフにした
 では、実際にリモートデスクトップ接続でWindows Server 2008のターミナルサーバーにアクセスしてみよう。まずは、ターミナルサーバー側の設定を確認する。

 サーバーマネージャの[役割]→[ターミナルサービス]→[ターミナルサービス構成]の[接続]にある[RDP-Tcp]のプロパティを表示する。次に[クライアント設定]タブを選択して、リモートデスクトップ接続でアクセスしてくるクライアントの機能を設定しておく。ターミナルサーバー側の設定では、色数を制限したり、使用できなくするデバイスを設定できる。

 クライアント側で32ビットカラーの設定を行っても、ターミナルサーバー側の設定が16ビットなら、16ビットまでしか表示できない。同じようにデバイスのリダイレクトに関しても同じだ。さまざまなテストを行うなら、クライアント設定はどの項目もチェックしない状態にしておくといいだろう。

 それでは、クライアント側のリモートデスクトップ接続を起動してみよう。リモートデスクトップ接続にある[オプション]をクリックすると、いくつかのタブが表示される。[全般]タブには、接続するコンピュータ名を入力するボックスが用意されているので、ここに接続先のターミナルサーバーの名前、ログインできるユーザー名、パスワードを資格情報として記憶しておけば、毎回入力しなくても、すぐにログインできる。


[画面]タブでは、解像度、色数が設定できる。ターミナルサーバーにアクセスする場合は、サーバー側の設定が優先される
[ローカルリソース]タブでは、ローカルPCのリソースをリモートコンピュータで利用するかどうかの設定を行う。サウンドでは、ローカルPCで再生するか、リモートコンピュータで再生するかなどの設定ができる
[ローカルデバイスとリソース]タブでは、ローカルPCのHDDやUSB接続のHDDやUSBメモリなどが利用できる

 [画面]タブでは、解像度の設定、色数の設定などが行える。リモートデスクトップの画面サイズはここで設定しよう。[全画面表示]にしておくと、画面いっぱいにリモート画面が表示される。マウスを画面の上部に持っていくと、リモートターミナルのタブが表示される。

 [ローカルリソース]タブでは、サウンドやキーボード、利用するローカルデバイスの設定が行える。RDP 6.0のリモートデスクトップ接続では、リモートコンピュータのサウンド再生をどこで行うかの設定が行える。つまり、サウンド再生をターミナルサーバー側のサウンドデバイスで再生するのか、クライアント側で再生するのかを設定できる。もちろん、再生しないという設定もある。実際試してみたが、ターミナルサーバー側のWindows Media Player 11で音楽を再生しても、途切れずに再生された。

 キーボードでは、Windowsの組み合わせキーを押したときに、ローカルPCへの入力なのか、ターミナルサーバー側への入力なのかを指定する。[全画面表示モードのみ]にすると全画面表示しているときにのみターミナルサーバー側の入力になる。

 RDP 6.0の大きな特徴となっているのが、ローカルPCのリソースをリモートコンピュータで利用できる機能だ。つまり、ローカルPCのプリンタをリモートコンピュータのプリンタデバイスとして利用することができる。

 ここには、[プリンタ]と[クリップボード]しかないが、[詳細]ボタンをクリックすると、[スマートカード][シリアルポート][ドライブ]などもリモートコンピュータ上のデバイスとして利用できる。ドライブは、ローカルPCのHDDなどを、リモートコンピュータのドライブとしてマッピングすることができる。USB接続のHDDやUSBメモリなどもマッピングして利用することもできる。

 また、USBなどで接続するプラグアンドプレイ(PnP)デバイスなども、リモートコンピュータで利用できる機能だ。ここでは、USBで接続するデジタルカメラやメディアプレーヤーなどが対象になる。

 実際テストしてみると、デジタルカメラの場合は、PTP(Picture Transfer Protocol)を使用するため、機種によっては単に接続するだけではだめだった。テストしたPanasonicのLumix DMC-TZ3では、プリンタモードに設定すると、PTPで接続するため、リモートデスクトップ接続でも使用できた。ドライバも自動的にインストールされて、「Digital Still Camera」として認識され、自動再生ウィンドウに画像の取り込み、ファイルを表示するなどのメニューがでてくる。画像の取り込みを行うと、ターミナルサーバー側にデジタルカメラの写真が取り込まれた。

 この機能は、デジタルカメラ以外にもMedia Transfer Protocol(MTP)をサポートしたメディアプレーヤーもサポートしている。最近のほとんどのメディアプレーヤーでは、MTPをサポートしているため、リモートデスクトップ接続で使用できる。MTPは、オーディオだけでなく、ビデオもサポートしている。このため、クアッドコアなどのCPUを使ったサーバーでエンコードして、ローカルPCにUSB接続したメディアプレーヤーに転送するといった使い方も可能だ。


リモートデスクトップ接続でどのような画面を表示するかの設定
[詳細]タブでは、認証オプションやTSゲートウェイの設定などがサポートされている

 [プログラム]タブでは、ターミナルサーバーにアクセスしたときに、起動するプログラムを指定できる。ただし、ターミナルサーバー側で許可している場合に限る。

 [エクスペリエンス]タブでは、リモートサーバーの画面をどのような状態で表示するのかを設定する。すべての項目をオンにすれば、ターミナルサーバーでAero UIを動かすことも可能だ。ここまでくれば、リモートもローカルもUIでの違いはほとんどなくなる。ただし、ターミナルサーバーとネットワークには負荷をかけることになるため、大規模なシステムではこのような設定は避けた方がいいだろう。

 [詳細設定]タブでは、サーバー認証とターミナルサービスゲートウェイの設定を行う。

 リモートデスクトップ接続は、設定をファイル(RDPファイル)として持つことができる。もし複数の設定や接続先があるなら、RDPファイルを保存して使えば便利だ。また、RDPファイルの中身は、テキストファイルのため、ユーザーが設定を自由に変更することができる。例えば、解像度などは、リモートデスクトップ接続のプログラムでは、現在利用しているモニタの最大値までしか設定できない。RDPファイルを直接編集すれば、利用しているモニタ以上の解像度にセットすることもできる。RDPファイルの詳細に関しては、Windows Server 2008のテクニカルドキュメントを参考にしてほしい。

 リモートデスクトップ接続で、全画面表示においてマルチモニタを利用できるようにするには、コマンドプロンプトで「mstsc.exe /span」と入力すればOKだ。これで、マルチモニタすべてをターミナルサーバーの画面にすることができる。


 実際にいろいろとテストしてみると、Windows Server 2008のターミナルサーバーは、結構高いパフォーマンスを持っているように感じる。今までのリモートデスクトップ接続と比べて、きびきび動作するし、色数や解像度、デスクトップのUIにも違和感がないため、十分に実用に耐えうるものだと思う。ターミナルサーバー側で「1ユーザーに複数のセッションを許可する」設定にして、1台のクライアントPCから複数のセッションを張ることもできる。ここまで来ると、どれがどれだかわけがわからなくなってきそうだ。違和感なくターミナルサービスが利用できるということだろう。

 多くの管理者は、ターミナルサーバー側のUIをVistaにすると、遅くて使いモノにならないのでは?と思うかもしれない。実際に試してみると、Vista BasicのUIでも十分実用になるスピードだった。

 RDP 6.0のプロトコルを詳細に調べてみたわけではないが、画面の転送は、今までのRDPのようにビットマップを転送しているわけではなさそうだ。どうやらRDP 6.0では、Windows Vistaで採用されている新しいグラフィック管理方式を採用しているようだ。このため、画面をビットマップではなく、オブジェクトとして転送しているようだ。個々のオブジェクトを最終的にクライアントPC側でコンポジット(合成)して、1つの画面にしている。

 RDP 6.0では、クライアントPC側のグラフィックチップの機能を利用するため、Vista UIなどの負荷の高い画面でも、きびきびと動作する。サーバー側のグラフィックチップは、DirectX 10(Vistaで使用しているモノ)がサポートされていなくても、Windows Vistaが動作しているローカルPCに高速なグラフィックカードを使って入れば、ターミナルサーバーでもWindows VistaのUIが動作する。

 なお、今回のテスト環境では、Aeroの透過ウィンドウやエフェクトなどは利用できなかった。ドキュメントによれば、半透明や3Dフリップが使用できると書かれているが、今回の環境ではうまく動かなかった。サーバー側でAero UIを使っても、ローカルPCからアクセスするとVista Basicにしかならなかった。


 次回は、Windows Server 2008の大きな特徴となるTS RemoteAppを紹介する。



URL
  Windows Server 2008
  http://www.microsoft.com/japan/windowsserver2008/

関連記事
  ・ Windows Server 2008で大幅に進化したターミナルサービスを試す【中編】(2007/11/29)
  ・ Windows Server 2008で大幅に進化したターミナルサービスを試す【後編】(2007/11/30)


( 山本 雅史 )
2007/11/28 00:00

Enterprise Watch ホームページ
Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.