IBM Cloud+Windows Remote Desktop Servicesでお手軽にPrivate DaaSみたいなものを作る（仮想化ホスト編）

# はじめに
Private DaaS的なものを作ってみようコーナーの第二回です。
このコーナーの背景は以下のリンクの「はじめに」を参照ください。

https://qiita.com/ymaruoka/items/20f3ece63232e7dc4bb5

前回はWindows Remote Desktop Servicesセッションホスト型を作ってみたので、今回は同Windows Remote Desktop Services仮想化ホスト型の作り方です。

これにより、任意のユーザーが其々のWindows仮想マシンにアクセスできる環境を作ることができます。

# IBM Cloud上にWindows Remote Desktop Services環境を構築し、任意のユーザーが任意のWindows仮想マシンにアクセスできる環境を作る
Windows Remote Desktop Services（以下、Windows RDS）を活用してDaaS（Desktop αs α Services）のようなものを作ってみます。
今回は、物理サーバーを使って、Windows端末を複数台搭載する仮想化ホストを作ってみます。

今回、簡単な技術検証として手順を作りましたが、やってみると、Windows Remote Desktop Servicesの仮想化ホスト方式は少し変えるだけで導入できなくなるケースが多々あり、少し（？）癖のある製品だとわかりました。
ちゃんと作るときは専門家に依頼することをお勧めします。

なお、Windows RDSは何ぞやという方は公式ドキュメントがおすすめです。
ただ、こちらも参考になるかもしれません。
https://www.hitoriit.com/entry/2018/04/16/174701

# 今回の準備もの
・仮想サーバー1台 Virtualserver1 (Windows Server 2019 Standard)＝Active Directory、DHCP
・仮想サーバー1台 Virtualserver2 Windows RDSの管理サーバーとして利用 (RDS管理サーバーとActive Directoryは同居できないことに注意！）
・物理サーバー1台(Windows Server 2019 DataCenter)＝Windows RDSの実行サーバーとして利用
・ポータブルサブネット（＊1） VMに割り当てるためのサブネットとIPです。
・ゲストOS（ライセンス）
・OpenDHCP（Windows Server同梱のDHCPでは実装できなかったので・・）


*仮想化ホストは、セッションホストのRDS CALの他にWindows VDA（仮想化環境に搭載するWindows OSライセンス）が必要になります。このライセンス周りが難解で、私は問い合わせしてもなんとなくしかわからなかったので、マイクロソフト社に必要なライセンスについて問い合わせを行い、適切なライセンスを購入してから実装することをお勧めします。
（ライセンスさえ調達できれば、構築は思ったより簡単ですよ！）

＊ここではオプション作業として、物理サーバーを1台追加したスケールアップの方法も記載しておきます。
最小構成としては、仮想サーバー1台（ADサーバー、DHCPサーバー）と物理サーバー1台（RDSサーバー）でも作れなくはないです。

# 作業概要
1.仮想サーバー1,2と物理サーバー1を作る
2.仮想サーバー1にActive Directoryを構築する
3.物理サーバー1, 仮想サーバー2をADのドメインに参加させる
4.仮想サーバー2でWindows RDSを入れる。この時、実行サーバーに物理サーバーを選ぶ
5.Hyper-Vの設定を行い、仮想マシンを作る。
6.ログインテストを行う
(option)7.必要なら物理サーバーを増やして仮想化ホストを追加することで拡張できます


# 各サーバーの前提作業
仮想サーバーにはSecurity Groupというポートを閉じる（いわゆるFirewall）が設定できます。よくあるケースとして、Public NetworkのSecurity GroupにAllow Outboud（サーバーから外部に向けてのみネットワーク接続を許可）ということをしてある場合、他サーバーとPublic ネットワーク側で通信を優先してしまうと不都合が起きます。例えば、仮想サーバーに追加したActive Directoryの提供するドメインに参加できないなど。

そこで、ADやWindows RDSの通信の優先順位をPublic Networkと Private Networkの優先順位を変更します。
私が知る限り、簡単な方法はGUIでPrivateのネットワークアダプターのMetricを手動：1に変更しておくことです。

![スクリーンショット 2022-11-01 8.37.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/b02f10f3-286a-7627-5a04-8a00a459bc66.png)

また、Public側のNICはDNSを使わないのでOFFにしておきましょう。
![スクリーンショット 2022-11-02 12.18.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c4c24cbc-7f11-f1bd-a1f1-044df6e51846.png)



## 物理サーバーのFirewallについて
物理サーバーはFirewallが無効となっているケースがあります。検証用とはいえ、野晒しにするわけにもいかないので、Firewallを有効化することが望ましいと考えます。

ただ、何もせずに有効化するとリモートデスクトップも遮断されてしまうので、その場合は、KVMで復帰させましょう。
https://qiita.com/ymaruoka/items/89fcfc4dd3ae0d1eb18d



# 仮想サーバー1でのAD・DHCP導入作業
## Active Directoryを導入する
役割の追加で、Active Directoryを追加します。

![スクリーンショット 2022-11-01 8.30.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/ed78071c-70ec-0e42-72aa-7c3eebbf975b.png)

![スクリーンショット 2022-11-01 8.32.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/ca2a6698-047b-591e-19cc-9174b3d7d601.png)

![スクリーンショット 2022-11-01 8.33.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/7d7926a8-b7d5-741a-085a-43e810e8760f.png)

役割が追加されたら、OSを再起動したあと、サーバーマネージャーにて、新しいドメインを作ります。
![スクリーンショット 2022-11-01 8.43.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/35e4db9d-080a-507b-0da5-8011d40168d8.png)

今回のドメインはrds-poc.localとしました。
（ここでも言われているようにlocalドメインは推奨ではありませんが、exampleドメインを使うとADが適切に動かないようだったので断念しました。
https://www.picturecode.co.jp/faq/dot-local-domain/）

![スクリーンショット 2022-11-01 12.18.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/34318e7f-1566-cdf9-7c37-b05baf0201b0.png)


今回は構築のお試しなので、特に変更なくNEXTを繰り返す。
ちゃんとした構成にするときはDatabase folderの置き場所などは設計しましょう。

![スクリーンショット 2022-11-01 9.03.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/13385af8-4e86-9d83-681d-832cb110688e.png)

![スクリーンショット 2022-11-01 9.03.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/fe96c687-23ae-21bb-1d82-a17da754b988.png)

![スクリーンショット 2022-11-01 9.04.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/03615400-30df-a5bb-ba95-6a42f8a43b56.png)

![スクリーンショット 2022-11-01 9.04.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/16ec96f9-f6dc-d619-29b2-99191bbe319a.png)

## OUとユーザーを作る
Windows RDSではOUとユーザーが必要となります。
サーバーマネジャーのActive Directory Users and Computersにて、OUとユーザーを作ります。

![スクリーンショット 2022-11-01 9.15.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/6b6f4cb0-4a6f-7cad-7b8e-a99af7f3921b.png)

- OU : OU-RDS-POC
- ADとRDSの管理用ユーザー : ユーザー名：なんでも。所属グループ:Domain Admins, Administartors
    - このユーザーはRDSの役割追加時に使用します
- RDSログイン用ユーザー : ユーザー名：なんでも。所属グループ:Domain User, Remote Desktop Users

OUを作るときは、protect container from accidental deletionのチェックボックスをOFFにしておくこと。
![スクリーンショット 2022-11-02 22.35.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/e482b196-40a7-ac26-0a7e-54153c243f35.png)



## 仮想サーバー1に、DHCPサーバーを導入
MSのDHCPサーバーでは動かなかったのでDHCPサーバーを入れます。

DHCPサーバーを入れる前にポータブルIPを設定します。
NetworkのPrivate NIC側に、IPの２つ目にポータブルIPの１つのIPを設定し、Metricを１に設定します。

![スクリーンショット 2022-11-03 0.38.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/8a8efa78-e1f0-ee68-cc00-c8e5217552ef.png)


DHCPサーバーをダウンロードします。
https://sourceforge.net/projects/dhcpserver/files/latest/download

単に導入するだけなら、NEXTボタン→Installボタンを押すだけです。
![スクリーンショット 2022-11-02 9.18.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/f5526341-c172-9d5b-1b3f-b40c3f36cf9f.png)

C:\OpenDHCPServerにあるOpenDHCPServer.iniの設定に必要な設定を加える。
[LISTEN_ON]
自分のサーバーで使うLISTENのIP
[LOGGING]
なんでもいいですが、テストならLogLevel=Allの方が問題判別が楽です。
[RANGE_SET]
DHCPRange=ポータブルサブネットで割り当てられたIPのレンジを指定します
SubnetMask=ポータブルサブネットのマスク
DomainServer=今回構築した仮想サーバー1(AD)に割り当てたポータブルサブネットのIPアドレス
Router=ポータブルサブネットのデフォルトゲートウェイ
AddressTime=IPのリース時間。デフォルトの360でいいと思います。

設定が終わったらサービスを起動しておきましょう。
![スクリーンショット 2022-11-02 11.54.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c36ad3d8-8d9e-d552-5916-906200fe1c1a.png)

コントロールパネルからFirewallのAdvanced Settingsを開き、FirewallのInboundを開けます。
![スクリーンショット 2022-11-03 0.34.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/ee8c1281-5d2a-bc8f-3d73-e1225060fd5e.png)


![スクリーンショット 2022-11-03 0.32.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d4365931-b154-e833-ef94-81419e669cb5.png)

![スクリーンショット 2022-11-03 0.35.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/853e7eee-4178-4a05-6360-39e84562558c.png)

![スクリーンショット 2022-11-03 0.35.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/9f040dbf-9731-3630-8df3-dbc400b17110.png)
![スクリーンショット 2022-11-03 0.35.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d4e993b8-f51b-2074-46b8-a17e448a945c.png)
![スクリーンショット 2022-11-03 0.35.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c2079155-bd76-60cd-2d2e-d684ef8e887c.png)




# 物理サーバー1、仮想サーバー2をADのドメインに所属させる
物理サーバーも仮想サーバーも同じ作業なので、ここでは物理サーバーをドメインに所属させる手順で記載します。

物理サーバーにログインします。
DNSサーバーを仮想サーバーに設定します。
![スクリーンショット 2022-11-01 11.06.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/f45ba4ce-865f-59c1-e5ae-f7a9b7e92bfd.png)

仮想サーバー1で作ったドメインに所属させます。
コントロールパネル＞システム＞
![スクリーンショット 2022-11-02 12.09.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a712cae7-f536-7c80-16a2-44c784a5f529.png)

ドメイン参加時の注意。Windows Defender Firewallを有効にしている場合、ドメイン参加後のFirewallはRemote Desktopの遮断する設定になります。そのため、このダイアログの再起動後にリモートアクセスできなくなる場合があります。
それを防ぐには、このダイアログでOKを押す前に、Firewallの設定を変更しておく必要があります。簡単な変更としてはFirewallのアプリの許可をしておくことです。
![スクリーンショット 2022-11-02 12.10.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/5a9dadcb-41e8-da1d-e375-f147319dbe14.png)

![スクリーンショット 2022-11-02 12.13.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/9390221c-3a12-027a-3ff9-2ebe415a1e7f.png)

このダイアログのボタンを押してリスタートする前にFirewallの状態をチェックすること。
![スクリーンショット 2022-11-02 12.13.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/3124f937-0f19-3d18-635e-6cc60797d9e2.png)


FirewallのチェックがオフのところをONにしておく。
![スクリーンショット 2022-11-02 12.12.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a52605a0-6340-0384-3abd-a2f8621cb7de.png)


再起動後は、ADで作成した管理ユーザーでログインしておきましょう。


# 仮想サーバー2にWindows Remote Desktop Servicesを導入する
作成したドメイン管理者のユーザーで仮想サーバーにログインします。

## 仮想サーバー２の管理対象サーバーに物理サーバーを追加
仮想サーバー2のサーバーマネージャーにて、物理サーバー1を追加します。

Add Serverを選ぶ
![スクリーンショット 2022-11-02 12.23.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/78296572-db43-4d12-668a-e24f4dd8ad2e.png)

Find Nowボタンを押すと、追加した物理サーバーが見えると思いますので▲ボタン＞OKボタンを押して、追加します。
![スクリーンショット 2022-11-02 23.14.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/63ac5caf-ba8f-8ee4-bfc4-35418e034d03.png)


Allサーバーを見ると追加されているのがわかります。
![スクリーンショット 2022-11-02 23.15.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/4b31dfa6-cc3b-4a73-2b47-47726c3ee708.png)


## 仮想サーバー2にWindows Remote Desktop Servicesを導入
仮想サーバー2のサーバーマネージャーでRDSを導入します。
![スクリーンショット 2022-11-02 12.20.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/b4493475-aba5-6523-ff6a-ce28cd8f0327.png)
![スクリーンショット 2022-11-02 12.20.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/3dd6d2ec-bc70-6889-712d-2274c23c4d1f.png)

通常のRoleの導入ではなく、Remote Desktop Services専用のラジオボタンを選びます。
![スクリーンショット 2022-11-02 12.21.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/9de7e46e-726b-6e85-906e-95befcb1c802.png)


![スクリーンショット 2022-11-02 12.21.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/860692bd-65bd-b553-a8a7-4f20dfd6a8f6.png)

今回は仮想マシン用のRDSを使います。
![スクリーンショット 2022-11-02 12.21.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/e09c6a45-9724-9a16-5537-a24b09a57d61.png)

RD Connection Brokerは仮想サーバーを指定します。
![スクリーンショット 2022-11-02 23.17.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/1ec84f71-ffe0-e06a-f35a-5554d49b60c4.png)

Webサーバーも仮想サーバーを指定します。
![スクリーンショット 2022-11-02 23.17.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/69a98b14-6cba-495f-4b60-2c0b4c74d0f9.png)


RD Virtualization Hostは物理サーバーを指定します。
![スクリーンショット 2022-11-02 23.24.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/0c356074-7662-5651-3060-7364b4926dc8.png)

チェックをONにしてDeployを実行すれば導入できます。

![スクリーンショット 2022-11-02 23.24.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/bc8dde1f-9c8b-eb30-b3c1-905e590a181c.png)

![スクリーンショット 2022-11-02 23.25.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/438704fa-5604-8fa3-c3bd-9e478570d660.png)

![スクリーンショット 2022-11-02 23.35.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c2620b13-625c-6bdf-eaf0-20586d74aa08.png)




導入が完了すると、以下のようにサーバーマネージャーにRDSのコンソールが出るようになります。
![スクリーンショット 2022-11-02 12.40.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/914325d5-2bad-2e9b-1871-94c2ec586e8f.png)

## 物理サーバーにて、Hyper-Vのネットワークを設定する。
Hyper-Vを起動します

サーバーマネージャーからHyper-V Managerを選ぶ。
![スクリーンショット 2022-11-02 12.56.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a4879711-9f24-1f5f-efff-796c58974a91.png)

NWスイッチを作ります。画面右部のVirtual Switch Managerを選びます。
![スクリーンショット 2022-11-02 23.25.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d3d073c6-aed0-7c26-daf8-c40bc1f62bf7.png)


Create Virtual Swichを選びます
![スクリーンショット 2022-11-02 13.09.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/04648b8f-fb5d-c42f-f4f3-0981defc4442.png)

PrivateネットワークののTeam NICを選びます。
![スクリーンショット 2022-11-02 13.10.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d11076c6-65f2-e202-e7dd-bd53a1b8184c.png)

以下の警告ダイアログが発生しますが、Yesを選びます。
![スクリーンショット 2022-11-02 13.11.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/3a178e94-0ab0-4404-4f54-452410ed98f5.png)

リモートデスクトップのネットワークが一時的に断線しますが、リモートデスクトップの再接続を行えば復帰できます。

switchができた後、ポータブルIPの一つを設定します。
![スクリーンショット 2022-11-03 0.38.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/0512c0c7-531d-f14e-af6b-ea90d82eb892.png)

IPの２つ目にポータブルIPの１つのIPを設定し、Metricを１に再設定します。
![スクリーンショット 2022-11-03 0.38.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/8a8efa78-e1f0-ee68-cc00-c8e5217552ef.png)

設定の正しさを確認するために、コマンドプロンプトでDHCPサーバーに割り当てたポータブルIPにPingが通ることを確認しておく。


## 物理サーバー1で、RDS用の仮想マシンテンプレートをセットアップする。

物理サーバーにて、仮想マシンをHyper-Vに搭載します。
この搭載された仮想マシンは Windowsにて、Sysprepコマンドで初期化しておく必要があります。
（MSのWebサイトにいくと、開発用の仮想マシンなるものもありますが、こういった構築してみるテストで使っていいのかはわかりません。実運用するときはライセンスを買いましょう。ライセンスは普通のものではダメで仮想マシンとして使う用の特別なものが必要となります）
https://developer.microsoft.com/ja-jp/windows/downloads/virtual-machines/　）

サーバーマネージャーからHyper-V Managerを選ぶ。
![スクリーンショット 2022-11-02 12.56.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a4879711-9f24-1f5f-efff-796c58974a91.png)

New>Virtual Machineを選ぶ
![スクリーンショット 2022-11-02 12.57.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d21a370c-ae0b-e67c-79d1-ecf6dc7c7134.png)

![スクリーンショット 2022-11-02 13.06.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d8b2213c-5c99-bfaa-4ab7-08e00116cf21.png)

VM名を入力してNEXT
![スクリーンショット 2022-11-02 13.07.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/8f24ed57-8cfe-7e1c-bc77-c360f4f148da.png)

諸々のVM設定を入れる。
![スクリーンショット 2022-11-02 13.07.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a65dff6b-1577-c354-4422-3dd9a87fedd1.png)

ネットワークは先ほど作ったスイッチを指定します。
![スクリーンショット 2022-11-02 13.14.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/b9ac3e65-620a-56d1-4197-baaacd6d589c.png)


![スクリーンショット 2022-11-02 13.15.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/3894b23f-fce3-1cd1-69bb-e28f09cc0de5.png)

仮想マシンOSのISOを指定してNEXT。
![スクリーンショット 2022-11-02 13.15.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/977f9e05-478d-a231-a087-939ef52c1a37.png)

ConnectでVMに接続します。
![スクリーンショット 2022-11-02 13.16.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/fd06c7db-ece1-9128-101d-322c0ce46f0e.png)

Windowsを入れます。細かい画面は省略します。
ユーザー名は何でもいいです。
![スクリーンショット 2022-11-02 13.17.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d9d9fa11-c2a3-eac4-d7d2-5a01ecf6fe88.png)

導入されました。
![スクリーンショット 2022-11-02 13.27.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/5bd64d7e-4939-a7fe-91b9-9ec32b6d9ed4.png)

終了しましょう。
![スクリーンショット 2022-11-02 13.27.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/9832ba6e-396f-b5aa-db0a-41747e1f072b.png)


## 物理サーバー1上の仮想マシンをSysprepでテンプレート化する
仮想マシンの設定からDVDを削除します。
![スクリーンショット 2022-11-02 13.28.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/15933eec-2523-1864-4cc7-cb28c7e64d99.png)
![スクリーンショット 2022-11-02 13.28.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/f3f1f5a7-e69a-94bf-71eb-8dbc1f146130.png)

![スクリーンショット 2022-11-02 13.28.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/221045d2-9192-5e83-e0f6-4e93d9cfd1ee.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d3fb1cc3-fa7f-06cd-b64f-c84f6374b535.png)

その上で、Windowsにログインし、コマンドプロンプトを起動します。
コマンドラインで以下のフォルダに移動
C:¥Windows¥System32¥Sysprep

VMウィンドウの「クリップボードからテキストを入力する」を選び、コマンドを実行する
sysprep /oobe /generalize /shutdown /mode:vm

コピペはメニューから実行できます。
![スクリーンショット 2022-11-02 13.31.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d896e87d-4d04-6e53-aec2-c10ec851a2b8.png)

実行すると、Sysprepで自動的にシャットダウンされます。
これでテンプレート化が完了です。
![スクリーンショット 2022-11-02 13.32.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c285cd36-c727-c5e8-e6e4-7d585c17944e.png)



## RDSコンソール画面から、仮想マシンを導入してみる。
RD Collectionを作ることで仮想マシンを実装できます。

## RDSの仮想マシン作成のための事前準備
RDSが仮想マシンを作るためにはWindows Serverの一部区画にアクセス権限が必要となります。

### OUへのコンピューター作成権限付与
AD User and Computerにて、OUに権限を付与します。
メニューのViewを選択し、Advanced Futures（拡張表示）を選びます
![スクリーンショット 2022-11-02 16.39.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c5cbebfc-7990-8680-30c8-d221c347c59d.png)

OUのプロパティを開きます。
![スクリーンショット 2022-11-02 16.40.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/fca0de75-d433-43d2-b6af-a8d04f0cbe90.png)

セキュリティのAdvanced（拡張設定）を選びます。
![スクリーンショット 2022-11-02 16.42.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/13729db7-2303-845b-b0f8-01d683eb8bb0.png)

追加を選びます。
![スクリーンショット 2022-11-02 16.43.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/943b5786-2f56-ea9a-f976-3f9af777ece9.png)

Select principalを選びます。
![スクリーンショット 2022-11-02 16.43.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/9670309b-985c-202a-7cc0-05f3f45d4b25.png)

そうすると、権限設定のダイアログが出てくるのでObject Typesをクリックし、Computersを追加します。
![スクリーンショット 2022-11-02 16.44.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/4c250231-21e9-19a9-c47f-dc136f875eff.png)

仮想サーバーを追加します。
![スクリーンショット 2022-11-02 23.33.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/e19661f6-94f8-b075-9bff-adc97de1ee4e.png)


Create Computre objectとDelete Computer objectにチェックを入れてOKを押す
![スクリーンショット 2022-11-02 23.33.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/8fa2a730-e429-8503-67e5-96381ca82996.png)



これで権限が付与できました。
さらに権限付与するので、またAddを押します。
![スクリーンショット 2022-11-02 16.47.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/fad5bcfc-4d41-50e4-c60e-9b3c28757480.png)

同じように、principalに仮想サーバーを選びます。
その上で、Applies to を Descendant Computer objectsを選びます。
そして、Full ControlのチェックをオンにしてOKを押します。
![スクリーンショット 2022-11-02 23.34.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a48ead0c-c4da-2a1f-d458-025c265b9b40.png)



###　ユーザープロファイル用共有フォルダ

仮想マシンのユーザーごとの情報を格納するユーザープロファイルを作ります。
今回は共有フォルダとして作り、OUと同様にアクセス権限を付与します。

対象フォルダのプロパティのSharingタブを選び、Advanced Sharingを選びます。

![スクリーンショット 2022-11-02 17.08.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/10188977-ad02-b468-300f-8e5980677796.png)

Permissionを選びます。
![スクリーンショット 2022-11-02 17.12.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/7775f47b-aa9f-76f2-ecc9-ae461800f973.png)

OU権限付与と同じ手順でComputreにチェックを入れ、仮想サーバーを選べびます。
![スクリーンショット 2022-11-02 17.13.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/5a0f1e8e-64a3-b77f-086f-b4a82d0e5f82.png)

![スクリーンショット 2022-11-02 23.37.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a6cab76a-ecea-ed1a-c5af-da3646792763.png)


フルコントロールを付与します。
![スクリーンショット 2022-11-02 23.38.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/71ea1c58-129c-0c57-8b9c-19f3c217fd5c.png)


## RD Collection作成
RD Virtualization Hostにある、Create Collectionを選びます。
![スクリーンショット 2022-11-02 12.42.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a7d7dbeb-a249-5284-cbf2-96e525a6ee8e.png)

コレクションの名前を決めます。
![スクリーンショット 2022-11-02 12.43.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/af49d861-9da2-6a3d-1c8b-bf50b2048e1a.png)

今回は、端末をログアウトごとにリフレッシュするプール型を選びます。
プールされた仮想マシンと個人用仮想マシンの違いはMSの情報を参照ください。

![スクリーンショット 2022-11-02 13.34.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/aa8833a6-9056-0efa-c438-015b2db20efa.png)

先ほど作った仮想マシンのテンプレートが見えるので、選びます。
![スクリーンショット 2022-11-02 13.33.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a0a2e0f3-bf4f-65dd-ba21-9a19071f73e6.png)

NEXTを選ぶ
![スクリーンショット 2022-11-02 13.34.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/700d468d-7376-2c67-0ae0-75c3835c10ed.png)

ADのドメインとOUを選びます。
![スクリーンショット 2022-11-02 13.35.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/96aae535-e101-b5b3-cc27-a7fcb65d17c5.png)

コレクションの仮想マシンにログインするユーザーを指定します。
ここでは今回作ったドメインのドメインユーザーが対象となっています。
![スクリーンショット 2022-11-02 13.35.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/903abd83-f587-f02a-0b4e-7319180e1965.png)

作成するVM数を選びます。試しに2個作ってみます。
![スクリーンショット 2022-11-03 1.33.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/6c3f5e49-609c-b1b6-cf8f-3931d746afe5.png)


NEXT。
![スクリーンショット 2022-11-03 1.33.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/d132f320-f693-f986-cb1c-7602c992bd28.png)



ユーザープロファイルディスクの格納場所を指定します。
ここで指定したCドライブのフォルダは、新規作成でつくったユーザープロファイル用の共有フォルダです。

![スクリーンショット 2022-11-02 23.40.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/59092705-ea44-412b-5dc4-180d2cbbe245.png)


Createを押して構築します。

![スクリーンショット 2022-11-02 17.16.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/cd32da45-d82f-835d-a378-947e569c35c4.png)


2台でもかなり時間はかかります。
![スクリーンショット 2022-11-03 0.59.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c956a588-2020-b6c8-d1db-c6745f90291f.png)

作成が完了しました。
![スクリーンショット 2022-11-03 1.48.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/17c8d17a-37a5-0e9d-24bd-a83162fb1e32.png)

# 仮想マシンのバージョンをアップする（Collectionを再作成）
バージョンアップには、バージョンアップされたテンプレートVMを用意し、Collectionを再作成します。

既存のCollectionを用いて、再作成します。
RDS管理画面から、Collectionの再作成を選びます。
![スクリーンショット 2022-11-03 3.18.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/dbf1a362-15f9-2a06-d4ca-f3501e12b6a0.png)

テンプレートVMを設定。
つまり、バージョンアップしたテンプレートを用意しておけば、バージョンアップができるということです。
![スクリーンショット 2022-11-03 3.18.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/71a9d8b1-cef5-1b3e-2635-0dc78cf42cda.png)

リリース予定を入れます。
![スクリーンショット 2022-11-03 3.20.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/fe664b4d-b6b2-0573-03e9-66975741889c.png)

Createを選ぶ
![スクリーンショット 2022-11-03 3.20.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/3d25e77b-a0e3-0eec-1b7b-8458e363ded4.png)


# 仮想マシンを増やしたいときは、物理サーバー2を追加し、Collectionに仮想マシンを追加するか、Collectionを再作成します。

## 前提作業
物理サーバー2をオーダーします。
物理サーバー１と同じように、各サーバー共通の設定（NICの設定）を行った後、ドメインに参加します。

### 仮想サーバー２の管理サーバーに物理サーバー2を追加
そして、仮想サーバー2(RDS管理サーバー）にて、Add Serverでサーバーを追加します。

![スクリーンショット 2022-11-03 1.37.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/4d07fd1a-96bd-797f-9f8f-e82fdd30feb6.png)


### 物理サーバー２のRDSサーバーとして役割の追加とNWスイッチの設定
RDSの管理サーバーにて、Add RD Virtualization Host serversを選び、物理サーバー２を追加します。
![スクリーンショット 2022-11-03 2.56.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/cc3545d0-7f54-8ab2-86cf-4056af22e94c.png)

物理サーバー２を選びます。この時、画面下部の仮想スイッチの作成はOFFにします。
![スクリーンショット 2022-11-03 2.56.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c96ccedc-1bfd-83b5-a438-25cdca74b8db.png)

![スクリーンショット 2022-11-03 2.57.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/4360ba3a-ba24-5f4b-75d2-c9a083aa16ac.png)

追加が完了しました。
![スクリーンショット 2022-11-03 3.14.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/70ba4cab-ad42-2b6f-50f0-cfd18f0fcf82.png)

参考）物理サーバー2にHyper-Vが導入されているはずです。
物理サーバー2にログインして、Hyper-Vの仮想スイッチの設定を行います。設定方法は物理サーバー1と同じです。
![スクリーンショット 2022-11-03 3.15.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/b69b5042-1540-8c61-0815-b77e521a12c7.png)


＊仮想スイッチの対象がわからないときは、次の画面のようにNetworkの設定を確認し、Private NetworkのTeamedを選ぶ。
![スクリーンショット 2022-11-03 2.20.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/0f391080-d80d-9c6b-1d5c-1515e9f4c6ec.png)

物理サーバー1と同様に、仮想スイッチを作成後、仮想スイッチにポータブルIPの１つを割り当てする。

![スクリーンショット 2022-11-03 3.48.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/2dc08210-dc10-280f-1616-6862dc041587.png)
![スクリーンショット 2022-11-03 3.49.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/b3ecd033-da6a-cb92-7052-65445d660a2d.png)
Advancedを選ぶ
![スクリーンショット 2022-11-03 3.50.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/6e4f9296-37c3-2c90-9250-447ca35a88b4.png)

Addボタンを押し、Portable IPを追加する。
Metricが１ではない場合、１に変更しておく。

![スクリーンショット 2022-11-03 3.51.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/80bb4b00-985a-d4dc-c4aa-c8c5231808d6.png)


## 既存のCollectionにVMを追加する。
Addを選ぶ
![スクリーンショット 2022-11-03 3.23.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/b0b9ab73-e797-4d5e-85e2-4aafb1beaa9e.png)

増やす台数を設定する。今回は1台追加にします。
![スクリーンショット 2022-11-03 3.24.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/e9794759-acfc-adb9-e0cf-337e2acd3b83.png)

増加するVMの配置場所を決定します。
![スクリーンショット 2022-11-03 3.24.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/682ff2b8-94a2-47af-522e-1c8b0a07ddb8.png)

Createします。
![スクリーンショット 2022-11-03 3.25.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a4caff86-081e-e18a-507c-80cf132cf6e9.png)

##　物理サーバー1,2のVMの配置数を再構成するために新たにCollectionを作る

既存のCollectionが削除されていることを前提に進めます。
CollectionはRemove Collectionで削除できます。
ただし、User Profileも使えなくなるので、サーバー追加の時は既存にVM数を増やす方法をとったほうが良いです。
![スクリーンショット 2022-11-03 3.28.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/e58835a7-d9e9-0e12-57f8-663cf567e4f6.png)

Collectionを作ります。
![スクリーンショット 2022-11-03 3.29.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a651aafd-25f9-5be4-f228-d5bfb0f8ff38.png)

![スクリーンショット 2022-11-03 3.30.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/257ef6c4-8647-e7db-ca42-1e3ac6fca1f0.png)

![スクリーンショット 2022-11-03 3.30.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/672e2988-a803-4018-f3c6-c2dbc8b18abd.png)

![スクリーンショット 2022-11-03 3.30.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/8f35451d-e889-3396-2e40-9faa9981577f.png)

![スクリーンショット 2022-11-03 3.30.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/852cf73b-c1bd-bdfa-6516-8b2087d6c617.png)

![スクリーンショット 2022-11-03 3.31.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c8e63984-db4e-85d1-9d42-042d0117c3b9.png)

![スクリーンショット 2022-11-03 3.31.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/9095bd48-2237-e0bd-0fad-355b9c49d4c6.png)

![スクリーンショット 2022-11-03 3.32.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/40bbcf54-e04d-7dc7-5991-e6f634880f04.png)

![スクリーンショット 2022-11-03 3.32.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/36cee2d3-3a90-ce4b-1c7e-eecc995f5ab2.png)

![スクリーンショット 2022-11-03 3.33.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c727f4dc-f39b-6116-00ac-3de2c0449106.png)


![スクリーンショット 2022-11-03 3.33.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/b0d38213-7921-5f49-ca3b-429df2f1e367.png)

作成完了。
![スクリーンショット 2022-11-03 3.46.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/565f8e86-d190-7a99-2bd9-8a3e1e983091.png)


# Windows Remote Destkop Servicesを使った、仮想マシンへのアクセスの仕方
1.RD Webにアクセスし、リモートデスクトップのアクセス情報を取得。
2.アクセス情報のショートカットを修正
3.ショートカットを使ってRD Connection Brokerのサーバーにアクセス
4.RD Connection Brokerが適切な仮想マシンへ接続をリダイレクトし、接続完了する

## RD Webへのアクセスによるアクセス情報取得から、仮想マシンへの接続までの手順
RD Webをインストールしたサーバーにアクセスします。
https://10.x.x.x/RDWeb/

ログインのUserName ,Passwordは、少なくとも初期手順にあったADのOU内で作ったユーザーで試すことができます。
![スクリーンショット 2022-11-03 4.15.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c1685e59-e5be-7927-06f2-72c5671eb665.png)

Collectionを選ぶことで、対象端末にアクセスするショートカットがダウンロードされる。
![スクリーンショット 2022-11-03 4.16.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/1a3c365d-8e69-0138-801f-36d16a271e85.png)

ただし、ショートカットはRD Connection Serverのホスト名が記載されており、ローカルPCは名前解決できないので、ローカル端末のHosts編集あるいは、ショートカットの名前をRD Connection ServerのPrivate IPに変更する必要があります。

ホスト名をIPに変更した例(18、19行目参照）

![スクリーンショット 2022-11-03 4.19.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/a893c0fe-5361-4ee3-41b0-8d5dcc6f6222.png)

ショートカットを使ってログインできました。
![スクリーンショット 2022-11-03 5.35.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/4c9aa997-5511-cbae-0fca-b230e0202bba.png)

参考情報）RDSの内部的な振る舞い。
・ログインするとユーザープロファイルディスクがつくられます。
![スクリーンショット 2022-11-03 5.33.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/52573501-6fff-e792-e04a-4f299a0436bf.png)

・2ユーザーでログインした際にRDS管理画面を見ると、RD Connection Serverを踏み台にして、物理サーバー１と物理サーバー２の仮想マシンに分散して同時並行でログインができていることがわかります。
![スクリーンショット 2022-11-03 5.38.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/3d9b14fa-90af-a7a6-33f5-60f92c8c0976.png)

# 終わりに
今回は、RDS仮想化ホストの構築を行なってみました。
狙い通り、仮想サーバーと物理サーバーで実装ができました。
また、スケールアウトを想定した物理サーバーの追加と物理サーバー上の仮想マシンの追加も行なえることがわかりました。

細かい設定や運用監視については省略しているので、その辺りについても設計したい場合はシステム構築の専門家（SIベンダーなど）に相談するようにしましょう。

# 補足１：ポータブルサブネットのオーダー(*1)
サブネットの作成から、以下のような設定でオーダーすれば作れます。


![スクリーンショット 2022-11-02 11.43.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/c5e4744d-6a56-df8e-fcfb-1f6ea1a54bc9.png)
![スクリーンショット 2022-11-02 11.43.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/1857f2ff-5975-56a5-220f-39e06e44fac2.png)
![スクリーンショット 2022-11-02 11.43.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3168/22f01ca5-b5b8-9e0b-5574-8a75c07c4b14.png)

# 補足２：トラブル系情報
1.VMの作成時にOUへのアクセス権限が足りないというエラーが出る
・権限が不足しているかの確認方法
https://thewolfblog.com/2014/03/26/deploying-vdi-for-rds-2012-2012r2-part-i/

・あるいはADとRDS管理サーバーを同居している可能性。その場合、エラーになります。
https://ogawad.hatenablog.com/entry/20140630/1404142403


2.仮想スイッチが作成できない場合、以下の対応で解決できる可能性がある。
https://techgenix.com/resolving-problems-creating-a-hyper-v-virtual-switch/