EC2 Windows ServerでRemote Desktop Serviceを構成する手順(ワークグループ環境にRDSHのみインストール)

2020.10.28

しばたです。

本記事ではEC2 Windows ServerでRemote Desktop Serviceを構成するパターンのうち、ワークグループ環境にRDSHのみインストールするパターンでの構築手順を紹介します。

検証環境

今回は下図の様な構成を検証環境とします。

  • 任意のVPC内のPrivate Subnet内に、RD License Server、RDSH Serverの2台のWindows Server 2019 EC2を構築
    • AMIは現時点で最新の ami-0e7b9e09087bb9a79 (Windows_Server-2019-Japanese-Full-Base-2020.10.14) を使用
  • EC2はPrivate Subnetに配置するがNAT Gateway(NAT Instanceでも可)によりインターネットアクセスは可能な状態
  • 各EC2間で必要な通信は可能な状態にセキュリティグループは設定済み

なお、本記事ではVPCをはじめとしたネットワーク周りの構築手順は割愛します。 各サーバーはコンピューター名など最低限の初期設定が行われた状態をスタート地点とします。

1. RD License Serverの構築

RD License Serverの構築手順は「フルインストール」の場合とほとんど同じですが、微妙に異なるため差異にのみ注力して説明していきます。

1-1. 機能の追加

機能の追加方法は一般的なWindowsにおける手順と変わりません。
PowerShellからであればInstall-WindowsFeatureを実行してやるだけでOKです。

# 要管理者権限
# -IncludeManagementTools オプションを付けることで管理ツールも同時にインストールする
Install-WindowsFeature -Name RDS-Licensing -IncludeManagementTools

GUIで行う場合はサーバーマネージャーから「役割と機能の追加」を選択しウィザードからインストールします。
GUIで行う手順はフルインストールの場合を参照してください。

1-2. ライセンスサーバーのアクティブ化

機能の追加後は管理ツールに「リモートデスクトップライセンスマネージャー」がインストールされていますので、スタートメニューから起動します。
初期状態では下図の様に「非アクティブ」な状態であるためアクティブ化してやる必要があります。

Acitve Directory環境での手順と異なりワークグループ環境では右ペインの構成欄は初期状態で「OK」になっているはずです。
もし「OK」以外の状態であった場合は適宜対応してください。

以降の作業はActive Directory環境の場合と同様となります。
対象サーバー欄を右クリックし、「サーバーのアクティブ化」を選択。

アクティブ化のウィザードが始まるので「次へ」をクリック。

ここからはMicrosoftに接続しアクティブ化を行い、その方式は複数あるのですが、今回も「自動接続」するパターンを紹介します。

会社名と担当者の情報を入力し「次へ」

必要に応じ各種情報を記載し「次へ」

しばらく待つとアクティブ化が完了します。

ウィザードを閉じ、サーバーの状態が「アクティブ化」となっていれば完了です。

1-3. RDS CALの登録

前にも説明しましたがワークグループ環境でRemote Desktop Service環境を構築する場合、デバイスライセンス(=Device RDS CAL)しか使えないライセンス上の制約があります。

重要
ワークグループサーバーでRDSを構成すると、以下の追加の制限が作成されます。
* ユーザーごとのライセンスではなく、デバイスごとのライセンスを使用する必要があります。 詳細については、「使用 許諾契約書」(CAL)を参照してください。

このためAWS環境(SPLA契約下)向けのRDS SALは使えませんのでご注意ください。

今回適切なRDS CALを用意できなかったのでこの手順は割愛します。
RDライセンスマネージャーからウィザードを起動し適切なライセンスをインストールしてください。

(CALの購入方法に応じて適切な「ライセンスプログラム」を選んでください)

注意事項

ライセンスモビリティを行使してDevice RDS CALを移動し今回の構成で使用することがライセンス上適切かは確認しておりません。
この点はMicrosoftが判断する内容となりますので、確認したい方はAWSではなくMicrosoftに問い合わせてください。

2. RDSH Serverの構築

次にRDSH Serverの構築を行います。

2-1. 機能の追加

今回はRemote Desktop Session Host(RDSH)の機能のみを追加します。
PowerShellからであればInstall-WindowsFeatureを実行してやるだけでOKです。

# 要管理者権限
# -IncludeManagementTools オプションを付けることで管理ツールも同時にインストールする
# -Restart オプションを付けることで自動的に再起動する
Install-WindowsFeature -Name RDS-RD-Server -IncludeManagementTools -Restart

今回は-Restartオプションも付けて自動的に再起動する様にしています。

GUIで行う場合はサーバーマネージャーから「役割と機能の追加」を選択しウィザードからインストールします。 GUIで行う手順はActive Directory環境にRDSHのみインストールの場合を参照してください。

2-2. ライセンスサーバーの追加

次にRDSHサーバーが参照するライセンスサーバーの登録を行います。

ワークグループ環境ではRD Connection Brokerを導入するフルインストールがサポートされていないためサーバーマネージャーを使うことができません。
サーバーマネージャーを起動しても下図の様に「Active Directory環境で使え」との警告が表示されてしまいます。

このためライセンスサーバーの指定は「ローカルグループポリシー」か「PowerShellでレジストリ設定」で行う必要があります。
この点はActive Directory環境にRDSHのみインストールの場合と同様です。

「PowerShellでレジストリ設定」する場合は以下のコマンドを実行します。
Active Directory環境で実施する場合の違いとしては、ワークグループ環境ではサーバーの名前解決の方法が環境依存になるので環境に応じて適切なホスト名かIPアドレスを設定してください。
個人的にはIPアドレス指定にしておけば確実だと思います。

# 要管理者権限
# ライセンスサーバーの指定
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers" -Name SpecifiedLicenseServers -Value "<ライセンスサーバーのホスト名 or IPアドレス>" -PropertyType MultiString

# ライセンスモードの指定 (4 : 接続ユーザー数)
$obj = Get-WmiObject -Namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.ChangeMode(4)

「ローカルグループポリシー」で設定する手順はActive Directory環境にRDSHのみインストールの場合を参照してください。

2-3. ライセンス設定の確認

RDSHサーバーが参照するライセンスサーバーの状況は以下のPowerShellコマンドで確認できます。

# 要管理者権限
$obj = Get-WmiObject -Namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
Write-Output ("RD Licensing Server : {0}`r`nライセンスモード : {1}" -f $($obj.GetSpecifiedLicenseServerList().SpecifiedLSList -split ','), $obj.LicensingName)

最後に

以上となります。

これでEC2 Windows ServerでRemote Desktop Serviceを構成するすべてのパターンの構築手順を紹介しました。
AWS上で本記事の構成を採ることはまずないと思われますが、その他の環境で同様の構成を組む場合でも手順は変わりませんのでこの内容が役に立つケースもあるかと思います。