FSMOの役割を他のドメインコントローラに移行する – Active Directory on AWS(4)

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

前回まではこちらです。

さて前回2台目のドメインコントローラ(DC)を構築しましたので、現時点では以下のような構成になっています。DC1がFSMO+GC、DC2がGCです。

AWS_Simple_Icons_2_2_light_edition_pptx

ここでおさらいを。

Active DirectoryのDCは全てのDCで同じ情報を複製し並列に機能しますが、「FSMO(Flexible Single Master Operation)」と呼ばれる特別な5つの機能に関しては、それぞれの機能につき特定の1台だけが機能を有します。5つとは以下のものです。

役割名 役割
スキーママスタ Active Directory データベースのスキーマを管理する。
ドメイン名前付けマスタ フォレスト内のドメインの追加や削除を管理する。
PDCエミュレータ Windows NT時代、ドメインにはPDC(プライマリドメインコントローラ)とBDC(バックアップドメインコントローラ)という役割がありましたが、Active DirectoryにおいてDCは役割がフラットになりました。ただ古いバージョンのWindowsドメインとやり取りをするためにはPDCが必要になりますので、PDCをエミュレーションするのがこの機能です。またパスワード情報の管理元でもあり、ドメイン内の他のDCで実行されたパスワード変更はPDCエミュレータに優先的に複製されます。
RIDマスタ RID(Relative ID)と呼ばれるセキュリティIDの割り当てプールを管理する。
インフラストラクチャマスタ ドメインの構造(グループに含まれるユーザメンバーなど)を管理する。

またグローバルカタログ(GC)は「フォレスト内の全オブジェクトのうち利用頻度の高いオブジェクトのコピーを持つ」機能です。例えばユーザー名やグループ名等です。このグローバルカタログがないと、別のドメインのユーザーなどを検索するときに非常に時間がかかってしまいます。効率よくActive Directoryのオブジェクトを参照するための仕組みがこのグローバルカタログです。

で。このFSMOの機能ですが、別のDCに移したい場合があります。例えばオンプレミスのActive DirectoryをAWSに移行したい場合、以下の手順が考えられます。

  1. オンプレミス環境とAWS環境をVPNやDirectConnectで接続する。
  2. AWS環境に、オンプレミス環境にあるActive Directoryに所属する形でDCを構築する。
  3. オンプレミス環境にあるDCが持つFSMO機能をAWS環境にあるDCに移行する。
  4. オンプレミス環境にあるDCをドメインメンバに変更する。
  5. オンプレミス環境にある元DCを撤去する。

今回はAWS環境の中での実施となりますが、dc1からdc2にFSMO機能を移したいと思います。

AWS_Simple_Icons_2_2_light_edition_pptx 2

やったこと

以下の作業はdc2にて行います。

事前確認

PowerShell上でntdsutilコマンドを実行し、現在のFSMOとしての各機能をdc1が持っていることを確認します。

PS C:\Users\Administrator.SMOKEYMONKEY> ntdsutil
C:\Windows\system32\ntdsutil.exe: roles
fsmo maintenance: select operation target
select operation target: connections
server connections: connect to domain smokeymonkey.local
Binding to \\DC2.smokeymonkey.local ...
Connected to \\DC2.smokeymonkey.local using credentials of locally logged on user.
server connections: quit
select operation target: list roles for connected server
Server "\\DC2.smokeymonkey.local" knows about 5 roles
Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
RID - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Infrastructure - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
select operation target: quit
fsmo maintenance: quit
C:\Windows\system32\ntdsutil.exe: quit

スキーママスタの移行

スキーママスタの移行は管理ツールである[Active Directoryスキーマ]から行います...が、初期状態では管理ツールとして追加されていません。PowerShellを起動し、regsvr32 schmmgmt.dllコマンドを実行することで、管理コンソールのスナップインとして追加されます。

Windows_7_x64

次にPowerShellでmmc.exeコマンドを実行すると、管理コンソールが面が起動します。

Windows_7_x64 2

 [ファイル]メニューの[スナップインの追加と削除]をクリックします。

Windows_7_x64 3

[スナップインの追加と削除]画面が開きます。[利用できるスナップイン]欄から[Active Directoryスキーマ]をクリックして選択し、[追加]ボタンをクリックします。

Windows_7_x64 4

[選択されたスナップイン]欄に[Active Directoryスキーマ]が追加されたことを確認し、[OK]ボタンをクリックします。

Windows_7_x64 5

管理コンソール画面の左ペインに[Active Directoryスキーマ]が追加されます。右クリックし、[Active Directoryドメインコントローラーの変更]をクリックします。

Windows_7_x64 6[ディレクトリサーバーの変更]画面が表示されます。[次のドメインコントローラーまたはAD LDS インスタンス]が選択されていることを確認し、スキーママスタの役割を移行したいDC(今回はdc2)をクリックして選択します。[OK]ボタンをクリックします。

Windows_7_x64 7すると以下の画面が表示されます。これはスキーママスタの役割をdc1が持っている状態で、スキーママスタではないdc2に管理コンソールが接続した為です。気にせず[OK]ボタンをクリックします。

Windows_7_x64 8

管理コンソール画面に戻ります。すると左ペインの[Acitve Directoryスキーマ]の横が"DC2"となっています。[Acitve Directoryスキーマ]を右クリックし、[操作マスター]をクリックします。

Windows_7_x64 9

[スキーママスターの変更]画面が表示されます。現在のスキーママスタが"DC1"、転送先が"DC2"になっていることを確認し、[変更]ボタンをクリックします。

Windows_7_x64 10

以下画面が表示されるので[はい]をクリックします。

Windows_7_x64 11

以下画面が表示されます。これでスキーママスタが変更されました。

Windows_7_x64 12

ドメイン名前付けマスタの移行

 ドメイン名前付けマスタの移行は管理ツールの[Active Directoryドメインと信頼関係]から行います。

Windows_7_x64 13

[Active Directoryドメインと信頼関係]画面で、左ペインの[Active Directoryドメインと信頼関係]を右クリックし、[Active Directoryドメインコントローラーの変更]をクリックします。

Windows_7_x64 14

[ディレクトリサーバーの変更]画面が表示されます。[次のドメインコントローラーまたはAD LDS インスタンス]が選択されていることを確認し、スキーママスタの役割を移行したいDC(今回はdc2)をクリックして選択します。[OK]ボタンをクリックします。

Windows_7_x64 7

管理コンソール画面に戻ります。すると左ペインの[Acitve Directoryドメインと信頼関係]の横が"DC2"となっています。[Acitve Directoryドメインと信頼関係]を右クリックし、[操作マスター]をクリックします。

Windows_7_x64 16

[操作マスター]画面が表示されます。現在のドメイン名前付けマスタが"DC1"、転送先が"DC2"になっていることを確認し、[変更]ボタンをクリックします。

Windows_7_x64 17

以下画面が表示されるので[はい]をクリックします。

Windows_7_x64 18

以下画面が表示されます。これでドメイン名前付けマスタが変更されました。

Windows_7_x64 19

PDCエミュレータ、RIDマスタ、インフラストラクチャマスタの移行

PDCエミュレータ、RIDマスタ、インフラストラクチャマスタの移行は 管理ツールの[Active Directoryユーザーとコンピュータ]から行います。

Windows_7_x64 20

[Active Directoryユーザーとコンピューター]の画面を開き、左ペインの[Active Directoryユーザーとコンピューター]を右クリックして、[すべてのタスク]-[操作マスター]をクリックします。

Windows_7_x64 21

[操作マスター]画面が開きます。[RID]タブで操作マスターが"dc1"、転送先が"dc2"になっていることを確認し、[変更]ボタンをクリックします。

Windows_7_x64 22

以下画面が表示されるので[はい]をクリックします。

Windows_7_x64 23

以下画面が表示されます。これでRIDマスタが変更されました。[OK]をクリックします。

Windows_7_x64 24

[操作マスター]画面に戻ります。[PDC]タブで操作マスターが"dc1"、転送先が"dc2"になっていることを確認し、[変更]ボタンをクリックします。

Windows_7_x64 25

以下画面が表示されるので[はい]をクリックします。

Windows_7_x64 23

以下画面が表示されます。これでPDCエミュレータが変更されました。[OK]をクリックします。

Windows_7_x64 24

[操作マスター]画面に戻ります。[インフラストラクチャ]タブで操作マスターが"dc1"、転送先が"dc2"になっていることを確認し、[変更]ボタンをクリックします。

Windows_7_x64 26

以下画面が表示されるので[はい]をクリックします。

Windows_7_x64 23

以下画面が表示されます。これでインフラストラクチャマスタが変更されました。

Windows_7_x64 24

 事後確認

PowerShell上でntdsutilコマンドを実行し、現在のFSMOとしての各機能をdc2が持っていることを確認します。("CN="を見て下さい)

PS C:\Users\Administrator.SMOKEYMONKEY> ntdsutil
C:\Windows\system32\ntdsutil.exe: roles
fsmo maintenance: select operation target
select operation target: connections
server connections: connect to domain smokeymonkey.local
Binding to \\DC2.smokeymonkey.local ...
Connected to \\DC2.smokeymonkey.local using credentials of locally logged on user.
server connections: quit
select operation target: list roles for connected server
Server "\\DC2.smokeymonkey.local" knows about 5 roles
Schema - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Naming Master - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
PDC - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
select operation target: quit
fsmo maintenance: quit
C:\Windows\system32\ntdsutil.exe: quit

さいごに

これでdc2がFSMO+GC、dc1がGCになりました。

次はdc2が所属するAZに隕石が当たるような障害を考慮して、dc2をFSMOの機能を有したままterminateし、dc1でFSMOを復旧する手順を確認したいと思います。