CUIメインでWindows Active Directory Server on AWS EC2環境を実現する(DHCP Options Set指定&ドメインコントローラ2台目構築)
当エントリは先日の下記エントリに関する続編です。1台目のActive DirectoryサーバをAWS EC2環境上に『なるべくGUIを使わずに』構築した後に、冗長構成を組み立てるための"2台目"となるActive Directoryサーバを1台目同様に『なるべくGUIを使わずに』構築する手順についてご紹介して行きたいと思います。
参考にしたエントリは主に以下の2本です。
- 2台目のドメインコントローラを構築する – Active Directory on AWS(3) | Developers.IO
- DHCP Options Setを使ってメンバーサーバを追加する – Active Directory on AWS(8) | Developers.IO
目次
- 2台目のEC2インスタンス起動
- 2台目のEC2インスタンスに対する初期設定
- DHCPオプションの作成・VPCとの紐付け設定
- 2台目のWindowsインスタンスにActive Directoryをインストール&連携設定
- 各種環境確認
- まとめ
2台目のEC2インスタンス起動 by CloudFormation
まずは2台目のADサーバ作成。1台目を構築した際に利用したパラメータファイルを複製する形で2台目構築用のパラメータファイルを用意し、スタック名をAD2-Serverとして実行しました。
$ aws cloudformation create-stack \ --stack-name AD2-Server \ --template-body file:///Users/xxxxxxxx/IdeaProjects/cm-tableau-verification/cloudformation/templates/20_ec2_WindowsServer2012withDDrive.template.json \ --parameters file:///Users/xxxxxxxx/IdeaProjects/cm-tableau-verification/cloudformation/parameters/20_ec2_WindowsServer2012withDDrive-ADServer2nd.parameter.json { "StackId": "arn:aws:cloudformation:us-east-1:XXXXXXXXXXXX:stack/AD2-Server/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" }
2台目のEC2インスタンスに対する初期設定 by PowerShell
2台目のADサーバを構築する際のWindows EC2インスタンスが起動したら、ipconfig /allでプライベートIPアドレスを確認しておきます。(起動直後であれば、管理コンソール上でのプロパティ確認するでも良いかも知れません)
今回の手順で使用したEC2:ADサーバ2台目のプライベートIPアドレスは10.0.1.56でした。
PS C:\Users\Administrator> ipconfig /all (前略) リンクローカル IPv6 アドレス. . . . .: fe80::81ff:b513:a998:cefd%21(優先) IPv4 アドレス . . . . . . . . . . . .: 10.0.1.56(優先) サブネット マスク . . . . . . . . . .: 255.255.255.0 リース取得. . . . . . . . . . . . . .: 2015年7月7日 17:13:47 リースの有効期限. . . . . . . . . . .: 2015年7月7日 18:13:47 デフォルト ゲートウェイ . . . . . . .: 10.0.1.1 DHCP サーバー . . . . . . . . . . . .: 10.0.1.1 (後略)
Windowsインスタンスの初期設定についてもサクッと済ませてしまいます。マシン名のみ前回のエントリと変えています。
## PowerShell実行ポリシーの変更(強制) Set-ExecutionPolicy RemoteSigned -force ## AWSデフォルトリージョンの設定 Set-DefaultAWSRegion us-east-1 ## コンピュータ名の変更(強制) Rename-Computer -NewName "AD-SERVER2" -Force ## タイムゾーンを変更 tzutil.exe /s "Tokyo Standard Time" ## フォルダオプション(拡張子を表示する) Set-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -name "HideFileExt" -Value 0 ## フォルダオプション(隠しファイル、隠しフォルダ、隠しドライブを表示する) Set-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -name "Hidden" -Value 1 ## Windows ファイアウォールの無効化 Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False ## 追加: Firefoxのインストール ## make Directory for tools mkdir C:tools ## Firefox Download & Install Invoke-WebRequest -Uri "https://download.mozilla.org/?product=firefox-36.0-SSL&os=win&lang=ja" -OutFile C:toolsfirefox.exe C:toolsfirefox.exe -ms ## Firefoxインストール完了を待つ Start-Sleep -s 60 ## OS再起動 Restart-Computer
そして1台目の環境についてもipconfig /allコマンドでプライベートIPアドレスを確認しておきます。今回の手順で使用したEC2:ADサーバ1台目のプライベートIPアドレスは10.0.0.133でした。
PS C:\Users\Administrator> ipconfig /all Windows IP 構成 ホスト名. . . . . . . . . . . . . . .: AD-SERVER1 プライマリ DNS サフィックス . . . . .: cm.local ノード タイプ . . . . . . . . . . . .: ハイブリッド IP ルーティング有効 . . . . . . . . .: いいえ WINS プロキシ有効 . . . . . . . . . .: いいえ DNS サフィックス検索一覧. . . . . . .: us-east-1.ec2-utilities.amazonaws.com ec2-utilities.amazonaws.com ec2.internal compute-1.internal cm.local イーサネット アダプター イーサネット 2: 接続固有の DNS サフィックス . . . . .: ec2.internal 説明. . . . . . . . . . . . . . . . .: Intel(R) 82599 Virtual Function 物理アドレス. . . . . . . . . . . . .: 0E-B4-5F-33-64-33 DHCP 有効 . . . . . . . . . . . . . .: はい 自動構成有効. . . . . . . . . . . . .: はい リンクローカル IPv6 アドレス. . . . .: fe80::3137:efb5:1c06:1d95%15(優先) IPv4 アドレス . . . . . . . . . . . .: 10.0.0.133(優先) サブネット マスク . . . . . . . . . .: 255.255.255.0 リース取得. . . . . . . . . . . . . .: 2015年7月7日 23:53:14 リースの有効期限. . . . . . . . . . .: 2015年7月8日 1:23:13 デフォルト ゲートウェイ . . . . . . .: 10.0.0.1 DHCP サーバー . . . . . . . . . . . .: 10.0.0.1 DHCPv6 IAID . . . . . . . . . . . . .: 353285215 DHCPv6 クライアント DUID. . . . . . .: 00-01-00-01-1D-1E-3E-01-0A-AB-95-80-CD-D5 DNS サーバー. . . . . . . . . . . . .: ::1 127.0.0.1 NetBIOS over TCP/IP . . . . . . . . .: 有効 Tunnel adapter isatap.ec2.internal:
DHCPオプションの作成・VPCとの紐付け設定 by AWS CLI
1台目と2台目のActive DiretoryサーバのプライベートIPアドレスの情報を元に、DHCPオプションセットの指定を行います。下記エントリを含むシリーズでは終盤に展開されていた内容をここで設定する事で管理の利便性・効率を高めるのが狙いです。
AWS CLIコマンドを使い、DHCPオプションの作成を行います。DNSサーバ指定の箇所で1台目・2台目のADサーバのプライベートIPを指定しています。
$ aws ec2 create-dhcp-options \ --dhcp-configuration Key=domain-name-servers,Values=10.0.0.133,10.0.1.56 Key=domain-name,Values=cm.local { "DhcpOptions": { "DhcpConfigurations": [ { "Values": [ { "Value": "cm.local" } ], "Key": "domain-name" }, { "Values": [ { "Value": "10.0.0.133" }, { "Value": "10.0.1.56" } ], "Key": "domain-name-servers" } ], "DhcpOptionsId": "dopt-5344b536" } } $
DHCPオプション作成後、aws ec2 create-tagsコマンドで利用性を高めるためにTagを付与しておきます。
$ aws ec2 create-tags \ --resources dopt-5344b536 \ --tags Key=Name,Value=cm.local
念の為、aws ec2 describe-dhcp-optionsコマンドで内容を確認してみます。
$ aws ec2 describe-dhcp-options --dhcp-options-ids dopt-5344b536 { "DhcpOptions": [ { "Tags": [ { "Value": "cm.local", "Key": "Name" } ], "DhcpConfigurations": [ { "Values": [ { "Value": "cm.local" } ], "Key": "domain-name" }, { "Values": [ { "Value": "10.0.0.133" }, { "Value": "10.0.1.56" } ], "Key": "domain-name-servers" } ], "DhcpOptionsId": "dopt-5344b536" } ] } $
作成したDHCPオプションをVPCに紐付けます。aws ec2 associate-dhcp-optionsコマンドを使って設定。
$ aws ec2 associate-dhcp-options --dhcp-options-id dopt-5344b536 --vpc-id vpc-xxxxxxxx
設定したVPCに対し、DHCPオプションが設定されているかaws ec2 describe-vpcsコマンドで確認してみます。ちゃんと設定されていますね!
$ aws ec2 describe-vpcs --vpc-ids vpc-xxxxxxxx | jq '.Vpcs[0].DhcpOptionsId' "dopt-5344b536"
ここまでの内容を管理コンソール上でも確認してみます。ちゃんと内容が反映されている事を確認出来ました。
ちなみに、この時点で下記の内容は特に何も設定されていませんでした。
ですが、ipconfig /allコマンドで内容を確認してみると、DHCPオプションの内容がちゃんと設定されている様です。
Windows PowerShell Copyright (C) 2014 Microsoft Corporation. All rights reserved. PS C:\Users\Administrator> ipconfig /all Windows IP 構成 ホスト名. . . . . . . . . . . . . . .: WIN-7E5IJC9TO96 プライマリ DNS サフィックス . . . . .: ノード タイプ . . . . . . . . . . . .: ハイブリッド IP ルーティング有効 . . . . . . . . .: いいえ WINS プロキシ有効 . . . . . . . . . .: いいえ DNS サフィックス検索一覧. . . . . . .: us-east-1.ec2-utilities.amazonaws.com ec2-utilities.amazonaws.com ec2.internal compute-1.internal cm.local イーサネット アダプター イーサネット 2: 接続固有の DNS サフィックス . . . . .: cm.local 説明. . . . . . . . . . . . . . . . .: Intel(R) 82599 Virtual Function 物理アドレス. . . . . . . . . . . . .: 12-A4-7E-54-37-1F DHCP 有効 . . . . . . . . . . . . . .: はい 自動構成有効. . . . . . . . . . . . .: はい リンクローカル IPv6 アドレス. . . . .: fe80::81ff:b513:a998:cefd%15(優先) IPv4 アドレス . . . . . . . . . . . .: 10.0.1.56(優先) サブネット マスク . . . . . . . . . .: 255.255.255.0 リース取得. . . . . . . . . . . . . .: 2015年7月7日 17:51:25 リースの有効期限. . . . . . . . . . .: 2015年7月7日 18:51:25 デフォルト ゲートウェイ . . . . . . .: 10.0.1.1 DHCP サーバー . . . . . . . . . . . .: 10.0.1.1 DHCPv6 IAID . . . . . . . . . . . . .: 353543294 DHCPv6 クライアント DUID. . . . . . .: 00-01-00-01-1D-2C-BD-A0-0A-2E-00-59-20-2B DNS サーバー. . . . . . . . . . . . .: 10.0.0.133 10.0.1.56 NetBIOS over TCP/IP . . . . . . . . .: 有効 Tunnel adapter isatap.cm.local: メディアの状態. . . . . . . . . . . .: メディアは接続されていません 接続固有の DNS サフィックス . . . . .: cm.local 説明. . . . . . . . . . . . . . . . .: Microsoft ISATAP Adapter 物理アドレス. . . . . . . . . . . . .: 00-00-00-00-00-00-00-E0 DHCP 有効 . . . . . . . . . . . . . .: いいえ 自動構成有効. . . . . . . . . . . . .: はい PS C:\Users\Administrator>
2台目のWindowsインスタンスにActive Directoryをインストール&連携設定
Active Directory導入・設定に関するソフトウェア・ツールの導入は1台目と同じです。
## Active Directoryドメインサービスと管理ツールのインストール Get-WindowsFeature AD-Domain-Services | Install-WindowsFeature Get-WindowsFeature RSAT-ADDS | Install-WindowsFeature ## AD DS Deployment PowerShell Moduleのインストール Import-Module ADDSDeployment
mkdir D:\Windows\NTDS mkdir D:\Windows\SYSVOL
そしてドメインコントローラーの追加。ここは若干内容が1台目と異なっています。詳細なオプションは以下ドキュメント等を参考にしてください。また各種設定値は構築するAD環境に併せて適宜置き換えてください。
Install-ADDSDomainController ` -NoGlobalCatalog:$false ` -CreateDnsDelegation:$false ` -Credential (Get-Credential) ` -CriticalReplicationOnly:$false ` -DatabasePath "D:\Windows\NTDS" ` -DomainName "cm.local" ` -InstallDns:$true ` -LogPath "D:\Windows\NTDS" ` -NoRebootOnCompletion:$false ` -SiteName "Default-First-Site-Name" ` -SysvolPath "D:\Windows\SYSVOL" ` -Force:$true
コピペして実行。にログイン認証を聞かれるので、ユーザー名に『指定のドメイン\Administrator』、パスワードに『1台目のOSログインに用いたパスワード』を設定、OKを押下します。また、別途パスワード入力を聞かれるのでこの内容は1台目同様控えておいてください。
認証が無事済むと、Active Directoryのインストールや設定作業が始まります。
また、作業が完了するとOS再起動を促されますので再起動してください。
各種環境確認
OS再起動後、AD-SERVER2(ADサーバ2台目)に改めてアクセス。こちらは先程の設定同様、ドメイン\Administrator, 1台目のOS接続パスワードで入ります。
接続している端末は2台目ですね。
ログイン後、各種内容を確認してみます。ローカルサーバーの構成:
システムのプロパティより、フルコンピュータ名とドメイン名:
コンピュータ名とDNSサフィックス、NetBIOSコンピュータ名:
グローバルカタログに関する設定:
インターネットプロトコルに関する情報も、DHCPオプションを反映している模様。ひと通り問題無さそうです!
まとめ
前回エントリとの2部構成にて、Windows Active Directory on AWSの環境を『なるべくGUIを使わずに』構築する手順についてご紹介しました。(内容確認ではがっつりGUI使ってますけど)
手作業で進めていたこれらの内容をある程度自動化、定型化する事で作業も効率化出来てミスも減らせ、時間の短縮にも繋がると良いなぁと思い進めて来たテーマでしたが、一応の着地を見ることが出来てホッとしております。Active Directoryに関する部分はまだまだ知らない部分も多いので、機会があればまた見て行きたいと思います。こちらからは以上です。