EC2 Windows ServerでRemote Desktop Serviceを構成する手順(Active Directory環境にRDSHのみインストール)
しばたです。
本記事ではEC2 Windows ServerでRemote Desktop Serviceを構成するパターンのうち、Active Directory環境にRDSHのみインストールするパターンでの構築手順を紹介します。
検証環境
今回は下図の様な構成を検証環境とします。
- 任意のVPC内のPrivate Subnet内に、Domain Controller、RD License Server、RDSH Serverの3台の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をはじめとしたネットワーク周りの構築手順、Domain Controllerの構築手順は割愛します。
Active Directory環境(corp.contoso.com
)が用意され、各サーバーはドメインに参加済みの状態をスタート地点とします。
1. RD License Serverの構築
RD License Serverの構築手順は前回の「フルインストール」の場合と全く同じです。
詳細な手順は前回の記事の「1. RD License Serverの構築」をご覧ください。
- 「Remote Desktop License」機能の追加
- ライセンスサーバーのアクティブ化
- RDS SALの登録
の3つの手順を行います。
2. RDSH Serverの構築
次にRDSH Serverの構築を行います。
2-1. 機能の追加
今回は「フルインストール」の場合とは異なりRemote Desktop Session Host(RDSH)の機能のみを追加します。
PowerShellからであればInstall-WindowsFeature
を実行してやるだけでOKです。
# 要管理者権限
# -IncludeManagementTools オプションを付けることで管理ツールも同時にインストールする
Install-WindowsFeature -Name RDS-RD-Server -IncludeManagementTools
GUIで行う場合はサーバーマネージャーから「役割と機能の追加」を選択しウィザードからインストールします。
ウィザードが開始されるので「次へ」
「役割ベースまたは機能ベースのインストール」を選び「次へ」
(※ここが「フルインストール」の場合と異なります)
ローカルサーバーを選択し「次へ」
役割の選択で「リモートデスクトップサービス」を選択し「次へ」
機能の選択では何も選ばずそのまま「次へ」
そのまま「次へ」
リモートデスクトップに関連した役割の選択になりますので、ここで「Remote Desktop Session Host」を選択。
すると管理ツールを含めるかのウィンドウが表示されるのでチェックをつけて「機能の追加」をクリック。
「リモートデスクトップライセンス」にチェックが付いていることを確認し「次へ」
最終確認になるので「必要に応じて対象サーバーを自動的に再起動する」にチェックを付けて「インストール」をクリック。
これで役割のインストールが開始されるので終了するまで待ちます。
途中でサーバーの再起動が行われますので、再起動後、改めてサーバーマネージャーを起動すると処理が再開されます。
-- (再起動後) --
全ての機能をインストールすると下図の様になりますのでウィザードを閉じます。
2-2. ライセンスサーバーの追加
次にRDSHサーバーが参照するライセンスサーバーの登録を行います。
「フルインストール」の場合ではサーバーマネージャーから利用するライセンスサーバーを指定しましたが、RDSHのみのインストールの場合は下図の様に「RD Connection Brokerが無い」旨のメッセージが表示されサーバーマネージャーを使うことができません。
このためライセンスサーバーの指定は「ローカルグループポリシー」か「PowerShellでレジストリ設定」で行う必要があります。
- 参考
フルインストールの場合で説明したのと同様で「PowerShellでレジストリ設定」する場合は以下のコマンドを実行します。
# 要管理者権限
# ライセンスサーバーの指定
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers" -Name SpecifiedLicenseServers -Value "<ライセンスサーバーのFQDN>" -PropertyType MultiString
# ライセンスモードの指定 (4 : 接続ユーザー数)
$obj = Get-WmiObject -Namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.ChangeMode(4)
「ローカルグループポリシー」で設定する場合は以下の手順を行います。
ローカルグループポリシーエディタを起動します。
(下図では「ファイル名を指定して実行」からgpedit.msc
と入力し起動。他の方法でも構わない)
ライセンスサーバーに関わる2つのポリシーを構成します。
はじめに
- コンピューターの構成
- → 管理用テンプレート
- → Windowsコンポーネント
- → リモートデスクトップサービス
- → リモートデスクトップセッションホスト
- → ライセンス
の順に移動し、「指定のリモートデスクトップライセンスサーバーを指定する」をダブルクリックします。
ポリシーを有効にし、使用するライセンスサーバー欄に「ライセンスサーバーのFQDN」を記載し「OK」をクリック。
続けて「リモートデスクトップライセンスモードの指定」をダブルクリックします。
ポリシーを有効にし、ライセンスモードを「接続ユーザー数」に設定して「OK」をクリック。
両方のポリシーが有効になってることを確認すれば完了です。
これらのポリシーはマシンポリシーですが直ちに反映されます。
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)
補足:DNSサフィックスについて
フルインストールの場合同様サーバーのDNSサフィックスを確認し、Remote Desktop Serviceを使う各サーバーにドメイン名のDNSサフィックスを付けておくと良いでしょう。
最後に
以上となります。
今回の手順では必要最低限の機能のみをインストールする形になるためサーバーに求められるスペックはフルインストールの場合より低く済みます。
要件が単純にWindows Serverに多人数でRemote Desktop接続するだけの場合はこの構成を検討すると良いでしょう。