この記事のWVDは”Windows Virtual Desktop Spring 2020 Release”が対象です。
Windows Virtual Desktop の検証でAzure AD Domain Services(AADS) を利用しています。 ただ一番安価なSTANDARD でも 16.8 円 / 時間、1か月730時間換算で12,264円 のコストが発生します。 個人で運営するブログなので結構大きな出費です。 というわけで Azure AD Domain Services の利用をやめてVirtual Machine 上にActive Directory Domain Services (ADDS) およびAzure AD Connect (AADC) を構築することにします。実は間違って Azure AD Domain Services のインスタンスを消してしまっただけなんですが。
最終的に以下の図の環境を構築します。今回は赤枠のVirtual Machine の購入までの記事となります。
まずはVirtual Machine をサイジングし、その後タイプの選定と買い方を決める必要があります。
Windows Server 2019 のシステム要件から1 vCPU、GUI付なら2GBメモリあたりが必要最低限のスペックであることがわかります。 1 vCPU の場合、Microsoft Update が動作するだけでCPU リソースが枯渇しスローダウンすることがあります。 2 vCPUにします。メモリは他アプリケーション(AADS と AADC)の使用量を考慮する必要があります。
Active Directory は公式ドキュメントを参考にしましょう。メモリは①データベースサイズ+②OS推奨(2GB)+③サードパーティアプリケーションです。 ①はユーザ数× 40-60KBなので今回の数ユーザしか作成しない環境では考慮不要です。 ③は今回でいえばAADC の使用メモリとなります。Azure AD Connect も公式ドキュメントを参考にします。 4GB メモリとのこと。 2 vCPU・8GB メモリのVirtual Machine が理想ですが検証環境なので 2 vCPU・4GB メモリのVirtual Machine の1台構成にします。 冗長化もしません。
次はVirtual Machine の選定です。 2 vCPU・4GB メモリを満たして安価なものはBs シリーズです。今回の用途的にも(Windows Virtual Desktop を利用するときにしか使わない)Bs シリーズはぴったりです。
あとは買い方です。 従量課金の場合6.9888円/時間、1か月730時間換算で5,102 円です(これに加えてディスクの月額料金も必要)。 Reserved Instance を適用すれば62% の割引で2,332円です。 使う時だけ起動するのが最もコストパフォーマンスが高いですが自分の性格(仮想マシンの停止を忘れる可能性大)を考えるとRI が良い感じです。
スポット も選択肢の1つです。 スポットですと 2 vCPU・4GB メモリのF2s v2 が2.2207円 / 時間、1か月730時間換算で1,622 円です。 2 vCPU・8GB メモリのD2 v3 では 3.4998円 / 時間、1か月730時間換算で2,555円 / 時間です。 スポットは安価なことの代償としてエビクション (割り当ての解除)があります。簡単に言えばAzure 側からVM を止められるというこです。 本来のActive Directory の位置づけからスポットは不適ですが、今回は意図的にスポットで構成することに決めました。 多少トラブルが起きたほうがノウハウになりますし。 Virtual Machine が再割り当てになればIPアドレスも変わって色々問題が出そうですがまあ何とかなるでしょう。
それではスポットVM を購入します。 マニュアルはこちら。
Azure Portal からは通常のVirtual Machine と同じ手順(画面)で進めます。 Image の下に”Azure Spot Instance”があります。 ここで”Yes” を指定します。
Yes を指定すると”Eviction type”と”Eviction policy” のメニューが表示されます。詳しくはマニュアル。
スポットに対応しないものは指定できません。以下はBs シリーズを指定した例。 “This size does not support Azure Spot.” とメッセージで未対応であることを教えてもらえます。
スポットで値引き幅が大きくなった分、2 vCPU・8GB メモリのD2 v3 を指定します。 1時間で$0.02534 です。 ”Maximum price you want to pay per hour (USD)” はグレーアウトで変更は出来ません。 “Eviction type”に”Capacity only” を指定しているためです。
残りのはパラメータは通常のVirtual Machine と共通なので割愛します。
問題なくリソースの作成が完了しました。
サインインできるところまで確認します。 Virtual Machine にPublic IP は付与していないのでBastion 経由で接続します。
”Use Bastion” をクリックします。
Subnet が条件に合っていないよとエラーになっています。
“AzureBastionSubnet”の名前でsubnet を追加します。
“Create” します。
Bastion の作成が完了すると以下のスクリーンショットのとおり、接続可能な状態となります。 Username と Password を入力し”Connect” を接続します。
コンピュータ名 adds2019 として起動しました。
この後のActive Directory と Azure AD Connect のインストールに向けて以下を実施します。(手順は割愛)
- Microsoft Update を有効化し、最新パッチを適用
- Time zone をUTC から+09:00 へ変更
- 表示言語は今回は変えず (最近英語を勉強しているから、ただそれだけ)
今回はここまで。 次回は Active Directory Domain Service を構築します。