Windows Server 2008
強化されたターミナル サービスを使用してプレゼンテーション層を仮想化する
Joshua Schnoll
概要 :
- Windows Server 2008 ターミナル サービスの新機能
- リモート アクセスへの TS ゲートウェイの使用
- TS セッション ブローカーによる負荷分散
目次
ターミナル サービスの新機能
セキュリティ機能
ユーザー エクスペリエンス機能
より簡単なリモート アクセス
ターミナル サービス ゲートウェイ
TS セッション ブローカー
仮想化は最近注目される言葉の 1 つですが、ほとんどの場合、これは仮想マシンやオペレーション システムの仮想化に関するものと考えられています。しかし、ターミナル サービスは、Windows NT 4.0 のリリース以来、リモートで実行されるアプリケーションおよびデスクトップのプレゼンテーション層の抽象化を実現してきました。それ以降、ターミナル サービスは大きな進化を遂げ、Windows Server 2008 では、成熟した堅牢なプレゼンテーション層仮想化プラットフォームを提供します。ここでは、ターミナル サービスの主な機能強化について説明します。
ターミナル サービスの新機能
Windows Server 2008 のターミナル サービスには、多くの新機能が実装されています。
ターミナル サービス RemoteApp Windows Server 2008 での大きな変更点の 1 つは、リモートから 1 つのアプリケーションを操作できることです。以前のバージョンのターミナル サービスでは、アクセスする必要があるのは 1 つのアプリケーションだけだったとしても、リモート デスクトップ全体が転送されました。これでは、(ターミナル サーバー経由で) リモート デスクトップ上に表示されるアプリケーションと、ローカル デスクトップ上に表示されるアプリケーションが存在するようになり、どちらのデスクトップにどのアプリケーションが表示されるかを覚えておくことが難しいため、ユーザーの混乱を招くことがよくありました。現在では、ターミナル サービス経由でアクセスするアプリケーションが、ユーザーのローカル コンピュータ上で実行されているかのように見え、動作するようになりました。
ターミナル サービス Web アクセス エンド ユーザーがアプリケーションを簡単に起動できる手段は、だれもが強く望む機能の 1 つでした。TS Web アクセスでは、管理者が個々のアプリケーションを Web ページに発行できるようにすることで、このニーズを満たします。TS Web アクセスには、特別な構成なしですぐに展開できる既定の Web ページが含まれていますが、これをカスタマイズして SharePoint サイトに統合することもできます。TS Web アクセスを使用して TS RemoteApp を起動するには、(インターネットまたはイントラネットから) Web ページにアクセスし、利用可能なアプリケーションの一覧を参照して、起動するアプリケーションをクリックします。
Windows Server 2003 では、ブラウザからの接続を実現するには、リモート デスクトップ Web 接続 (RDWC) という ActiveX コントロールが別途必要でした。現在では、このコントロールはメインのリモート デスクトップ接続 (RDC) クライアントに適切に組み込まれているため、クライアントにダウンロードやインストールが必要なものはありません。さらに、以前の RDWC クライアントとは異なり、リモート デスクトップ プロトコル (RDP) の完全な機能セットがサポートされています。
ターミナル サービス ゲートウェイTS ゲートウェイは、Windows Server 2008 の最も重要な新機能の 1 つです。RDP トラフィックにはポート 3389 が使用されますが、ターミナル サーバーをファイアウォール外のユーザーに展開する場合に管理者が直面する最大の問題の 1 つは、ファイアウォールでこのポートを開くか (これは推奨されません)、別の VPN ソリューションを使用しなければならない (コストがかかります) ことでした。TS ゲートウェイを使用すると、RDP トラフィックは HTTPS (ポート 443) 経由でトンネリングされ、インターネット上のリモート ユーザーとターミナル サーバー (またはリモート PC) との間の暗号化接続が確立されます。さらに、このシナリオは、ユーザーまたはターミナル サーバーが、ネットワーク アドレス変換 (NAT) Traversal ベースのルーターの背後にある場合でも優れた能力を発揮します。
TS ゲートウェイは、Windows Server 2008 のまた別の機能であるネットワーク アクセス保護 (NAP) と組み合わせて、ターミナル サービス リソースへのアクセスを許可する前に、クライアント コンピュータの正常性を確認するために利用できます。
ターミナル サービス セッション ブローカーWindows Server 2000 においてネットワーク負荷分散 (NLB) が導入されました。これは、Web サーバーでは実に有効でしたが、ターミナル サービスの負荷分散には理想的とはいえませんでした。新しい TS セッション ブローカーは、Windows Server 2003 のセッション ディレクトリ機能を拡張して、セッション ベースの負荷分散を実現することで、NLB に代わる優れた機能を提供しています。
TS セッション ブローカーを使用すると、新しいセッションがファーム内で最も負荷が少ないサーバーに割り当てられます。このとき、ユーザーは既存のセッションに再接続するために、セッションが確立されたサーバーを把握している必要はありません。IT 管理者はこの機能を使用して、各ターミナル サーバーの IP アドレスを 1 つの DNS エントリにマップできます。また、この構成ではフォールト トレランスも実現できます。ファーム内のサーバーの 1 つが利用できなくなった場合、ファーム内で次に負荷の少ないサーバーにユーザーが再接続されます。
ターミナル サービス Easy Print 従来から印刷は、ターミナル サービス環境の多くの管理者にとって悩みの種です。サーバー コンピュータとクライアント コンピュータの両方に一致する印刷ドライバが必要なため、エンド ユーザーは柔軟にプリンタをインストールできず、管理者はサーバー上の印刷ドライバの管理に気を揉まなければなりませんでした。これとは対照的に、TS Easy Print を使用することで、ユーザーは TS RemoteApp または完全なデスクトップ セッションから安心してローカルの印刷デバイスに印刷できるようになりました。この印刷デバイスは直接接続されていても、ネットワーク経由でもかまいません。最大のメリットは、ターミナル サーバー上にドライバをインストールしなくても、プリンタをサポートできるようになったことです。
ユーザーが TS RemoteApp プログラムまたはデスクトップ セッションから印刷する場合、ローカル クライアントからプリンタのプロパティ ダイアログ ボックスを完全な状態で表示でき、すべてのプリンタ機能 (透かし、丁合い、ホチキス止めなど) を利用できます。ユーザーが印刷を実行すると、印刷ジョブはサーバー上で Microsoft XPS ファイル形式でレンダリングされて、クライアントに送られます。また、TS Easy Print を使用すると、グループ ポリシーを使用して既定のプリンタにのみリダイレクトされるプリンタの数を制限でき、それによりオーバーヘッドを削減し、スケーラビリティを向上できます。
これらは、Windows Server 2008 における "価値の高い" 機能です。TS RemoteApp、TS Web アクセス、TS ゲートウェイ、および TS セッション ブローカーについては、後で再び取り上げます。まず、優れた機能であってもこれらの機能ほど目立たない、Windows Server 2008 の他の機能について説明します。
セキュリティ機能
ターミナル サービスの新リリースでは、セキュリティが強化されています。
ネットワーク レベル認証 (NLA) およびサーバー認証 (SA) 以前のバージョンの TS では、ユーザーが RDC クライアント上で [接続] をクリックするとターミナル サーバーのログオン画面が表示されたため、このログオン画面に対してサービス拒否攻撃や man-in-the-middle 攻撃がしかけられる可能性がありました。現在では、TS セッションがサーバー上で確立される前に NLA によってユーザー、クライアント コンピュータ、およびサーバー資格情報が相互に認証されたうえで、ユーザーにログオン画面が表示されるようになりました。サーバー認証では、トランスポート層セキュリティ (TLS) を使用して、許可されていないコンピュータではなく正規のターミナル サーバーにクライアントが確実に接続するようにします。
シングル サインオンユーザーは、1 セットの資格情報 (ユーザー名とパスワードの組み合わせまたはスマート カードと PIN の組み合わせ) を使用していったん認証されたら、新しいリソースを使用するたびに繰り返し資格情報を入力しなくても済むことを望んでいます。このリリースでは、ドメインに参加している Windows Vista または Windows Server 2008 コンピュータが、Windows Server 2008 ベースのターミナル サーバーまたは TS ゲートウェイに接続する際に、シングル サインオンを利用できるようになりました。
システム レベルのセキュリティ強化Windows Vista でも Windows Server 2008 でも、新たにシステム レベルのセキュリティ強化を提供しています。これは、基本的にオペレーティング システムのコンポーネントをモジュール化して、これらを低い特権レベルで実行するものです。ターミナル サービスでは、TS のコア エンジン (termsrv.dll) を 2 つの別のコンポーネント (コアのセッション マネージャである lsm.exe とリモート接続のための termsrv.dll) に分割することで、この機能を実装しています。
これまで、termsrv.dll は、より高いシステム特権レベルで実行されていました。現在では、元の termsrv.dll のコードの 1/3 のみが、高い特権レベルで新しい lsm.exe 内で実行され、残りの 2/3 は、はるかに低いネットワーク サービス特権レベルで実行されるようになりました。この変更により、Windows Server 2003 と比較して大幅に攻撃対象領域が縮小されます。
ユーザー エクスペリエンス機能
ユーザー向けに、次のようなさまざまな機能強化が施されています。
カスタム解像度大型モニタが普及し、解像度比率の種類も増えたため、Windows Server 2008 ターミナル サービスもユーザーのニーズに合うように機能強化されています。
エンド ユーザーは、カスタム解像度 (最高 4096 x 2048) を設定したり、解像度比率を 16:9 または 16:10 に変更したりすることで、ワイドスクリーン画面にすることもできます。解像度が 1680 x 1050 や 1920 x 1200 のモニタなど、すべての新しいモニタ構成をサポートできます。これは、最大解像度が 1600 x 1200 で 4:3 の解像度比率しかサポートしていなかった Windows Server 2003 と比べて大きな強化点です。カスタム解像度は、RDC クライアント ダイアログ ボックス、.rdp ファイル、またはコマンド プロンプトを使用して設定できます。
.rdp ファイルを使用してカスタム解像度を設定するには、.rdp ファイルをテキスト エディタで開き、次の設定を追加または変更します (<value> には、1680 や 1050 など、解像度の値を指定します)。
desktopwidth:i:<value>
desktopheight:i:<value>
コマンド プロンプトからカスタム解像度を設定するには、次の構文で mstsc.exe コマンドを使用します (<width> および <height> には、1680 や 1050 など、解像度の値を指定します)。
mstsc.exe /w:<width> /h:<height>
複数モニタでの表示リモート デスクトップ セッションを複数のモニタにまたがって表示できるようになりました。この機能が適切に機能するには、いくつかの前提条件があります。
- すべてのモニタで同じ解像度を使用する必要があります。たとえば、1024 x 768 を使用する 2 台のモニタにまたがる表示は可能です。しかし、1024 x 768 のモニタと 800 x 600 のモニタにまたがって表示することはできません。
- すべてのモニタは横方向 (つまり、左右) に並べる必要があります。現時点では、クライアント システムで複数のモニタを縦方向にまたがって表示することはできません。
- すべてのモニタの合計解像度は 4096 x 2048 以下でなければなりません。
.rdp ファイルを使用して複数モニタでの表示を有効するには、.rdp ファイルをテキスト エディタで開き、次の設定を追加または変更します (<value> が 0 の場合、複数モニタでの表示は無効になり、<value> が 1 の場合は有効になります)。
Span:i:<value>
コマンド プロンプトから複数モニタでの表示を設定するには、次の構文で mstsc.exe コマンドを使用します。
mstsc.exe /span
デスクトップ エクスペリエンスデスクトップ エクスペリエンスにより、ターミナル サービスのデスクトップは、Windows Vista デスクトップのエクスペリエンスにより近くなりました。この機能により、Windows Media Player 11、デスクトップ テーマ、フォト管理など、さまざまなコンポーネントがリモート デスクトップに追加されます。デスクトップ エクスペリエンスを有効にするには、次の手順を実行します。
- サーバー マネージャを開きます。[スタート] ボタンをクリックし、[管理ツール] をクリックして、[サーバー マネージャ] をクリックします。
- [機能の概要] の [機能の追加] をクリックします。
- [機能の選択] ページで、[デスクトップ エクスペリエンス] チェック ボックスをオンにし、[次へ] をクリックします。
- [インストール オプションの確認] ページで、デスクトップ エクスペリエンス機能がインストールされることを確認し、[インストール] をクリックします。
- [インストールの結果] ページで、サーバーを再起動してインストール プロセスを完了するように求められます。[閉じる] をクリックし、[はい] をクリックしてサーバーを再起動します。
サーバーが再起動したら、デスクトップ エクスペリエンス機能がインストールされていることを確認してください。
フォント スムージングフォント スムージングは、ターミナル サービスでの ClearType サポートの名前です。この機能は、特に液晶モニタ上で、コンピュータ フォントがより鮮明に表示されるようにします。フォント スムージングは Windows Server 2008 では既定で有効になります。また、クライアント コンピュータが接続しているときに、[リモート デスクトップ接続] ダイアログ ボックスのチェック ボックスを利用して有効にできます (図 1 参照)。
図 1 フォント スムージングを有効にする
ただし、フォント スムージングを使用すると、クライアント コンピュータとターミナル サーバー間で使用される帯域幅が増大する (状況に応じて 4 ~ 10 倍) ことに注意してください。このように帯域幅が増えるのは、ClearType フォントが、RDP がより効率的に処理できるグリフではなく、ビットマップとしてリモート処理されるためです。
ディスプレイ データの優先Windows Server 2003 では、サイズの大きい印刷ジョブを実行すると、画面のパフォーマンスが低下することがよくありました。ディスプレイ データの優先では、ディスプレイ、キーボード、およびマウスのデータが、印刷やファイル転送などの他のトラフィックよりも優先されるように、仮想チャンネル トラフィックが自動的に制御されます。この優先機能は、画面、キーボード、およびマウスのパフォーマンスが、サイズの大きい印刷ジョブなど多くの帯域幅を必要とする操作による影響を受けないようにするためのものです。
既定の設定は 70:30 です。この場合、ディスプレイ データと入力データに帯域幅の 70% が、ファイル転送や印刷ジョブなどその他すべてのトラフィックに 30% が割り当てられます。
この設定は、ターミナル サーバーのレジストリを変更することで調整できます。それには、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD サブキー以下の次のエントリの値を変更します。
FlowControlDisable
FlowControlDisplayBandwidth
FlowControlChannelBandwidth
FlowControlChargePostCompression
これらのエントリが表示されない場合は、[TermDD] を右クリックし、[新規] をポイントして、[DWORD (32 ビット) 値] をクリックします。
ディスプレイ データの優先は、FlowControlDisable の値を 1 に設定することで無効にできます。ディスプレイ データの優先が無効になると、すべての要求は要求が出された順 (FIFO) に処理されます。FlowControlDisable の既定値は 0 です。
ディスプレイ (および入力データ) の帯域幅の相対優先度は、FlowControlDisplayBandwidth 値を設定することで、設定できます。既定値は 70 で、指定できる最大値は 255 です。同様に、他の仮想チャネル (クリップボード、ファイル転送、印刷ジョブなど) の帯域幅の相対優先度は、FlowControlChannelBandwidth 値を設定することで、設定できます。既定値は 30 で、指定できる最大値は 255 です。
ディスプレイ データの優先度を指定する帯域幅の比率は、FlowControlDisplayBandwidth と FlowControlChannelBandwidth の値により決まります。たとえば、FlowControlDisplayBandwidth が 150 に、FlowControlChannelBandwidth が 50 に設定されている場合、比率は 150:50 です。その結果として、ディスプレイおよび入力データには、帯域幅の 75% が割り当てられます。
FlowControlChargePostCompression 値では、フロー制御で帯域幅の割り当ての計算に圧縮前のバイト数と圧縮後のバイト数のどちらを使用するかを定義します。既定値は 0 で、これは圧縮前のバイト数を基に計算が行われることを示します。
レジストリ値を変更したら、ターミナル サーバーを再起動して、変更を有効にする必要があります。
プラグ アンド プレイ デバイスのリダイレクトWindows Server 2008 ターミナル サービスでは、デバイス リダイレクト機能が強化および拡張されています。現在では Windows ポータブル デバイス (具体的にはメディア転送プロトコル (MTP) に基づくメディア プレーヤーと画像転送プロトコル (PTP) に基づくデジタル カメラ) をリダイレクトできるようになりました。
この機能は、[リモート デスクトップ接続] ダイアログ ボックスの [オプション] ボタンを使用して有効にできます。有効にされると、サポートされるプラグ アンド プレイ デバイスのうち現在接続されているデバイスが一覧表示されます。サポートされないデバイスは表示されません。まだ接続されていないデバイスをリダイレクトするオプションを選択することもできます。図 2 は、RDC クライアントからこれを有効にする方法を示しています。
図 2 まだ接続されていないデバイスを有効にする
リモート コンピュータへのセッションを開始すると、リダイレクトされるプラグ アンド プレイ デバイスが自動的にリモート コンピュータにインストールされることを確認できます。また、プラグ アンド プレイの通知が、タスク バーに表示されます。リダイレクトされたプラグ アンド プレイ デバイスがインストールされると、そのリモート コンピュータとのセッション内で使用できるようになります。たとえば、デジタル カメラなどの Windows ポータル デバイスをリダイレクトする場合、スキャナとカメラ ウィザードなどのリモート コンピュータ上のアプリケーションから直接アクセスできます。
プラグ アンド プレイ デバイスのリダイレクトは、次のどちらかのグループ ポリシー設定を使用することで、制御できます。
- "コンピュータの構成\管理用テンプレート\Windows コンポーネント\ターミナル サービス\ターミナル サーバー\デバイスとリソースのリダイレクト" にある "サポートされているプラグ アンド プレイ デバイスのリダイレクトを許可しない"。
- "コンピュータの構成\管理用テンプレート\システム\デバイスのインストール\デバイスのインストールの制限" にあるポリシー設定。
また、ターミナル サービスの構成ツール (tsconfig.msc) の [クライアントの設定] タブで、[サポートされているプラグ アンド プレイ デバイス] チェック ボックスを使用して、プラグ アンド プレイ デバイスのリダイレクトを制御することもできます。
より簡単なリモート アクセス
TS RemoteApp を使用するとリモートから 1 つのアプリケーションを操作でき、TS Web アクセスを使用すると Web ページから簡単にアプリケーションにアクセスできることを述べました。ここでは、これらの機能および一部の構成の詳細についてさらに詳しく説明します。
TS RemoteApp RemoteApp プログラムは、さまざまな方法でユーザーのデスクトップに展開できます。また、TS Web アクセスのほかに、次の作業も可能です。
- リモート デスクトップ プロトコル ファイルの作成。
- 以前配布されていた Windows インストーラ (.msi) パッケージによる、デスクトップまたは [スタート] メニューへのプログラム アイコンの追加。
- ファイル名拡張子が RemoteApp プログラムに関連付けられているファイルの実行。これは、管理者が Windows インストーラ パッケージを使用して構成できます。
ユーザーが RemoteApp プログラムにアクセスする方法の詳細については、『Windows Server 2008 TS RemoteApp に関するステップバイステップ ガイド』(go.microsoft.com/fwlink/?LinkID=84895) の「RemoteApp プログラムを展開する方法」を参照してください。
TS Web アクセスTS Web アクセスを使用すると、RemoteApp プログラムを 1 台のサーバーからでも、ターミナル サーバーのファームからでも展開できます。TS RemoteApp マネージャは、非常に迅速かつ効率的に TS Web アクセスにアプリケーションを公開するプロセスを提供しています。つまり、まずターミナル サービスをインストールしてから、ホストするアプリケーションをインストールします。
TS RemoteApp マネージャを使用して、TS Web アクセスで使用できるようにする RemoteApp プログラムを追加します。次に、ユーザーが Web 経由で接続するサーバーに TS Web アクセスをインストールします。TS Web アクセス サーバーのコンピュータ アカウントを、ターミナル サーバー上の TS Web Access Computers グループに追加します。最後に、TS Web アクセス サーバーを構成して、その RemoteApp プログラムの一覧を 1 台のサーバーまたは 1 つのファームから設定します。
従来の方法でアプリケーションがインストールされるか、Application Virtualization (旧称: SoftGrid) を使用してターミナル サーバーに配布された後は、アプリケーションを TS Web アクセスに公開するのは非常に簡単です。管理者が RemoteApp ウィザードを使用していくつかの簡単な手順を実行すると、公開された RemoteApp プログラムの一覧が表示されます。
既定では、アプリケーションは TS Web アクセスに公開されます。RemoteApp マネージャでは、公開されたアプリケーションと、TS Web 経由でユーザーに公開されるすべてのアプリケーションの一覧が表示されます。
次は、既定のエンド ユーザー エクスペリエンスについて簡単に説明します。TS Web アクセスの最初のタブには、公開されている全アプリケーションのアイコンが表示されます (図 3 参照)。2 番目のタブからは、ユーザーが Web フロント エンドを使用して特定のデスクトップ コンピュータに接続できます。前述のとおり、この Web インターフェイスは、完全にカスタマイズ可能です。また、『TS Web アクセスに関するステップバイステップ ガイド: Windows SharePoint Services を使用して TS Web アクセスをカスタマイズする』(go.microsoft.com/fwlink/?LinkID=111241) では、SharePoint Services を使用したカスタマイズについて詳しく説明されています。
図 3 TS Web アクセスでの RemoteApp プログラムの表示 (画像をクリックすると拡大表示されます)
その他の展開方法TS Web アクセスを使用する以外に、.rdp ファイルや Windows インストーラ パッケージを使用しても、RemoteApp プログラムを展開できます。これらのパッケージは、ファイル共有または Microsoft Systems Center Operations Manager または Active Directory のソフトウェア配布を使用して配布できます。次に、アプリケーション配布用の適切なパッケージを作成するための、主な手順を説明します。
ファイル共有などの配布メカニズムにより配布できるように RemoteApp プログラムを準備するには、ターミナル サービスと公開するアプリケーションをインストールし、リモート接続設定を確認する必要があります。RemoteApp プログラムの追加およびグローバル展開設定の構成には、TS RemoteApp ウィザードを使用できます。次に、.rdp ファイルまたは Windows インストーラ パッケージを作成します。
RemoteApp ウィザードの内容を簡単に確認してみましょう。まず手順 1. では、.rdp ファイルのターミナル サーバー、TS ゲートウェイ、および証明書の設定を構成します (図 4 参照)。
図 4 .rdp ファイルの入力設定 (画像をクリックすると拡大表示されます)
手順 2. では、デスクトップまたは [スタート] メニューでショートカット アイコンが表示される場所を指定し、クライアントのファイル拡張子を関連付けて RemoteApp を使用してローカル ファイルを起動できるようにします (図 5 参照)。
図 5 プログラム パッケージの設定オプション (画像をクリックすると拡大表示されます)
最後の手順では、任意の配布ソフトウェアを使用してクライアント コンピュータに簡単にパッケージ化したアプリケーションを展開できるように、RemoteApp ウィザードにより Packaged Programs フォルダが開かれます (図 6 参照)。
図 6 展開用のプログラム パッケージ (画像をクリックすると拡大表示されます)
ターミナル サービス ゲートウェイ
ここでは、TS ゲートウェイを利用してファイアウォールの外からリモート ユーザーがアプリケーション、データ、またはデスクトップにアクセスする方法を説明します。図 7 は、インターネット経由でのアクセスをユーザーに提供するために TS ゲートウェイを展開する場合の一般的なシナリオの概要を表したものです。
図 7 作業者が自宅のラップトップから社内ネットワークに接続する場合 (画像をクリックすると拡大表示されます)
要点を説明すると、TS ゲートウェイはネットワーク境界に置かれ、HTTPS 経由で RDP トラフィックをトンネリングします。または、SSL ターミネータ (Microsoft Internet Security and Acceleration Server (ISA) など) をネットワーク境界に置いて、受信 RDP トラフィックを境界の反対側の TS ゲートウェイに転送できます。
その手順を 図 7 に示します。
- ユーザーが自宅のラップトップからインターネット経由で接続する場合は、RDP ファイルかデスクトップ上の RemoteApp プログラム アイコン、または TS Web アクセスにより公開されている TS RemoteApp のアイコンをクリックするか、リモート デスクトップ接続クライアントを開きます。
- TS ゲートウェイ サーバーの SSL 証明書を使用して、自宅のラップトップとターミナル サーバー間で、SSL トンネルが確立されます。ユーザーは接続が確立される前に、ターミナル サービスの接続承認ポリシー (TS CAP) とターミナル サービスのリソース承認ポリシー (TS RAP) に従って、認証および承認される必要があります。TS RAP および TS CAP ポリシー (後述) が適用されると、ユーザーはセッションを開くことができます。
- 自宅のラップトップが、ポート 443 を使用して TS ゲートウェイに暗号化された RDP パケットを SSL にカプセル化した状態で渡します。TS ゲートウェイは、この RDP パケットをポート 3389 経由でターミナル サーバーに転送します。
実装規模が大きい場合は TS ゲートウェイ サーバーのファームを作成できますが、サーバー ファーム システム間で負荷を分散するためのソリューション (NLB やサードパーティの負荷分散ツールなど) が別途必要になります。TS セッション ブローカーでは、TS ゲートウェイ サーバーの負荷分散は処理されません。
この機能を展開する方法を簡単に説明します。簡単に言うと、TS ゲートウェイ サーバー用の証明書を取得して構成し、前述の 2 種類の承認ポリシー TS CAP と TS RAP を作成します。
証明書を取得する既存の証明書を使用することも、新しい証明書を要請することもできます。TS ゲートウェイが機能するには有効な証明書が必要です。証明書はインストール中にインポートするか、自己署名証明書を作成します。
社内テストを実施するのであれば自己署名証明書で問題ありませんが、正式な展開にはエンタープライズ証明機関 (VeriSign など) によって発行された証明書が必要です。証明書をインストールしたら、展開承認ポリシーを検討します。
承認ポリシーTS CAP は、TS ゲートウェイへの接続を許可するユーザーを定義し、ユーザーが接続できる条件を指定します。たとえば、ローカル TS ゲートウェイ サーバー上または Active Directory 内に存在する任意のユーザー グループが TS ゲートウェイに接続でき、そのグループのメンバはスマート カードを使用する必要があることを指定できます。
一方、TS RAP は、TS ゲートウェイ経由でユーザーがアクセスできる内部リソースを定義します。たとえば、コンピュータ グループ (ターミナル サーバーのファームなど) を作成し、これを TS RAP に関連付けることができます。
リモート ユーザーに内部リソースへのアクセスを許可するには、TS CAP と TS RAP の両方を作成する必要があります。ユーザーは少なくとも 1 つの TS CAP と 1 つの TS RAP の条件を満たさないとアクセスできません。どちらも TS ゲートウェイ マネージャを使用して作成できます(図 8 および 図 9 参照)。
図 8 接続承認ポリシーの作成 (画像をクリックすると拡大表示されます)
図 9 リソース承認ポリシーの作成 (画像をクリックすると拡大表示されます)
TS CAP と TS RAP を組み合わせることで、2 種類の承認を使用して内部ネットワーク上のコンピュータへのより詳細なアクセス制御を構成できます。詳細については、『ターミナル サービス ゲートウェイに関するステップバイステップ ガイド』(go.microsoft.com/fwlink/?LinkID=85872) を参照してください。
TS セッション ブローカー
最後にセッション ブローカーを取り上げます。これは、展開が簡単なセッション ベースの負荷分散ソリューションを提供します。この機能は、既存のセッションにユーザーを再接続する Windows Server 2003 のセッション ディレクトリ機能を基盤としたもので、ファーム内で最も負荷の少ないサーバー上で新しいセッションを作成する機能が追加されています。
ファーム内のすべてのターミナル サーバーが、DNS 内に特定のサーバー ファーム名 Farm1 にマップされているホスト リソース レコードを持つ場合の、一般的なシナリオについて考えてみましょう。このシナリオでは、ファーム内のどのターミナル サーバーもリダイレクタとして機能し、初期接続要求を処理できます。
ユーザーが Farm1 という名前のターミナル サーバー ファームを指定して、RDC クライアンとを起動したとします。クライアントは名前 Farm1 を IP アドレスに解決するために DNS サーバーに接続します。DNS サーバーは、ラウンド ロビンを使用して初期接続要求を負荷分散するように構成されていて、Farm1 用に登録されている IP アドレスの一覧を返します。
クライアントが、DNS サーバーから返された一覧内の最初の IP アドレスに接続要求を送信します。そのアドレスのターミナル サーバーがリダイレクタとして機能し、TS セッション ブローカー サーバーにクエリを送って、クライアントのログオン先となるターミナル サーバーが特定されるようにします。TS セッション ブローカー サーバーはデータベースを確認し、ユーザーに既存のセッションがある場合は、セッション ブローカーからそのターミナル サーバーの IP アドレスが返されます。ユーザーに既存のセッションがない場合、セッション ブローカーは、ファーム内で最も負荷の少ないターミナル サーバーを (セッション数と相対的なサーバーの加重値を基に) 特定し、その特定のサーバーの IP アドレスを返します。
リダイレクタはクライアントにその IP アドレスを送り、クライアントはそのサーバーに接続要求を送ります。そのサーバーはログオン要求を処理して、TS セッション ブローカーにログオンの成功を通知します。
初期接続の配布にはどの負荷分散メカニズムでも使用できますが、DNS ラウンド ロビンは展開が最も簡単なメカニズムです。ただし、DNS ラウンド ロビンにもいくつかの制限はあります。たとえばクライアントに DNS 要求をキャッシュすると、クライアントは各初期接続要求に対して同じ IP アドレスを使用します。また、オフラインであるのに DNS の一覧には含まれているターミナル サーバーにユーザーがリダイレクトされると、タイムアウトするまで 30 秒間の遅延が生じる可能性があります。
TS セッション ブローカーによる負荷分散に、NLB などのネットワーク レベルの負荷分散ソリューションや、ロード バランサ機器を組み合わせて展開すると、DNS の制限は回避しながら TS セッション ブローカー機能を利用できます。TS セッション ブローカー負荷分散機能では、各サーバーに相対的な加重値を関連付けて、ファーム内の性能の異なるサーバー間での負荷分散に利用できます。たとえば、ファーム内であるサーバーが別のサーバーよりも 2 倍のセッションを処理できる場合、そのサーバーの加重値を 200 とし、もう一方のサーバーを 100 とすることができます。
TS セッション ブローカー負荷分散では、保留できるログオン要求の数を特定のターミナル サーバー 1 台につき最高で 16 要求に制限しています。この機能は、たとえば、新しいサーバーをファームに追加した場合や、以前は拒否されたサーバーへのユーザー ログオンを可能にする場合に、1 台のサーバーに新しいログオン要求が過剰に割り当てられないようにするものです。
また、メンテナンスのために停止される予定のターミナル サーバーに新たにユーザーがログオンできないようにする "サーバー ドレイン" という新しいメカニズムも提供されています。特定のターミナル サーバー上で新しいログオンが拒否されると、TS セッション ブローカーは既存のセッションがあるユーザーの再接続は許可しますが、新しいユーザーについては、新しいログオンを許可するように構成されているターミナル サーバーにリダイレクトします。
詳細については、『TS セッション ブローカーの負荷分散に関するステップバイステップ ガイド』(go.microsoft.com/fwlink/?LinkID=92670) を参照してください。この記事には、Windows Server 2008 TS の新機能について、これ以上説明する十分なスペースがありません。ただし、ターミナル サービス Web サイトには、詳しい情報を提供している Web キャストなど、他にも多くのコンテンツがあります。詳細については、technet.microsoft.com/ts を参照してください。
Joshua Schnoll は、マーケティングおよびテクノロジの分野で 15 年以上の経験があり、ここ 6 年間はサーバー ベースのコンピューティングを専門としています。また、Windows Server ターミナル サービスのワールドワイドのシニア プロダクト マネージャを務めています。マイクロソフト入社前は、Sun Ray ウルトラ シン クライアントの製品マーケティングを牽引するなど、サン・マイクロシステムズにおいていくつかの役職に就いていました。