AD Connector で Amazon WorkSpaces ドメイン参加【第1回】
テレワーク全盛な昨今、AWS における DaaS (Desktop as a Service) といえば「Amazon WorkSpaces」ですが、自社の物理PCの代わりに WorkSpaces を使うようにするためには、既存の Active Directory ドメインサービスに参加させる必要があります。そこで、今回は EC2 インスタンス上に構築した AD ドメインサービスに、 AD Connector を利用して WorksSpaces を参加させてみたいと思います。
尚、「AWS EC2 でドメインコントローラ構築【第1回】」、「AWS EC2 でドメインコントローラ構築【第2回】」を前提として書いているので、そちらから参照ください。
今回は、AD Connector を定義するところまでを行います。
AD Connector とは
AD Connector とは Active Directory Connector のことで、AWS 上の色々なリソースから既存の Active Directory ドメインサービスへアクセスするための中継機能です。クラウド全盛だけど、AD だけはオンプレで、とか EC2 インスタンス上に既に AD 構築してます、とか、そういうときに使います。
AWS Directory Service には、AD Connector 以外にも「Microsoft AD」と「Simple AD」があります。これらはいずれもマネージドディレクトリ(簡単に言えば、既に環境として整備されていて後は使うだけ、みたいなディレクトリサービス)です。本家には以下のような説明がありますが、規模というか、どう使いたいかによって使い分けるみたいですね。
Simple AD は Samba 4 Active Directory Compatible Server を利用したマネージドディレクトリです。Kerberos の SSO、ドメイン参加したコンピュータ、グループポリシーベースの管理といった Microsoft Active Directory の機能のサブセットが提供されます。Microsoft AD はマネージド型の Microsoft Active Directory で、Windows Server 2012 R2 を利用して他のドメインとの信頼関係、Active Directory Administrative Center、Active Directory ゴミ箱、Network Policy Server サポート、およびスキーマ拡張といった追加機能が提供されます。
Q: Simple AD と Microsoft AD との違いは何ですか?
まずは AD Connector の前提条件に記載の内容を準備していくことになります。
AD Connector 前提条件の確認
VPC
まずは VPC の準備を行います。
・少なくとも 2 つのサブネット。各サブネットはそれぞれ異なるアベイラビリティーゾーンにある必要があります。
VPC ~ AD Connector の前提条件
現状、サブネットは「MY-SUBNET1-1a」のひとつのみなので、もうひとつ追加しましょう。

「サブネットを作成」より、アベイラビリティーゾーン ap-northeast-1c とした「MY-SUBNET1-1c」を作成します。

次の条件は以下ですが、オンプレのADに接続する場合は「既存のネットワークに接続」する必要がありますが、今回は同じ VPC 上の EC2 インスタンスに構築した AD への接続なので問題ないです。
・VPC は、仮想プライベートネットワーク (VPN) 接続または AWS Direct Connect を通じて既存のネットワークに接続されている必要があります。
VPC ~ AD Connector の前提条件
次の条件は以下です。
・VPC にはデフォルトのハードウェアテナンシーが必要です。
VPC ~ AD Connector の前提条件
これはデフォルトにしてるので問題ないです。

既存の Active Directory
こちらに記載している条件はクリアしていますね。
Active Directory ドメインを持つ既存のネットワークに接続する必要があります。
このドメインの機能レベルは
既存の Active Directory~ AD Connector の前提条件Windows Server 2003
以上 AD Connector は Amazon EC2 インスタンスでホストされているドメインへの接続にも対応しています。
サービスアカウント
次に AD Connector が、既存ADにアクセスするためのサービスアカウントが必要になります。条件は以下ですが、「権限をサービスアカウントに委任する」にその手順が記載されていますので、そちらに沿って実施します。
・ユーザーおよびグループの読み取り – 必須
サービスアカウント~ AD Connector の前提条件
・ドメインへのコンピュータの参加-シームレスなドメイン参加と WorkSpaces を使用する場合のみ必須
・コンピュータオブジェクトの作成-シームレスなドメイン結合と WorkSpaces を使用する場合のみ必須
まず、既存ADにセキュリティグループ「Connectors」を作成します。

次にドメインルートから右クリックで「制御の委任」を選択します。

オブジェクト制御の委任ウィザードが開始されます。「次へ」で進みます。

「追加」ボタンで先ほど作成したセキュリティグループ「Connectors」を選択し「次へ」で進みます。

委任するタスクでは「委任するカスタムタスクを作成する」を選択し、「次へ」で進みます。

「フォルダー内の次のオブジェクトのみ」を選択し「コンピューターオブジェクト」と「ユーザーオブジェクト」を選択してください。「選択したオブジェクトを~」のチェックボックスはいずれもオンにしてください。

アクセス許可は「プロパティ固有」を追加し「読み取り」権限にチェックします。

あとは「完了」で、Connectors に制御の委任ができます。

最後にサービスアカウント「ADConnectorService」を追加して、上記で作成したセキュリティグループ「Connectors」に所属させます。


ユーザーアクセス許可
Active Directory ユーザの権限についてですが、これはデフォルトで満たしているので、特に何もしません。
すべての Active Directory ユーザーは、各ユーザー独自の属性を読み取るアクセス許可を持っている必要があります。具体的には次の属性があります。
ユーザーアクセス許可~ AD Connector の前提条件
・GivenName
・SurName
・SamAccountName
・UserPrincipalName
・UserAccountControl
・MemberOf
IP アドレス
今回構築している AD ドメインサービスは、DNSサーバも同居させているので、こちらも特に何もしません。
AD Connector は、
IPアドレス~ AD Connector の前提条件_ldap._tcp.
および<DnsDomainName>
_kerberos._tcp.
ディレクトリに接続するときに、これらのサーバーからの SRV レコードを取得します。そのため、これらのサーバーにこれらの SRV レコードが含まれている必要があります。<DnsDomainName>
サブネット用のポート
AD ドメインサービスに対する通信ポートに関しては以下を満たす必要があります。
AD Connector で既存の Active Directory ドメインコントローラーにディレクトリリクエストをリダイレクトするには、既存のネットワークのファイアウォールで Amazon VPC の両方のサブネットの CIDR に対して次のポートが開かれている必要があります。
サブネット用のポート~ AD Connector の前提条件
・TCP/UDP 53 – DNS
・TCP/UDP 88 – Kerberos 認証
・TCP/UDP 389 – LDAP
つまり、今回のケースですとドメインコントローラとして構築した EC2 インスタンス に適用されているセキュリティグループにおけるインバウンドのポートを許可してあげる必要があるということになりますが、現時点では、"RDP"のみしか許していません。追加で上記のポートを開けてあげるでも良いのですが、同一VPC内での通信は全部許可しておきます。
「サービス」→「EC2」→「セキュリティグループ」にて、セキュリティグループ「MY-Sercurity-Group」のインバウンドルールにて「Edit inbound rules」を選択し、新たにVPC「MY-VPC」の CIDR である「10.0.0.0/16」からの通信に対して「すべてのトラフィック」を許可するルールを追加します。

Kerberos 事前認証
Kerberos 事前認証はデフォルトで有効になっていますので、こちらも特に何もしません。
ユーザーアカウントの Kerberos 事前認証を有効にしておく必要があります。この設定を有効にする方法の詳細については、「Kerberos 事前認証が有効になっていることを確認する」を参照してください。この設定に関する一般的な情報については、Microsoft TechNet の「事前認証」を参照してください。
Kerberos 事前認証 ~ AD Connector の前提条件
各ユーザのプロパティの「アカウント」で「Kerberos 事前認証を必要しない」にチェックが入っていなければ、有効になっているということになります。(ややこしいですが、、、)

暗号化タイプ
こちらも問題ないので特に何もしません。
AD Connector は、Active Directory ドメインコントローラーへの Kerberos を介した認証時に、以下のタイプの暗号化をサポートしています。
暗号化タイプ ~ AD Connector の前提条件
・AES-256-HMAC
・AES-128-HMAC
・RC4-HMAC
AD Connector の作成
ここまででやっと AD Connector が作成できるようになりました。AWSコンソールから「サービス」→「Directory Service」→「ディレクトリ」を選択します。初期状態であればディレクトリが何もない状態なので「ディレクトリのセットアップ」を選択します。

ディレクトリのタイプ「AD Connector」を選択します。

ディレクトリのサイズは「スモール」です。

VPC は「MY-VPC」、サブネットは最初に作成した「MY-SUBNET1-1a」と後から作成した「MY-SUBNET1-1c」をそれぞれ選択します。

次に AD への接続情報を入力します。DNS IP アドレスは、AD ドメインサービスを構築したサーバと同じプライベートアドレスを入力してください。

入力した値を確認して「ディレクトリの作成」を実行します。

少し時間がかかりますが、ディレクトリのステータスが「作成中」から「アクティブ」になったら完了です。

ちなみに、AD Connector の接続先となる EC2 インスタンスを停止しているときには、このステータスは「操作不能」となります。詳細の画面上はエラーメッセージが表示されていますので、こちらで原因は確認してください。別に作り直す必要はなくて、EC2 起動してしばらくすれば、また「アクティブ」に戻ります。

尚、AD Connector のテストは「DirectoryServicePortTest」を使うと良いみたいです。公式の管理ガイドに使い方などの記載があるので参考にしてください。
『AWS Directory Service 管理ガイド ~ AD Connector をテストする』
本来は、この後に AD Connector の動作確認が必要と思いますが、今回は省略します。次回 WorkSpaces と連携させてみようと思います。
関連
AWSActive Directory,AD Connector
Posted by takmaru
関連記事

AD Connector で Amazon WorkSpaces ドメイン参加【第2回】
前回からの続きです。今回は Amazon WorkSpaces を起動し、AD ...

AWS EC2 でドメインコントローラ構築【第1回】
多くの企業では既に ActiveDirectory(AD) を導入し、社内PCの ...

AWS Microsoft AD で Amazon WorkSpaces ドメイン参加
前回の記事「AWS Microsoft AD と既存 AD との信頼関係」で作成 ...

AWS EC2 でドメインコントローラ構築【第2回】
前回からの続きです。 インスタンスへの接続 最初に前回作成した EC2 インスタ ...

AWS Microsoft AD と既存 AD との信頼関係
「AD Connector で Amazon WorkSpaces ドメイン参加 ...
ディスカッション
コメント一覧
まだ、コメントがありません