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

2020.10.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

しばたです。

本記事では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の構築」をご覧ください。

  1. 「Remote Desktop License」機能の追加
  2. ライセンスサーバーのアクティブ化
  3. 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接続するだけの場合はこの構成を検討すると良いでしょう。