Active Directory Connectorを利用して自己管理型ADサーバーへシームレスにドメイン参加してみた

AWS

2023.12.18

Topics

はじめに

こんにちは、第三SAチームのamaebiです。
この記事はNHN テコラス Advent Calendar 2023の18日目の記事です。

今回は、Active Directory Connectorを利用して自己管理型ADサーバーへシームレスにドメイン参加させる方法について紹介します。

シームレスなドメイン参加の必要性

では、なぜシームレスなドメイン参加を使用する必要があるのか。
その必要性について説明します。

通常、自己管理型ADサーバーへのドメイン参加を行う際は、手動で行う場合が一般的です。

手動でのドメイン参加手順

概要

コンピューターをドメインに参加させるには

  1. デスクトップで [スタート] ボタンをクリックし、「Control Panel」と入力して Enter キーを押します。
  2. [システムとセキュリティ] に移動し、[システム] をクリックします。
  3. [コンピューター名、ドメインおよびワークグループの設定] で [設定の変更] をクリックします。
  4. [コンピューター名] タブで、[変更] をクリックします。
  5. [所属するグループ] の下で [ドメイン] をクリックし、このコンピューターを参加させるドメイン名を入力して、[OK] をクリックします。
  6. [コンピューター名/ドメインの変更] ダイアログ ボックスで [OK] を クリックし、コンピューターを再起動します。

出典:コンピューターをドメインに参加させる

その他の手順(DNS設定)

自己管理型ADサーバーとDNSサーバーが兼務していることが多いため、大抵の場合は自己管理型ADサーバーのIPアドレスを優先DNSサーバーのIPアドレスとして指定します。

手動でのドメイン参加はそこまで複雑な手順を踏むわけではありません。
更に、以下の内容を行う場合は、敢えて手動でのドメイン参加を選ぶケースも存在します。

  • 数台のみのインスタンスを自己管理型ADサーバーにドメイン参加させる場合
  • ドメイン参加させる際に、何かしらの特別な操作をしなればいけない場合
  • 手動でのドメイン参加に慣れている場合

しかし、検証などで新規に作成したWindows Server(EC2)をドメイン参加させる際、何度も何度も同じ手順を踏むのはとても手間です。
ちょっとした工数でもドメイン参加させるインスタンス数が増えれば、莫大な工数になってしまいます。
そんな時に、シームレスなドメイン参加が役立つのです。

では、どうすればシームレスなドメイン参加が行えるのか。
そこで必要になってくるサービスがドメイン結合ディレクトリになります。

ドメイン結合ディレクトリ

ドメイン結合ディレクトリとは、Windows Server(EC2)を起動する際、既存のAWS Directory Serviceを選択することで、自動的にドメイン参加させることができるサービスになっております。
EC2インスタンスの起動画面から高度な詳細を開き、最初の項目にドメイン結合ディレクトリがあります。

しかし、ドメイン結合ディレクトリを使用する際に、一点注意しなければいけないことがあります。
それは、マネージド型ADサーバー(AWS Directory Service)でしか連携が取れないという点です。
今回使用するADサーバーは、自己管理型ADサーバーのため、ドメイン結合ディレクトリを使用して直接Windows Server(EC2)と自己管理型ADサーバーの結合を行うことができません。そのため、Windows Server(EC2)と自己管理型ADサーバーの間に、Active Directory Connectorを中継する必要があります。

Active Directory Connector

AWS Directory Serviceのサービスの一つであるActive Directory Connector(以下、AD Connectorと略します)を利用します。

概要

AD Connector は、クラウド内の情報をキャッシュせずにディレクトリリクエストをオンプレミスの Microsoft Active Directory にリダイレクトするために使用できるディレクトリゲートウェイです。AD Connector には、スモールとラージの 2 つのサイズがあります。小さな AD Connector は、小規模な組織向けに設計されており、1 秒あたり少数のオペレーション数を処理することを目的としています。大きな AD Connector は、大規模な組織向けに設計されており、1 秒あたり中程度から多数のオペレーション数を処理することを目的としています。パフォーマンスのニーズに合わせてスケーリングし、複数の AD Connector 間でアプリケーションの負荷を分散させることができます。適用されるユーザー制限や接続制限はありません。
出典:Active Directory Connector

今回は、AD Connectorを介して自己管理型ADサーバーへのシームレスなドメイン参加を行います。(今回の検証環境では、オンプレミスのADサーバーを使用することが困難なため、代わりにEC2を使用します。)

上の構成図のようにAD Connectorを作成し、自己管理型ADサーバーとAD Connectorを連携させます。その後、新しいWindows Server(EC2)を作成する際に、ドメイン結合ディレクトリを使用して、AD Connectorに対するドメイン参加を行います。

前提条件

AD Connectorを作成する際に、前提条件として下記の確認が必要です。(公式ドキュメントから一部抜粋しております。)
細かい前提条件を確認したい場合は、公式のドキュメントを参照してください。

前提条件

  • VPC
    • 少なくとも 2 つのサブネット。各サブネットはそれぞれ異なるアベイラビリティーゾーンにある必要があります。
    • VPC にはデフォルトのハードウェアテナンシーが必要です。
  • サービスアカウント
    • ユーザーおよびグループの読み取り
  • サブネット用のポート
    • TCP/UDP 53 – DNS
    • TCP/UDP 88 – Kerberos 認証
    • TCP/UDP 389 – LDAP

出典:AD Connector の前提条件

手順

手順は以下になります。

  1. AD Connector用のグループ、サービスアカウント作成
  2. AD Connector作成
  3. Windows Server(EC2)の作成とシームレスなドメイン参加

ではより具体的に見ていきましょう。

AD Connector用のグループ、サービスアカウント作成

AD Connector専用のOUを作成します。

ADサーバーのドメインを選択し、右クリックから新規作成 > 組織単位(OU)を選択します。

任意のOU名を入力し、OKを押します。
※必須項目ではございませんが、個人的に“間違って削除されないようコンテナーを保護する”のチェックボックスにチェックを入れることをおすすめします。

次にAD Connectorに接続するためのグループを作成します。

グループ”に、以下の内容を設定し、作成します。

グループ名 Connectors
グループのスコープ グローバル
グループの種類 セキュリティ

ADサーバーのドメインを選択し、右クリックから“制御の委任”を選択します。

上記の画面になりましたら、次へに進みます。

追加から、先ほど作成したグループ(Connectors)を選択します。その後、Connectorsが選択されていることを確認したら、次へに進みます。

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

フォルダー内の次のオブジェクトのみを選択し、“コンピューター オブジェクト”と“ユーザー オブジェクト”の2つを選択します。その他に、以下の項目(選択されたオブジェクトをこのフォルダーに作成する選択されたオブジェクトをこのフォルダーから削除する)のチェックボックスにチェックを入れ、次へに進みます。

全般プロパティ固有のチェックボックスにチェックを入れ、アクセス許可で“読み取り”、“書き込み”を選択します。その後、次へに進みます。

全ての内容を確認し、間違いがなければ完了を選択します。

最後にAD Connectorに接続するためのサービスアカウントを作成します。

ユーザー”に、以下の内容を設定し、作成します。
※名を記述しておりませんが、こちらの項目を記述しても問題ございません。

ConnectorUser
フル ネーム ConnectorUser
ユーザーログオン名 ConnectorUser

任意のパスワードを入力し、“パスワードを無期限にする”のチェックボックスにチェックを入れ、次へを選択します。

上記の内容に間違えが無ければ、完了を選択します。

サービスアカウントに対して先程作成したグループを追加します。ここまでできましたら、AD Connector用のグループ、サービスアカウント作成は完了です。

参照:AD Connector の前提条件

AD Connector作成

マネジメントコンソール > Directory Service > ディレクトリ > ディレクトリのセットアップ を選択します。

AD Connectorを選択し、次へに進みます。

ディレクトリのサイズスモールにして、次へに進みます。

サブネットが2つ以上存在するVPCを選択し、サブネットを2つ選択して、次へに進みます。今回は、両方ともパブリックサブネットを指定しています。

Active Directory 情報に、以下の内容を設定します。

ディレクトリのDNS名 自己管理型ADサーバーのDNS名
ディレクトリのNetBIOS 名 自己管理型ADサーバーのNetBIOS名
DNS IP アドレス 自己管理型ADサーバー兼DNSサーバーのプライベートIPアドレス
サービスアカウントのユーザー名 先程作成したユーザー名
サービスアカウントのパスワード 先程作成したユーザーのパスワード
パスワードを確認 先程作成したユーザーのパスワード

NetBIOS名の確認方法として、nbtstat -nというコマンドがあります。
自己管理型ADサーバーにログインし、コマンドプロンプトから先程のコマンドを入力するとNetBIOSのリストが一覧で表示されます。
基本的に、NetBIOS名はドメイン名の短縮名を使用します。
下記の実行例を参考にしてください。

(例)ドメイン名:example.local

C:\Users\Administrator>nbtstat -n

イーサネット x:
ノード IP アドレス: [x.x.x.x] スコープ ID: []

                NetBIOS ローカル ネーム テーブル

       名前               種類         状態
    ---------------------------------------------
    コンピュータ名 <00>  一意          登録済
    example        <00>  グループ        登録済   ←こちらのNetBIOS名を使用します。
    example        <1C>  グループ        登録済   ←こちらのNetBIOS名を使用します。
    コンピュータ名 <20>  一意          登録済
    example        <1B>  一意          登録済    ←こちらのNetBIOS名を使用します。

C:\Users\Administrator>

上記の内容に間違いがなければ、ディレクトリの作成を選択して作成します。ステータスアクティブになりましたら、AD Connector作成は完了です。

Windows Server(EC2)の作成とシームレスなドメイン参加

ドメイン結合ディレクトリを使用するために、IAMロールを作成します。

マネジメントコンソール > IAM > ロール > ロールの作成 を選択します。

信頼されたエンティティタイプからAWS のサービスを選択します。
ユースケースは、EC2を選択し、次へに進みます。

許可ポリシーから“AmazonSSMDirectoryServiceAccess”ポリシーと“AmazonSSMManagedInstanceCore”ポリシーを選択して、次へに進みます。
参照:Windows EC2 インスタンスにシームレスに接続する

ロール名説明を記述し、選択した内容が間違っていないことを確認したら、ロールを作成を選択します。

IAMロールが作成できたら、マネジメントコンソール > EC2 > インスタンス > インスタンスを起動 を選択します。
※重要な箇所のみをピックアップして説明しますので、インスタンスタイプやストレージ設定などの説明しないところは任意で設定してください。

任意のインスタンス名を記述し、AMIは任意のWindows Server OSを選択してください。
※古すぎなければなんでもいいです。

ネットワーク設定は、必ずAD Connectorが存在するVPCとサブネットを選択してください。

高度な詳細からドメイン結合ディレクトリの項目には、先ほど作成したAD Connectorを選択し、IAM インスタンスプロフィールの項目には、先ほど作成したIAMロールを選択します。
全ての項目の確認が完了したら、インスタンスを起動を選択します。

作成したインスタンスが正常に起動したら、実際にドメイン参加できたか確認します。
作成したWindows Server(EC2)にログインし、WindowsキーRキーを同時に押して、ファイル名を指定して実行を起動します。
入力欄にsysdm.cplと入力して、OKを選択するとシステムのプロパティを開くことができます。

新規で作成したWindows Server(EC2)のドメイン名の項目が、自己管理型ADサーバーのドメイン情報になっているか確認してください。

新規で作成したWindows Server(EC2)のドメイン参加できたかの確認画面

自己管理型ADサーバーのユーザーとコンピューターからComputers項目を選択します。
そこから、新規で作成したWindows Server(EC2)のコンピューター名が記述されているか確認してください。

自己管理型ADサーバーのドメイン参加できたかの確認画面

全ての項目の確認が終わりましたら、Windows Server(EC2)の作成とシームレスなドメイン参加は完了です。

最後に

ドメイン結合ディレクトリとAD Connectorを使用することで、シームレスにドメイン参加することができます。
AD Connectorの費用が心配な場合でも、AD Connector用のサービスアカウントを残していればいつでもAD Connectorを作成し、シームレスなドメイン認証が行えます。
検証を行う際に、いつか誰かのお役に立てれば幸いです。

amaebi

amaebiと申します。平日は技術を学び、休日にゲームセンターに足を運ぶエンジニアです。クラウドエンジニアとしてまだまだ未熟ですが、これから精進していきたいです。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら