Amazon WorkSpaces と Azure Virtual Desktop 比較 ～Azure Virtual Desktop事前準備編～

Amazon WorkSpaces(以下、WorkSpaces)と Azure Virtual Desktop(以下、AVD)シリーズの4本目です。
1本目は記事はこちら
[Amazon WorkSpaces と Azure Virtual Desktop 比較 ～Amazon WorkSpaces事前準備編～](https://qiita.com/hidekko/items/c350d6dcc606247dd0a2)
2本目は記事はこちら
[Amazon WorkSpaces と Azure Virtual Desktop 比較 ～Amazon WorkSpaces構築編～](https://qiita.com/hidekko/items/24e2f3e75d222c9e632e)
3本目の記事はこちら
[Amazon WorkSpaces と Azure Virtual Desktop 比較 ～Amazon WorkSpaces MFA実装編～](https://qiita.com/hidekko/items/f3c8d1ec492b60ea7e20)

本記事はAVDの事前準備として、~~Azure AD Connectの構築~~もとい、Azure AD クラウド同期の構築を行います。

# Azure AD Connectとは？
オンプレミスのActive DirectoryとAzure ADとを連携させるアプリケーションです。
連携って何ですか？という疑問があるかと思うんですが、Active DirectoryのユーザアカウントをAzure ADに作成してくれます。
認証そのものはActive Directoryで行う**パススルー認証**と、Azure ADで行う**パスワードハッシュ認証**の2つから選べます。
それぞれ利点がありますが、今回はパスワードハッシュ認証、<font color="Red">Azure AD内にActive Directoryのユーザアカウントだけでなく、パスワードも同期させる方法を選択します。</font>
パススルー認証はパスワードは同期させず、ユーザアカウントのみを認証させる方法となります。

# Azure AD クラウド同期とは？
Azure AD Connectを構築しようとしたら、Azure AD クラウド同期なるものを見つけました。
Azure AD Connectもそんなに難しくないんですが、Azure AD クラウド同期はもっと簡単でした。
Azure AD ConnectはIaaSにエージェントをインストールするタイプなので冗長構成が面倒だなと思っていたんですが、Azure ADクラウド同期はDomain Controllerにエージェントをインストールするだけです。
細かな設定はAzure AD ConnectのようにAzure AD Connectサーバで行うのではなく、Azure AD側で行います。
元々Azure AD Connectで同期を行おうと思っていましたが、今回はAzure ADクラウド同期で環境を構築してみます。
今回エンタープライズのユーザ向けの構成を考えているので冗長構成は外せないのですが、Azure AD Connectでは「冗長構成を組むのが面倒」と記載しようと思っていたのですが、Azure ADクラウド同期は簡単に冗長化できます。
https://learn.microsoft.com/ja-jp/azure/active-directory/cloud-sync/how-to-prerequisites?tabs=public-cloud#cloud-provisioning-agent-requirements
公式サイトだとこのように記載がありますので、3台以上Domain Controllerがあればこの3台にAzure ADクラウド同期のエージェントをインストールしましょう。
どれか1台のエージェントが停止しても、他の2台のうちどちらか1台で自動的に同期を行ってくれます。

ただAzure AD Connectでできたことが全てできるわけではないので、この記事を読んで「Azure AD ConnectからAzure AD クラウド同期に乗り換えてみよう！」はトラブルの元なので、事前に検証を行ってからにしましょう。

# Azure AD クラウド同期の構成図
本記事の初回アップロード時には構成図が抜けていたので、追記しました。
といってもまぁ、構成図ってほどでもないんですけどね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/859e9d07-eb38-91e5-41e7-a27e874b11a5.png)
もう、ホントにドメインコントローラーからAzure ADにID(ユーザーアカウント)を同期するだけ。
構成図書いてて思ったのは、今回敢えて注意点を挙げるとするならば、**Active Directoryのドメインコントローラーがインターネット接続できる状態にしないと構築できない**ってことくらいでしょうか？
それくらい簡単です。

# Azure AD クラウド同期の構築
またしても前置きが長くなりましたが、Azure AD クラウド同期を構築していきましょう。

## Azure AD クラウド同期のエージェントのダウンロード
Azure Portalにログインして[Azure AD]を選択し、[Azure AD Connect]を選択、画面内の[Azure AD クラウド同期を管理する]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/ba99a678-466b-dc00-7fd9-50b40d29ffe9.png)

[エージェントのダウンロード]をクリックすると、ブラウザに設定されたダウンロードフォルダにエージェントがダウンロードされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/6ab4f953-d208-0a9a-40b1-359670e67b50.png)

## Azure AD クラウド同期のエージェントのインストールと設定
ダウンロードしたエージェントのインストーラーをドメインコントローラーの任意の場所に配置し、管理者権限で実行しましょう。
最初はライセンス許諾を聞いてくるので、[I agree~]にチェックを入れて
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/383bec80-f2c9-41e4-6471-14e3bd468859.png)
[Install]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/5619c6ad-9660-14ad-4446-cdc80a233af9.png)
プログレスバーが進むので少々お待ちください。
マシンスペックにもよりますが1分弱くらいですかね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/2327c1f4-1fbe-6c78-9791-28ece8647ee3.png)
Azure AD Connectのインストール画面と似たような画面が上がってきますが、下の方に[Provisioning Agent]の文字がありますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/6ab754d0-58aa-96f6-ec4d-9cbf655a220f.png)
Azure AD Connect provisioning agentのインストールですよ
・オンプレミスのActive DirectoryからAzure ADへIDをAzure AD クラウド同期で同期しますよ
みたいなことが書いてるので、[Next]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/8dc92053-8f07-2573-10a7-adf265f24f34.png)
おなじみのAzure ADへのログイン画面が起動してきますので、同期対象(同期先)のAzure AD全体(グローバル)管理者権限をもつユーザのID、パスワードを入力してインストールしましょう。
蛇足ですが、Azure AD ConnectのインストーラーだとこのWebブラウザのログイン画面はデフォルトでは起動しません。
単純なID、パスワードだけの認証画面しか対応していません。
Azure AD Connectでこの画面を起動しようとすると、Azure AD Connectのインストーラー起動をコマンドから行い、引数で
```
-InteractiveAuth
```
と追加しなければなりません。
このWebブラウザのログイン画面が出てきて何のメリットがあるのかというと、全体管理者権限を持つユーザは多要素認証を行っていることが多く、Webブラウザのログイン画面でないと多要素認証、特にアプリ認証や電話番号認証の場合対応できると言うメリットがあります。
Azure AD クラウド同期だとデフォルトでこのWebブラウザのログイン画面が上がってくるあたり、<font color="Red">**Microsoft始まってるな！**</font>と思わされます。
話が脱線しましたので元に戻します。
ログインが終わると以下の画面が出てきて、ボタンが[Authenticate]と[Previous]しかありませんが、何もせずに30秒から1分くらい待ちます。
すると・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/7543be3a-f718-7fb6-3459-f7d55493f14b.png)
勝手に画面が切り替わって、」以下のようにActive Directoryのドメイン管理者権限のID、パスワードの入力を求める画面が出てきます。
[Create gMSA]と[Use custom gMSA]を選択肢が出てきますが、今回は[Create gMSA]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/b24eb586-362d-5caf-9186-b9218593db30.png)
少しインストール画面から離れてしまいますが、**この[gMSA]ってなんやねん**ってなると思うんですが、Azure AD Connectでいうところの、皆様おなじみMSOL_~のユーザにあたるActive Directory内の情報を読み取ってくれるオブジェクトになります。
Azure AD ConnectのMSOL_~はユーザオブジェクトでしたが、今回のgMSAはユーザオブジェクトではありません。
とりあえずドメイン管理者のID、パスワードを入力して[Next]をクリックしましょう。
しかも、この画面、ドメインコントローラ―で作業を行うのでドメイン管理者権限で作業を行っていると思いますが、ドメイン管理者権限で作業を行うとこのID、パスワードを入力画面すらしばらく待ってたら勝手にスキップしてくれます。
<font color="Red">**ユーザのインストール作業を簡便にしてくれるMicrosoftさん、どうしたんすか？
なんかあったんすか？
めっちゃ始まってますやん。**</font>
思いっきり大阪弁が出てしまいました。
再び話をインストール作業に戻します。

**「Azure ADに同期するのはこのActive Directoryのドメイン名で良いよね？」**
という確認画面が出てくるので[Next]をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/f4a0a8ad-ce33-b4a6-304e-e41475470cec.png)

確認画面が出てきますが、確認項目めっちゃ少ないです。
[Confirm]ボタン押しちゃいましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/3d993bbb-1d38-f021-3381-94a335a7608c.png)

はい。
これでインストール作業は終わりです。
<font color="Red">はやっ！</font>

## Azure AD クラウド同期のAzure AD側設定画面
はい。
続いてAzure AD側の作業になるのでAzure Portal上で設定を行っていきます。
でもその前に、まずはAzure ADクラウド同期設定前にAzure AD内のユーザを確認しましょう。
既にオンプレミスと同じユーザ名を作成していたりするとややこしいので、事前の確認です。

Azure Portalにログインし、[Azure AD]から[ユーザ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/6b1b6c08-f9b2-330b-3510-4d0708208677.png)
今Azure ADに登録されているユーザ一覧が表示されます。
少ないですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/5107940c-596b-b812-2fd8-9f3d264e945f.png)
再びAzure ADの画面から[Azure AD Connect]を選択し、[Azure ADクラウド同期を管理する]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/96a3d786-edb0-ed54-b65d-71151d21f9ad.png)
[すべてのエージェントの確認]をクリックすると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/b56624c5-d858-89dd-beaa-70307033a0be.png)
なんと！<font color="Red">赤枠内</font>にAzure ADクラウド同期のエージェントをインストールしたドメインコントローラ―のFQDNが！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/d6a9d21a-6293-879b-3ff5-c3d21e145f8b.png)
ちなみに[外部IP]は自宅のグローバルIPアドレスが出てきました。
今回は自重してマスキングしました。
ではこの1つ前の画面に戻って、今度は[+新しい構成]をクリックしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/ca67455d-53a0-334b-9682-9f5f238758cb.png)
**はい！ここで設定画面出てきましたが、項目は2つ！少ない！
しかも1つはActive Directoryのドメイン名の確認！**
<font color="Red">**実質1つ！
素晴らしい！
ユーザフレンドリー！**</font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/b6e07d91-35d6-8e14-5608-c2958a344059.png)
はい。
[作成]をクリックしてしまいましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/211ea54b-c843-6d60-f3af-aa7980a51966.png)
しばらくすると以下の設定画面が出てきます。
本格的な設定画面ですが・・・それでも設定項目は少ないです。
またしても[パスワードハッシュ同期]の有効化/無効化のチェックボックスと、[通知用メール]なる設定値です。
この[通知用メール]は入力しなくてもOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/2065c2db-62e6-272c-6cff-56a5c046f3f9.png)

最後の[配置]の設定値を[有効にする]を選択すると画面上部の[保存]ボタンが有効化されますので、[保存]しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/c294ba55-242d-29dc-3dbc-8fa92f21fd27.png)

<font color="Red">**え！？
以上なの！？
マジで！？**</font>

はい。
マジです。

脱線したり大阪弁が出てきたりしてますが、これだけうだうだやってもAWS Directory ServiceのAD Connctorの構築の文章量からすればすごく短くなるんですよ。
それだけ構築が簡単ってことです。

## Azure ADにActive Directoryのユーザが同期されたか確認
はい。
確認作業です。
大事ですね。
しばらく時間はかかりますが、ちゃんと同期されます。
Azure ADのユーザ画面を見てみると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/87b5352b-4642-ce99-8a80-94f88a3d466c.png)
はい。
<font color="Red">赤枠</font>がオンプレミスから同期されたアカウント、<font color="Blue">青枠</font>が、オンプレミスから同期されたユーザをAzure AD上に作成する役割を持つAzure AD上のアカウントです。

## Active Directory側の確認
またActive Directory側でも何か変化が無いか確認してみます。
Azure AD Connectでは上述の通りMSOL_~というユーザができていましたが、Azure AD クラウド同期ではどうでしょうか？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/727d9c76-c378-1f9c-5f27-11b97b2f6653.png)
<font color="Red">あ、なんかいる！</font>
できてますね。
Azure AD Connectのユーザアカウントより分かりやすいですね。
OUも分かれてますし。
これで間違って削除してしまった、なんてことは少なくなると思います。

はい。
これでAzure AD クラウド同期のインストール作業、AVDの事前準備は終わります。
1本目は記事の[Amazon WorkSpaces と Azure Virtual Desktop 比較 ～Amazon WorkSpaces事前準備編～](https://qiita.com/hidekko/items/c350d6dcc606247dd0a2)と比べると、圧倒的に文書量が少ないです。

それだけ簡単ってことです。

今回はこれまで。