Active Directoryの複製ロジック~マルチマスタ、ディレクトリ複製、Tombstone~

この記事の内容

  • Active Directoryはマルチマスタ構成であり、どのドメインコントローラーからでも書き込みができます
  • 同一サイト内のドメインコントローラー間では、オブジェクト作成後ほぼ即座に複製が行われます
  • サイトをまたぐ複製はサイトリンクの設定(デフォルト60分間隔)に依存します
  • 「今すぐレプリケート」操作を使うことで、手動で即時複製を実行できます
  • 削除済みオブジェクトの保持期間(Tombstone Lifetime)は複製の上限日数に深く関わります

検証環境の構成

今回の検証では、以下の2台のドメインコントローラーを使用しています。

  • DC01ad.local ドメイン
  • DC02ad.local ドメイン(同一ドメイン)

「Active Directoryユーザーとコンピューター」ツールを両方のDCに接続した状態で、複製の動作を確認していきます。

なお、ツール上でどのDCに接続しているかは、メニューの「ドメインコントローラーの変更」から明示的に切り替えられます。DC01で起動したからといって自動的にDC01を参照しているとは限らないため、必ず接続先を確認するクセをつけておくことが重要です。


マルチマスタとは

Active Directoryはマルチマスタ(Multi-Master)方式を採用しています。これは、どのドメインコントローラーに対しても書き込み操作ができるという特徴です。

実際に検証してみると、DC01でユーザー「テスト1」を作成すると、しばらくしてDC02側にも同じオブジェクトが現れます。逆に、DC02でユーザー「テスト2」を作成した場合も、DC01側に複製されてきます。どちらのDCで作成しても、相互に複製されることが確認できます。


同一サイト内の複製

DC01とDC02が同じサイト(Default-First-Site-Name)に属している場合、オブジェクトを作成するとほぼ即座に複製が完了します。

repadmin コマンドで確認すると、作成直後の数秒〜1分以内に複製が成功していることがわかります。

repadmin /showrepl

同一サイトは直接の複製関係が確立されているため、このような高速な複製が実現します。


サイトをまたぐ複製

DC02を別のサイト(例:TestSite1)に移動すると、複製の動作が大きく変わります。

異なるサイト間の複製は、サイトリンクの設定に依存します。デフォルトのサイトリンク「DEFAULTIPSITELINK」では、複製間隔は 60分に1回 に設定されています。

この状態でDC01にオブジェクトを作成しても、DC02にはすぐには複製されません。前回の複製から60分が経過するまで、DC02側には新しいオブジェクトが現れません。逆方向(DC02→DC01)も同様です。

サイトリンクの複製間隔は、最短15分から最大10080分(約1週間)まで設定可能です。環境の要件に応じて調整できます。


手動で今すぐ複製する

サイトをまたいでいる場合でも、今すぐ複製したい場面があります。そのような場合は、「Active Directoryサイトとサービス」から手動での即時複製が可能です。

手順

  1. 「Active Directoryサイトとサービス」を開く
  2. 対象のサイト → NTDS Settings を展開する
  3. 複製接続オブジェクトを右クリックし、「今すぐレプリケート」を選択する

この操作は、対象のドメインコントローラーが「相手のDCから情報を引っ張ってくる」命令になります。

例えば、DC01の Default-First-Site-Name にある NTDS Settings で「今すぐレプリケート」を実行すると、DC01がDC02の情報を取得します。DC02側は引っ張る操作をしていないため、DC01の情報はまだ反映されていません。DC02にも反映させるには、DC02側(TestSite1)のNTDS Settingsでも「今すぐレプリケート」を実行する必要があります。


Tombstone(廃棄標識)とは

オブジェクトを削除すると、その情報も他のドメインコントローラーへ複製によって伝播します。削除されたオブジェクトは「Tombstone(廃棄標識)」として一定期間保持されます。

Tombstoneの保持期間は、フォレストの Configuration パーティション 内の属性として管理されています。

確認方法

ADSIEdit から以下のパスを参照してください。

ConfiSgeurWrviainDtcdiieoroswensctNoTryService

この中の tombstoneLifetime 属性に保持日数が設定されており、デフォルト値は 180(日) です。

削除情報の複製を確認する

削除済みオブジェクトは、以下のPowerShellコマンドで確認できます。

Get-ADObject -Filter {isDeleted -eq $true} -IncludeDeletedObjects

このコマンドを実行すると、削除済みとしてマークされたオブジェクトの情報が表示されます。これが他のDCに複製されることで、受け取ったDC側でも該当オブジェクトが削除される仕組みです。


Tombstone Lifetimeを超えた場合のリスク

Tombstone Lifetimeは、単なるゴミ箱の保持期間ではなく、複製の有効期限としての意味も持っています。

あるドメインコントローラーが Tombstone Lifetime(デフォルト180日)を超える期間、複製ができていなかった場合、深刻な問題が発生します。

  • 他のDCでは削除済みのオブジェクトが、複製不全のDCには残ったまま
  • 削除済みを示す Tombstone 情報は既に消去されてしまっている
  • この状態でそのDCから複製が再開されると、削除されたはずのオブジェクトが復活するなど、ディレクトリが矛盾した状態になる

このような状態になると、そのドメインコントローラーは強制的に降格・再構築しなければならないケースがあります。

複製の監視が不可欠

複製エラーは、放置されがちなトラブルの代表例です。管理者が気づかないうちにエラーが継続し、180日を超えてしまうというケースは実際の現場でもよく見られます。

repadmin で定期的に複製の成功状態を確認することを強く推奨します。

repadmin /showrepl
repadmin /replsummary

まとめ

Active Directoryの複製ロジックについて、以下のポイントを確認しました。

  • マルチマスタ:どのドメインコントローラーからでも書き込み可能で、変更内容は複製によって全DCに伝播する
  • 同一サイト内の複製:ほぼ即時に実行される
  • サイト間の複製:サイトリンクの間隔設定(デフォルト60分)に依存する
  • 今すぐレプリケート:手動で即時複製を実行できる(相手からの「引っ張り」操作)
  • Tombstone Lifetime:削除済みオブジェクトの保持期間(デフォルト180日)であり、これを超えた複製不全はDCの再構築を招く

複製の仕組みを正しく理解し、repadmin などを使った定期的な監視を実施することが、Active Directory環境の健全な運用には不可欠です。