【AD基礎】ドメイン コントローラーが管理するデータ構成について

  • 2022年9月22日
  • 2023年6月8日
  • AD DS

Active Directory ドメイン サービスとは、組織でシステム管理者が、組織内のユーザーやリソースを管理するためのサービスです。Active Directory ドメイン サービスに関する仕組みの概要については、以下の記事で紹介しています。

あわせて読みたい!

Active Directory ドメイン サービスとは、組織でシステム管理者が、組織内のユーザーやリソースを管理するためのサービスです。 Active Directory は Windows 2000 Server から標準で導入されてお[…]

Active Directory ドメイン サービスの機能において管理している単位をドメインと呼びます。ドメインを管理するコンピューターのことをドメイン コントローラーと呼びます。コンピューターに “Active Directory ドメイン サービス” の役割をインストールして、ドメイン コントローラーにすると(=昇格するという表現を使います)、ドメイン内の情報を管理できるようになります。

ドメイン コントローラーが管理する各データは、主に AD データベースと SYSVOL の 2 つで管理されています。

今回は、ドメイン コントローラーが管理するデータ構造について紹介します。

 

 

ドメイン コントローラーのデータ構成

Windows Server OS に “Active Directory ドメイン サービス” の役割をインストールして、ドメイン コントローラーに昇格すると、その端末でドメイン内のリソースを管理できるようになります。ドメイン コントローラーに昇格すると、以下の 2 つのデータ保存領域が自動生成され、ドメイン内のリソースに関するデータを保持します。

  • AD データベース
  • SYSVOL

 

AD データベースと SYSVOL の各データ保存領域にて、管理されるドメインのデータは異なります。

Windows Server OS がワークグループの時は、ローカル ユーザーやグループの情報を保持しています。ただし、端末をドメイン コントローラーへ昇格させた後は、ローカル データベースは削除され、これまでローカルで管理していたローカル ユーザーや グループも存在しなくなります

その代わりに、AD データベースが作成され、その中にドメイン ユーザーやその他のオブジェクトが生成されるという動作になります。ドメイン コントローラーへログオンする時は、ドメイン コントローラーにはローカル ユーザーは存在しないため、昇格後にはドメイン ユーザーでログオンするという動作になります。(※注:最初の 1 台目のドメイン コントローラーの昇格においては、ローカル ユーザーとグループと同じ名前をもつドメイン ユーザーとグループが自動で作成された上で、ローカル データベースが削除されます)

 

AD データベースと SYSVOL

ドメイン コントローラーには “AD データベース” と “SYSVOL” という 2 つのデータを保管する領域が作成され、各データではそれぞれ以下のようなデータを管理しております。

ドメイン コントローラーに昇格すると、既定で C:\Windows\NTDS というフォルダに AD データベース (ntds.dit) が作成されます。この AD データベース上に、ドメイン ユーザーやグループ、コンピューター アカウントなど、ドメインの管理に必要な各種オブジェクトの情報が管理されています。また、同じフォルダ(C:\Windows\NTDS) に、AD データベースのログファイルも保存されます。

また、ドメイン コントローラーに昇格した時に、既定で C:\Windows\SYSVOL というフォルダに、SYSVOL(Domain System Volume の略)が作成されます。SYSVOL には、グループ ポリシーと呼ばれる、ドメインに参加している各コンピューター端末にシステム設定を配布する設定情報に関するデータが管理されています。この SYSVOL フォルダは共有フォルダとして公開されており、ドメインに参加している各コンピューター端末は \\<ドメイン名>\SYSVOL の共有パスにアクセスすることにより、設定を参照して自身の端末に設定を反映します。

Windows OS では、ローカルのシステム設定を行える、ローカル グループ ポリシー(LGPO)が存在します。LGPO はあくまで、そのコンピューター端末のみの設定を変更するためのポリシーとなり、ポリシーの保存場所は C:\Windows\System32\SYSVOL となります。こちらは、ドメイン グループ ポリシーとは別物となり、Windows Server OS の端末をドメイン コントローラーに昇格したとしても、その端末の個別のシステム設定を行うポリシーとして残り続けます。

 

 

ドメイン コントローラー間のデータ複製について

ドメイン コントローラーはドメインを管理する大切な役割を担っているサーバーであるため、ドメイン内に複数のドメイン コントローラーを構築して冗長性をもたせることができます。もし、何らかの障害によって一部のドメイン コントローラーが利用不可な状態となってしまったとしても、ドメインとしての機能を維持することが可能です。

ドメイン コントローラーはドメインを管理するコンピューターであるため、複数台のドメイン コントローラーが構築されているドメイン環境において、全てのドメイン コントローラーにおいて、同じデータを保持している状態である必要があります。

そのため、ドメイン コントローラーの間では AD データベース、SYSVOL のそれぞれのデータを複製し、全てのドメイン コントローラーが同じデータを保持しておけるように、ドメイン コントローラー間でデータを複製しております。ドメイン コントローラーで管理するデータ(AD データベース/SYSVOL)の複製の仕組みは「マルチマスター レプリケーション」で行われます。

 

 マルチマスター レプリケーションとは?
 マルチマスター レプリケーションとは、どの端末でもデータの更新を行える構成のことを指します。
マスター/スレーブ構成のような、マスターとなる特定の 1 台の端末のみでデータ更新を行え、残りのスレーブとなる端末はマスターの端末からマスター データを複製してくる仕組みではありません。各ドメイン コントローラーにはマスター/スレーブのような関係はなく、全てのドメイン コントローラーにて AD データベースや SYSVOL に格納されているデータを更新することができるため、この複製の仕組みはマルチ マスターと呼ばれます。ドメイン コントローラー間で AD データベースや SYSVOL のデータを複製し合い、基本的にどのドメイン コントローラーも同じデータを保持しています。

 

Windows Server 2008 より、RODC(Read Only Domain Controller) という書き込み不可のドメイン コントローラーを構築できるようになっています。RODC として構築されたドメイン コントローラー上では、データの更新を行うことはできません。
 
 

AD データベースのパーティション

AD データベースでは「パーティション」と呼ばれる単位で、データの格納領域が区切られています。AD データベースをパーティションで区切って、管理するデータを分けている理由は、データの複製範囲を分けるためです。

AD データベースには以下のようなパーティションが存在していますが、各パーティションの複製範囲はそれぞれ異なります。

 

パーティション名 複製範囲

ドメイン パーティション

ドメイン内のすべてのドメイン コントローラー
構成パーティション

フォレスト内のすべてのドメイン コントローラー

スキーマ パーティション フォレスト内のすべてのドメイン コントローラー
アプリケーション パーティション アプリケーション パーティションを利用するアプリケーションの実装に依存
グローバル カタログ

グローバル カタログの役割をもったドメイン コントローラー


上記の通り、ドメイン内のドメイン コントローラーでしかデータを複製しないパーティションもあれば、ドメインが異なっていたとしても、フォレスト内の全てのドメイン コントローラーでデータを複製するパーティションもあります。これは、ドメイン固有の情報であれば、ドメイン内でのみ情報を共有していれば問題なく、逆に、フォレスト全体で共有しておいた方がよい情報は、フォレスト単位で情報を共有する方がよいためです。つまり、AD で管理されるデータの性質によって、そのデータが管理されるパーティションが異なってきます。

 

各パーティションについて詳細を説明します。

ドメイン パーティション

ドメイン固有の情報を管理するパーティションで、そのドメインのドメイン コントローラーのみでデータが複製されます。同じフォレストであったとしても、ドメインが異なるドメイン コントローラーには複製されません。ドメイン パーティションには、ユーザーやグループ、コンピューター アカウントなど、ドメイン固有の情報が管理されています。
 

構成パーティション

フォレスト内の全てのドメインにて保持しておくべき情報を管理するパーティションで、フォレスト内の全てのドメインのドメイン コントローラーでデータが複製されます。例えば、パーティションの最大のデータの複製範囲はフォレスト単位であるため、データの複製に関する情報はフォレスト内で共有される必要があるため、データの複製に必要な各情報は構成パーティションで管理されます。また、Active Directory 証明書サービスで構築するエンタープライズ CA など、フォレスト内の全てのドメインで利用できるサービスに関する情報も構成パーティションで管理されます。
 

スキーマ パーティション

AD で管理するデータの構造を決めたスキーマの情報を管理するパーティションで、フォレスト内の全てのドメイン コントローラーでデータが複製されます。スキーマの情報はフォレスト内で共有されるため、同じフォレスト内のドメインであれば、同じ型(クラス)で作成されたデータの構造は同じとなります。
 

アプリケーション パーティション

Active Directory と連携するアプリケーションが利用する情報を格納するパーティションです。そのため、アプリケーションの実装に依存して、データが複製される範囲は異なります。
ただし、実際のところ、アプリケーション パテーションを利用するアプリケーションは、基本的にはドメイン コントローラー昇格時に一緒にインストールされる DNS サーバーのみであることがほとんどです。 ドメイン コントローラー昇格時に DNS サーバーをインストールすると、DNS サーバーか管理するドメインの DNS ゾーンやレコードは、AD データベースのアプリケーション パテーション上に保存される構成になります。(AD データベース上に保存されているゾーンのことを、AD 統合ゾーンと呼びます。)
Windows Server 2003 以降の OS の端末にて、ドメイン コントローラーを構築すると ForestDnsZones と DomainDnsZones という 2 つのパーティションが自動で作成されます。各パーティションの複製範囲は以下の通りです。
パーティション名 複製範囲
ForestDnsZones フォレスト内の DNS が構築された全てのドメイン コントローラー
DomainDnsZones

ドメイン内の DNS が構築された全てのドメイン コントローラー

フォレスト ルート ドメインが構築されたタイミングにて、ForestDnsZones のパーティションに _msdcs.<フォレスト ルート ドメイン名> という名前のゾーンが作成されます。また、DomainDnsZones のパーティションに、ドメイン名の名前のゾーンが作成されます。

 

Windows 2000 Server の時は、Active Directory サービスでアプリケーション パーティションは実装されていません。DNS の AD 統合ゾーンはドメイン パーティションに保存されていました。 

 

 

グローバル カタログ

グローバル カタログ (Global Catalog。GC と表記されることが多いです)は、他のドメインのドメイン パーティションの一部の情報を保持しているドメイン コントローラーのことです。グローバル カタログは、ドメイン コントローラーの構築時のウィザードの [ドメイン コントローラー オプション] にて、[グローバル カタログ] のオプションを有効にした状態で構築したドメイン コントローラーとなります。
 

グローバル カタログの情報は、グローバル カタログの役割をもつ同じドメインのドメイン コントローラー間で複製されます。
 

補足:グローバル カタログとは?

グローバル カタログの役割をもつドメイン コントローラーでは、他のドメインのドメイン パーティションの一部の情報を保持しています。
例えば、フォレスト内にドメイン A、ドメイン B、ドメイン C が存在する環境において、グローバル カタログの役割をもつドメイン A のドメイン コントローラーでは、ドメイン B、ドメイン C のドメイン パーティションの一部の情報を保持しています。
そもそも、ドメイン パーティションにはドメイン固有の情報が保持されているのに、なぜ他のドメインのドメイン コントローラーが一部の情報を保持する必要があるのでしょうか?これでは、ドメイン パーティションとして分けてある意味がないように思えるかもしれません。
わざわざグローバル カタログが用意されている理由は、ドメイン固有の情報といっても、他のドメインから参照される可能性があるためです。そのため、他のドメインから参照される可能性がある情報を抽出して、必要な一部の情報のみをグローバル カタログのパーティションに保存する仕組みになっています。
グローバル カタログが利用される例として、フォレスト内から、ある名前をもつユーザーを検索したいというシナリオで利用されます。グローバル カタログの仕組みにより、フォレスト内にある全てのドメイン コントローラーに接続して、ユーザーの検索をする必要はなく、自ドメインのグローバル カタログの役割をもつドメイン コントローラーに接続すれば、フォレスト内の全てのドメインを対象にユーザー検索をすることができます。
 

各ドメイン コントローラーが保持するパーティション

ここまで紹介した通り、パーティションごとに複製される対象のドメイン コントローラーが異なってきます。
contoso.com という名前のフォレストの中に、contoso.com というルート ドメイン、sub.contoso.com、child.contoso.com という子ドメインが存在したとします。その環境における各ドメインが保持するパーティションの情報は以下の通りです。

 

contoso.com DC

構成パーティション

スキーマ パーティション

contoso.com のドメイン パーティション

contoso.com DC / GC

構成パーティション

スキーマ パーティション

contoso.com のドメイン パーティション

sub.contoso.com のドメイン パーティションの一部

child.contoso.com のドメイン パーティションの一部

contoso.com DC / DNS

構成パーティション

スキーマ パーティション

contoso.com のドメイン パーティション

ForestDnsZones のアプリケーション パーティション

contoso.com DomainDnsZones のアプリケーション パーティション

contoso.com DC / GC / DNS

構成パーティション

スキーマ パーティション

contoso.com のドメイン パーティション

sub.contoso.com のドメイン パーティションの一部

child.contoso.com のドメイン パーティションの一部

ForestDnsZones のアプリケーション パーティション

contoso.com DomainDnsZones のアプリケーション パーティション

sub.contoso.com DC

構成パーティション

スキーマ パーティション

sub.contoso.com のドメイン パーティション

sub.contoso.com DC / GC

構成パーティション

スキーマ パーティション

sub.contoso.com のドメイン パーティション

contoso.com のドメイン パーティションの一部

child.contoso.com のドメイン パーティションの一部

sub.contoso.com DC / DNS

構成パーティション

スキーマ パーティション

sub.contoso.com のドメイン パーティション

ForestDnsZones のアプリケーション パーティション

sub.contoso.com DomainDnsZones のアプリケーション パーティション

sub.contoso.com DC / GC / DNS

構成パーティション

スキーマ パーティション

sub.contoso.com のドメイン パーティション

contoso.com のドメイン パーティションの一部

child.contoso.com のドメイン パーティションの一部

ForestDnsZones のアプリケーション パーティション

sub.contoso.com DomainDnsZones のアプリケーション パーティション

child.contoso.com DC

構成パーティション

スキーマ パーティション

child.contoso.com のドメイン パーティション

child.contoso.com DC / GC

構成パーティション

スキーマ パーティション

child.contoso.com のドメイン パーティション

contoso.com のドメイン パーティションの一部

sub.contoso.com のドメイン パーティションの一部

child.contoso.com DC / DNS

構成パーティション

スキーマ パーティション

child.contoso.com のドメイン パーティション

ForestDnsZones のアプリケーション パーティション

child.contoso.com DomainDnsZones のアプリケーション パーティション

child.contoso.com DC / GC / DNS

構成パーティション

スキーマ パーティション

child.contoso.com のドメイン パーティション

contoso.com のドメイン パーティションの一部

sub.contoso.com のドメイン パーティションの一部

ForestDnsZones のアプリケーション パーティション

child.contoso.com DomainDnsZones のアプリケーション パーティション

 

 

 

楽天ブックス
¥3,630 (2023/06/08 11:21時点 | 楽天市場調べ)
楽天ブックス
¥4,400 (2023/06/08 11:24時点 | 楽天市場調べ)