WORKGROUP環境でRDMSの設定と冗長化
先の記事でRDS CALに関する基本的な理解は記載しましたが、今回は実際に構築する場合のお話。
RDSに必要な基本的な構成や手順はマイクロソフトの以下のサイトが詳しいです。
- Windows Server 2012 機能評価ガイド リモート デスクトップ サービス(VDI および RDS)
- Windows Server 2012 標準的なリモート デスクトップ サービス環境構築手順について
ゲートウェイやらWeb アクセス、接続ブローカーなどなど必要なサーバが結構ある上に、標準的な構成ではActive Directory環境が必要ということも構築難易度を上げているポイントです。今回は最低限の環境で作る場合についてメモ書きです。
要件は以下の通り。
- WORKGROUP環境で構築する
- ライセンスサーバとセッションホストサーバは兼務する
- 単体障害時にも接続できるようライセンスサーバは複数用意する
作業手順
WORKGROUP環境での設定はWindows Server 2012 リモート デスクトップ環境の構成について に記載されている通りです。変更する必要もありません。設定にはPowerShellを用いて、確認にレジストリエディタやRDライセンス診断機能を用います。
1. リモート デスクトップ セッション ホストのインストール
PS C:\Users\Administrator> Add-WindowsFeature -Name RDS-RD-Server Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True Yes SuccessRest... {リモート デスクトップ セッション ホスト, ... 警告: インストール処理を完了するには、このサーバーを再起動する必要があります。 警告: Windows 自動更新が有効になっていません。新しくインストールした役割または機能が自動的に更新されるよう にするには、[Windows Update] を有効にしてください。
2. [リモート デスクトップ セッション ホスト] 役割サービスをインストール
PS C:\Users\Administrator> Add-WindowsFeature -Name Desktop-Experience Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True Yes SuccessRest... {デスクトップ エクスペリエンス, インクと手... 警告: インストール処理を完了するには、このサーバーを再起動する必要があります。 警告: Windows 自動更新が有効になっていません。新しくインストールした役割または機能が自動的に更新されるよう にするには、[Windows Update] を有効にしてください。
3. [デスクトップ エクスペリエンス] をインストール
PS C:\Users\Administrator> Add-WindowsFeature -Name Desktop-Experience Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True Yes SuccessRest... {デスクトップ エクスペリエンス, インクと手... 警告: インストール処理を完了するには、このサーバーを再起動する必要があります。 警告: Windows 自動更新が有効になっていません。新しくインストールした役割または機能が自動的に更新されるよう にするには、[Windows Update] を有効にしてください。
4. [ライセンス診断] ツールをインストールします。
PS C:\Users\Administrator> Add-WindowsFeature -Name RSAT-RDS-Licensing-Diagnosis-UI Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True Yes SuccessRest... {リモート サーバー管理ツール, リモート デ... 警告: インストール処理を完了するには、このサーバーを再起動する必要があります。 警告: Windows 自動更新が有効になっていません。新しくインストールした役割または機能が自動的に更新されるよう にするには、[Windows Update] を有効にしてください。
5. 再起動
6. [リモート デスクトップ ライセンス] の役割サービスをインストール
PS C:\Users\Administrator> Add-WindowsFeature -Name RDS-Licensing Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {リモート デスクトップ ライセンス} 警告: Windows 自動更新が有効になっていません。新しくインストールした役割または機能が自動的に更新されるよう にするには、[Windows Update] を有効にしてください。
7. [RD ライセンス マネージャー] をインストール
PS C:\Users\Administrator> Add-WindowsFeature -Name RDS-Licensing-UI Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {リモート デスクトップ ライセンス ツール} 警告: Windows 自動更新が有効になっていません。新しくインストールした役割または機能が自動的に更新されるよう にするには、[Windows Update] を有効にしてください。
8. [リモート デスクトップ ライセンス モード] を
ChangeMode(2)は接続デバイス数モード、ChangeMode(4)は接続ユーザ数モードです。
PS C:\Users\Administrator> (gwmi -Class Win32_TerminalServiceSetting -Namespace root\cimv2\TerminalServices).ChangeMode(2) __GENUS : 2 __CLASS : __PARAMETERS __SUPERCLASS : __DYNASTY : __PARAMETERS __RELPATH : __PROPERTY_COUNT : 1 __DERIVATION : {} __SERVER : __NAMESPACE : __PATH : ReturnValue : 0 PSComputerName :
9.[リモート デスクトップ ライセンス サーバー] の指定
ここでは複数(2つ)のライセンスサーバーを指定しています(理由は後述)
PS C:\Users\Administrator> New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServe rs" -Name SpecifiedLicenseServers -Value "192.168.56.","192.168.56.11" -PropertyType MultiString SpecifiedLicenseServers : {192.168.56.10, 192.168.56.11} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Term Service\Parameters\LicenseServers PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Term Service\Parameters PSChildName : LicenseServers PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
10. [リモート デスクトップ ライセンス サーバー] の確認
PS C:\Users\Administrator> Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServe rs" -Name SpecifiedLicenseServers SpecifiedLicenseServers : {192.168.56.10, 192.168.56.11} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Term Service\Parameters\LicenseServers PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Term Service\Parameters PSChildName : LicenseServers PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
念のため、レジストリエディタでも確認してみる。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers
上記のフローをもう一方のサーバでも行い、相互にライセンスサーバとして登録することで、2つのWindowsサーバをセッションホストサーバとしつつ、ライセンスサーバを冗長化することができます。
また、それぞれのサーバでRDS CALをアクティベーションした後は、RD ライセンス診断機能を用いてクライアントで利用可能なライセンスの数を確認するのをお忘れなく。
なぜライセンスサーバを複数指定するか
ライセンスサーバの冗長化の要否は要件によって異なると思いますが、ライセンスサーバ自身が故障すると、新規端末や恒久CALが期限切れとなっている端末が接続不可となるため、冗長化した方が良いと考えています。最悪、管理用のセッション(最大2セッション)で入ればよいのですが、用途の制約もあるため障害時のリモート保守用としてはオススメできません。
ちなみにライセンスサーバを複数指定した際の挙動は、マイクロソフトの
リモート デスクトップ ライセンスに以下の記述があります。
ライセンス サーバーを複数追加した場合、RD セッション ホスト サーバーは、リモート デスクトップ セッション ホストの構成 の [ライセンス] タブの [指定されたライセンス サーバー] ボックスに表示されている順番にライセンス サーバーにアクセスします。