前回、AWSのEC2上にWindows Serverのインスタンスを展開しました。
今回は、EC2上にWindows Serverのインスタンスを立て、Active Directoryを構築する手順を記載します。
期待する目標
本手順の目標は以下の通りです。
- EC2上のWindows ServerのインスタンスにActive Directoryをインストールする
- EC2上のWindows Serverをドメインに参加する
なお、Active Directoryの構築については、こちらで図解付き解説をしております。
また、EC2上にWindows Serverインスタンスをデプロイする手順については、こちらで解説しております。
前提条件
今回は、Windows ServerのEC2インスタンスを2台使用します。
1台目はActive Directoryドメインサーバの役割を持つサーバで、もう1台がADに対し、ドメイン参加の確認を行うサーバとなります。
今回は検証のため、t2.microのインスタンスを使用しますが、t2.microはActive Directoryの推奨スペックを満たしていないスペックのため、本番環境や本格的に検証を行う必要がある場合は、もう少しインスタンスのスペックは欲しいところです。
EC2インスタンスの作成
EC2インスタンスの作成については、過去に手順化しているため、詳しい手順はそちらをご覧ください。
今回特別に設定している部分のみかいつまんで手順にしています。

使用しているAMIについては、[Microsoft Windows Server 2022 Base]を使用しています。

通常通り、インスタンスを作成しますが、[ステップ3 : インスタンスの詳細の設定]より、以下の設定を有効にしておきます。
- 自動割り当てパブリックIP : 有効
この自動割り当てパブリックIPは、Elastic IPアドレスと異なり、再起動などでグローバルIPが変動します。今回は外部からRDPを行うため、一時的にパブリックIPをつけています。

また、同項目の[ネットワークインターフェース]より、以下の設定を行います。
- デバイス : eth0
- ネットワークインターフェース : 新しいネットワークインターフェース
- プライマリIP : サブネット内の任意のIPアドレス(作成するADのアドレス)
以上の設定が完了したら、通常通りにインスタンスを作成します。
Windows Serverの初期設定
Windows Server 2022のインスタンスが起動したら、リモートデスクトップ接続を行います。

RDPを行ったら、[Widnowsの設定]-[システム]-[詳細情報]より、[このPCの名前を変更]を選択します。

[PC名を変更する]より、任意のホスト名を設定します。

任意のホスト名を設定後、Windows Serverの再起動を求められるため再起動します。

再起動後、このような設定となりました。
Active Directoryインストール
ここから、Active Directoryのインストールを行っていきます。

[サーバマネージャー]を起動し、[管理]-[役割と機能の追加]を選択します。

[開始する前に]より、[次へ]を選択します。

[インストールの種類]より、[役割ベースまたは機能ベースのインストール]を選択して、[次へ]を押下します。

[サーバの選択]より、[サーバプールからサーバを選択]を選択し、サーバプールから対象のサーバが選択されていることを確認し、[次へ]を押下します。

[サーバの役割]より、[Active Directory Domain Services]を選択します。

[Active Directoryドメインサービスに必要な機能を追加しますか?]より、[管理ツールを含める]にチェックが入っていることを確認し、[機能の追加]を選択します。

[サーバの役割]より、 [Active Directoryドメインサービス]にチェックが入っていることを確認し、[サーバの役割]より、[DNSサーバ]を選択します。

[DNSサーバに必要な機能を追加しますか?]より、[管理ツールを含める]にチェックが入っていることを確認し、[機能の追加]を押下します。

DNSサーバの追加時に警告が表示されます。
AWS環境ではWindows Server側に直接IPアドレスを指定せずに、EC2コンソールから設定しています。Windows Server側の設定は空欄となっているため、出る警告です。
今回は無視しても問題ありません。

[サーバの役割]より、[DNSサーバ]にチェックが入っていることを確認し、[次へ]を選択します。

[機能]では特に何もインストールしないため、機能の追加を行わずに、[次へ]を選択します。

[AD DS]より、[次へ]を選択します。

[DNSサーバ]でも設定する場所は無いため、[次へ]を選択します。

[確認]より、インストールする内容を確認し、[インストール]を選択します。

機能のインストールが完了したら、[閉じる]を選択します。
以上で、Active Directory諸々のインストールは完了です。
サーバマネージャーの[フラグ]を選択し、[展開後構成]-[このサーバをドメインコントローラに昇格する]を選択します。

[Active Directoryドメインサービス構成ウィザード]-[配置構成]より、[新しいフォレストを追加する]を選択します。
ルートドメイン名に環境で使用するドメイン名を入力します。
今回は、[test.local]で構築をします。

[ドメインコントローラオプション]より、ドメコンの機能オプションを設定します。
今回は以下の設定を行いました。
- フォレストの機能レベル : Windows Server 2016 (フォレスト内で最小のサーバに合わせて選択)
- ドメインの機能レベル : Windows Server 2016 (ドメイン内で最小のサーバに合わせて選択)
- ドメインネームシステムサーバ : ■
- グローバルカタログ : ■
- 読み取り専用ドメインコントローラ : □
また、ディレクトリサービス復元モードのパスワードは、ADが壊れた際の復元時に必要となるため、記憶できるパスワードとしてください。

[DNSオプション]では、特に設定せず、[次へ]を押下します。

[追加オプション]より、ドメインに割り当てられているNetBIOS名を設定します。
今回はデフォルトのまま設定します。

[パス]より、ADに必要なSYSVOLやDBのパスを確認し、[次へ]を選択します。

[オプションの確認]より、設定するオプションを確認し、[次へ]を選択します。

[前提条件のチェック]より、結果にエラーがないことを確認し、[インストール]を押下します。

インストールが完了すると、自動的に再起動が行われるため、[閉じる]を選択し、再起動させます。

再起動後、ドメインのAdministratorでログインします。
以上でActive Directoryのインストールは完了です。
NTPの設定
EC2のインストールは再起動毎にハードウェアクロックを参照するため、AWSが提供しているNTPを設定します。

コマンドプロンプトを起動し、以下のコマンドを実行し、レジストリを変更します。
> reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
The operation completed succesfully.
コマンドの実行が成功したことを確認します。
また、念のため、w32tmコマンドで時刻同期を走らせます。
> w32tm /resync
再同期コマンドをローカルコンピュータに送信しています

時刻を確認してみると、UTCとなっていたため、[Windowsの設定]-[時刻と言語]-[日付と時刻]-[タイムゾーン]より、[(UTC+09:00) 大阪、札幌、東京]を選択します。
以上で時刻同期の設定は完了です。
ドメイン参加
前項までで、ADの最低限の設定は完了しました。
ここからは、ドメインに参加させるサーバで作業を実施します。
この作業でのポイントは、EC2に紐づくセキュリティーグループのインバウンドルールに自身のサブネットからの通信を許可することです。
インバウンドルールで自身のサブネットを許可しないと、AD-Client間で通信ができず、ドメイン参加が失敗します。

ドメイン参加をするサーバより、[Windowsの設定]-[ネットワークとインターネット]-[イーサネット]より、接続しているNICを選択します。

NICの設定より、[DNS設定]-[編集]を選択します。

[DNS設定の編集]より、IPv4がオンになっていることを確認し、[優先DNS]に先ほど構築したADサーバのプライベートIPアドレスを入力します。

また、AWS環境ではデフォルトでAWSのサフィックスが追加されているため、デフォルトのサフィックスだとADのサフィックスが引けません。
そのため、NICのプロパティより、以下の設定を行います。
- プライマリおよび接続専用のDNSサフィックスを追加する : ●
- この接続のDNSサフィックス : ADのサフィックスを追加

あとは、通常のドメイン参加と同様に[システムのプロパティ]より、[コンピュータ名]-[変更]を選択します。

[コンピュータ名/ドメイン名の変更]より、以下の設定を行います。
- 所属するグループ : ドメイン
- ドメイン : 構築したドメイン名

ドメイン参加時に、ドメインユーザによる認証が必要になるため、先ほど構築したADのAdministratorで認証させます。

ドメインの参加後、サーバの再起動が必要になるため、再起動を行います。

サーバの再起動後、しっかりとドメインユーザでログインができていることを確認します。
以上で、ドメイン参加の手順は完了です。

念のため、構築したADサーバのユーザとコンピュータでドメイン参加したコンピュータオブジェクトが生成されているかを確認したところ、正常にコンピュータオブジェクトが作成されていました。

また、DNSにも登録ができていたため、通常のADと同様にEC2でも問題なくADが構築できました。
まとめ
今回は、EC2のWindows Serverインスタンスを使用して、Active Directoryを構築してみました。
AWS独自の設定や癖があるため、純粋なADとまではいかないものの、比較的通常の手順と変わらずに構築することができました。(インスタンスを3回ぐらい作り直しましたが・・・)
また、クラウド上にADを乗せて問題ないのか?など色々セキュリティ的に検討は必要ですが、ROADなど参照専用のADをAWS上に建てることである程度のセキュリティリスクは担保できるのではないでしょうか?
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
コメント