RDS (TS) CAL について

こんにちは。

Windows プラットフォーム サポートの吉田です。

今回は、リモート デスクトップ サービス (旧ターミナル サービス) で利用される CAL (Client Access License) の概要および動作についてご説明いたします。

Windows Server に多数のセッションを同時に接続させるためには、リモート デスクトップ サービス環境を構築する必要がありますが、ご利用いただくためには、各クライアントに対して、リモート デスクトップ サービス クライアント アクセス ライセンス (RDS CAL) を発行します。

※ Windows Server 2008 までは、ターミナル サービス クライアント アクセス ライセンス (TS CAL) が正式名称となりますが、本稿では全て CAL と記載します。

CAL の動作原理や有効期限について、よくいただくご質問を以下にまとめました。

ぜひご参考ください。

 

1. CAL の概要

--------------------------

CAL は大きく以下の 2 種類に分類されます。

  • デバイス CAL
  • ユーザー CAL

この 2 種類は、お客様のリモート デスクトップ サービス環境に応じて、使い分けていただく必要があります。

簡単に説明すると、デバイス CAL は接続元デバイス (クライアント) 毎に対して発行され、ユーザー CAL は接続ユーザー毎に発行されます。

例えば、一つのデバイスを複数人でご利用いただく環境の場合はデバイス CAL、一人のユーザーが複数のデバイスをご利用いただく環境の場合は、ユーザー CAL をご利用する事で、購入 (インストール) いただく CAL の数量を効率よく管理できます。

 

重要なポイントとして、一台のセッション ホスト サーバー (ターミナル サーバー) に対しては、デバイス CAL を使って接続させるか、ユーザー CAL を使って接続させるかに応じて、いずれかのライセンス モードを選択する必要があります。

セッション ホスト サーバーが両方の CAL に応じる事はできません。

なお、一台のライセンス サーバーに、デバイス CAL、ユーザー CAL の両方をインストールする事は可能です。

 

デバイス CAL、ユーザー CAL はそれぞれ発行動作が異なります。

次項でそれぞれの動作概要をご説明します。

 

2. デバイス CAL について

---------------------------

デバイス CAL は、クライアント コンピューター (デバイス) に対してセッション ホスト サーバーへアクセスする権限を与えます。

デバイス CAL が一度発行されると、その情報がクライアント コンピューター上に保持されます。

デバイス CAL の情報は、クライアントの以下のレジストリに格納されます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Store\LICENSE00x

pic1

図 1 : デバイス CAL 情報 レジストリ

 

デバイス CAL は、初回接続時に発行される一時 CAL と、二回目の接続時に発行される恒久 CAL の二種類が存在します。

[一時 CAL]

クライアント コンピューターからセッション ホスト サーバーに初めて接続した時に発行されるライセンスです。

一時 CAL の有効期限は、一律で 90 日間となり、恒久 CAL の余剰数がない状態の場合は、二度目以降の接続時も一時 CAL のまま接続します。

一時 CAL の発行数に制限はありません。

pic2

図 2 : 一時 CAL 発行例

 

[恒久 CAL]

一時 CAL を持っているクライアント コンピューターが二回目に接続した時に発行されるライセンスです。

恒久 CAL の有効期限は、52 日間から 89 日間のランダムな期間が設定されます。

この有効期限を任意の期間にすることはできません。

ライセンス サーバーにインストールした数量を上限として発行されます。

pic3

図 3 : 恒久 CAL 発行例

 ----

上記の通り、デバイス CAL には一時 CAL、恒久 CAL ともに有効期限をもっています。

その有効期限を過ぎた場合には、もちろん接続ができなくなります。

そのため、セッション ホスト サーバーに接続するクライアント コンピューター数を適切に管理する必要があります。

 

[恒久 CAL の更新について]

恒久 CAL の有効期限は、52 日間から 89 日間のランダムな期間が設定されますが、その有効期限日の 1 週間前から CAL の更新期間となります。

更新期間中にセッション ホスト サーバーに接続する事で、新たに 52 日間から 89 日間のランダムな期間が設定されます。

 

[ライセンスの失効について]

Windows Server 2008 以降の CAL については、ライセンス マネージャー上から、失効処理を行う事ができます。

接続する事がなくなったクライアントや、誤って接続して発行させてしまったクライアントに対して、発行された CAL を失効させ、別のクライアントのために発行の余剰を作ることができます。

※ Windows Server 2003 以前の CAL については失効処理を行う事ができません

pic4

図 4 : 失効

 

失効できる数はインストールしている CAL 総数の 20 % までとなります。

また、失効された CAL につきましても、発行先のクライアントが保持する CAL の情報は変わりませんので、有効期限内は接続する事が可能です。

失効処理は、あくまでライセンス サーバー上の管理上の情報となります。

 

極端な例となりますが、100 CAL が存在し、全ての CAL が発行済みであるとします。

その状態で上限となる 20 % の CAL を失効させ、さらに新規で 20 台のクライントが接続し、恒久 CAL が発行された場合、一時的には 120 台のクライアントが恒久 CAL を持つ状態となります。

[クライアント の識別について]

セッション ホスト サーバーは、接続元のクライアントをコンピューター名ではなく、各クライアントが一意で持つ Hardware ID で識別します。

仮に同様のホスト名を持つクライアントからの接続が受け付けた場合においても、別のクライアントとして管理されます。

Hardware ID は、クライアント コンピューターの以下のレジストリにあります。

 

HKLM\Software\Microsoft\MSLicensing\HardwareID\ClientHWID

pic5

図 5 : Hardware ID

 

ただし、ライセンス マネージャー上では、コンピューター名のみで表示されますので、同じコンピューター名を持つクライアントが存在する環境や、コンピューター名の変更が発生する場合には注意が必要です。

また、ライセンス マネージャー上は、初回 CAL 発行時のコンピューター名で表示されますので、CAL を持つクライアントのコンピューター名を変更した場合においても、旧コンピューター名のまま表示されます。

 

 3. ユーザー CAL について

---------------------------

ユーザー CAL には、デバイス CAL のような、一時 CAL や恒久 CAL といった概念はありません。

また、デバイス CAL のように、接続元クライアントのレジストリに情報が記録される動作でもありません。

CAL の発行情報は、ドメイン コントローラー上の各ユーザー コンテナに情報として格納されます。

その情報については、Windows Server 2012 以降の環境あれば、ライセンス マネージャー上に表示されますが、Windows Server 2008 R2 以前のバージョンにおいては、ライセンス マネージャー上には表示されず、レポート機能を使用する必要があります。

以下は Windows Server 2012 ライセンス サーバーの例となります。

ライセンス サーバーが、ドメイン環境かつ Windows Server 2012 以降の場合は、ライセンス マネージャー上でユーザー CAL の発行状況を確認する事ができます。

pic6

図 6 : ユーザー CAL 発行例

 

なお、ユーザー CAL の有効期限は一律で 60 日間となっておりますが、その有効期限は、あくまでその時点で発行されているユーザー CAL の情報管理のため使われるものとなり、有効期限を超過した場合も、超過直後の接続時に新たな有効期限が付与されますので、長期間アクセスが無い場合においても、接続不可となる事は発生いたしません。

 

ユーザー CAL (ユーザー数ライセンス モード) では、1 人のユーザーに対して、無制限の数のクライアントからセッション ホスト サーバーにアクセスする権限が与えられます。

ユーザー CAL (ユーザー数ライセンス モード) はライセンスによって強制されることはありません。

そのため、ライセンス サーバーにインストールされている CALの数に関係なく、クライアント接続を行うことができます。

ただしこれによって、各ユーザーに有効な CAL を持たせなければならないという、マイクロソフト ソフトウェア ライセンス条項の要件から管理者が免除されるわけではありません。

接続ユーザー数ライセンス モードを使用している場合に、各ユーザーに有効な CAL を持たせることができなければ、ライセンス条項違反となります。

 

4. デバイス CAL 運用において、クライアントが接続できなくなった際の暫定対策について

------------------------------------------------------------------------------------------

ライセンス マネージャー上で、対象クライアントに対して、正常にライセンスが 発行されているにも関わらず、クライアントがセッション ホスト サーバーに接続ができなくなった場合や、恒久 CAL の余剰数がない状態で、有効期限が超過したクライアントをどうしても接続させる必要がある場合の暫定対策として、クライアントで保持しているライセンス情報、および HardwareID を削除して、ライセンス サーバーに対して、新規接続のクライアント と判断させて接続する方法があります。

 

<暫定対策 : クライアントのレジストリ削除>

[ハードウェア ID] および、ライセンス情報のレジストリを削除することで、セッション ホスト サーバー側で、新規接続のクライアントだと判断され、ライセンス サーバーから一時 CAL が発行されます。

 

そのため、一時 CAL にて、90 日間は リモートデスクトップ 接続が可能となります。

恒久 CAL に使用可能な数が残っている場合には、 2 度目の接続から 一時 CAL から恒久 CAL に変わります。

 

削除する必要のあるレジストリは以下となります。

1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\HardwareID\ClientHWID

2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Store\LICENSE00x

(LICENSE00x は x に数字が入ります。いくつか存在する場合がありますので、その際は全て削除します)

 

なお、上記手順の実行につきましては、クライアント PC の administrator 権限のあるユーザーにて実行する必要があります。

また、初回接続時に、新たに HardwareID レジストリが作成されますので、初回接続時につきましても、administrator 権限のあるユーザーにて実施する必要があります。

 

補足情報 1 : 多段 RDP 接続について

------------------------------------------------------------------------------------------

Windows Server 2008 R2 および Windows 7 までは、多段 RDP 接続はサポートされておりません。

例 : Windows 7 ---- RDP ----> Windows Server 2008 R2 (1) ---- RDP ----> Windows Server 2008 R2 (2)

英語文献とはなりますが、以下に公開情報がございます。

- Running a Remote Desktop session within another Remote Desktop session is not supported
https://support.microsoft.com/kb/2582684

しかしながら、条件つきとはなりますが、Windows 8、Windows Server 2012 からは、正式にサポートされております。

- Running a Remote Desktop Connection session within another Remote Desktop Connection session is supported with Remote Desktop Protocol 8.0 for specific scenarios
https://support.microsoft.com/kb/2754550

例 : Windows 8 ---- RDP ----> Windows Server 2012 (1) ---- RDP ----> Windows Server 2012 (2)

上記のように、クライアントは Windows 8 以降、サーバーはいずれも Windows Server 2012 以降である必要がございます。
または、Windows 7 および Windows Server 2008R2 において、RDP バージョンを 8.0 以上に更新いただく必要がございます。

なお、CAL については、[Windows Server 2012 (1)] に接続するために、[Windows 8] に必要となり、[Windows Server 2012 (2)] に接続するために、中継となる [Windows Server 2012 (1)] に発行される必要がございますので、数量の管理にはご留意願います。

------------------------------------------------------------------------------------------

補足情報 2 : VDI 環境での Windows7 仮想 OS について

------------------------------------------------------------------------------------------

VDI 環境にて、仮想OS がWindows 7 である場合、接続には影響はありませんが、CAL は発行されませんので、ご注意下さい。

また、仮想OS がWindows 8 または、Windows 8.1 である場合はCAL は正常に発行されます。

------------------------------------------------------------------------------------------

 -参考文献

 リモート デスクトップ サービス クライアント アクセス ライセンス (RDS CAL)

https://technet.microsoft.com/ja-jp/library/cc753650.aspx

 リモート デスクトップ ライセンスの概要

  https://technet.microsoft.com/ja-jp/library/cc725933.aspx

リモート デスクトップ サービス クライアント アクセス ライセンス (RDS CAL) を管理する

https://technet.microsoft.com/ja-jp/library/dd759163.aspx

Removing Terminal Server licenses from an RDP client

https://support.microsoft.com/kb/187614/ja