IT 管理者は、Windows 2000 Server でこの技術が導入されて以来、Active Directory を扱い、そしてその周辺で作業してきました。Windows 2000 Server は 2000 年 2 月 17 日にリリースされましたが、多くの管理者は Active Directory が 1999 年 12 月 15 日に製造向け(RTM)としてリリースされた 1999 年後半から取り組み始めました。
この tutorial では AD の複製(レプリケーション)について説明します。
Active Directory のレプリケーション
Active Directory のレプリケーションとは、ある DC から別の DC に Active Directory オブジェクトを転送して更新する方法です。
DC 間の接続は、フォレスト およびサイト内での場所に基づいて構築されます。Active Directory の各サイトには 1 つ以上のサブネットが含まれており、これによりそのサイトに関連付けられている IP アドレスの範囲が識別されます。DC の IP アドレスをサブネットにマッピングすることで、Active Directory はどの DC がどのサイトに属しているかを把握します。Active Directory オブジェクトがサイト間で複製されるように、サイト間に接続が設定されます。
テクノロジー
Active Directory のレプリケーションは、正常に動作するために以下のテクノロジー に依存します。
- DNS
- リモートプロシージャコール(RPC)
- SMTP(任意)
- Kerberos
- LDAP
主な構成要素
Active Directory には レプリケーションの4つの主要コンポーネント があります:
- マルチマスター レプリケーション
Windows NT 4.0 で使用されていた単一マスター レプリケーションと比べて、マルチマスター レプリケーションでは、各ドメイン コントローラーが、自身が権限を持つ(権威を有する)オブジェクトの更新を受け取れるようにします。これにより、Active Directory 環境内でフォールトトレランス(耐障害性)が提供されます。
- プル レプリケーション
プルレプリケーション(Pull replication)では、DC が変更をプッシュするのではなく、オブジェクトの変更をリクエストするようにします(特に不必要なプッシュを防ぎます)。プルすることで、DC 間のレプリケーション通信量がわずかに減少します。
- ストア&フォワード レプリケーション(Store-and-forward replication)
ストア&フォワード レプリケーション(Store-and-forward replication)では、発生したオブジェクトの変更を転送するために、すべての DC が DC の一部と通信することが保証されます。ストア&フォワードでは、すべての DC が他のすべての DC と通信することになり非効率です。ストア&フォワード レプリケーションは、Active Directory 環境内の DC 間でレプリケーション負荷を分散します。
- 状態ベースのレプリケーション(State-based replication)
状態ベースのレプリケーション(State-based replication)では、各 DC がレプリケーション更新の状態を追跡することが保証され、競合や不要なレプリケーションをなくします。
レプリケーションの管理
レプリケーションは Knowledge Consistency Checker (KCC) によって管理されます。
KCC は 自動的に作成された接続 を使用して、単一サイト内の DC 間のレプリケーションを管理します。KCC は構成データを読み取り、DC のための接続オブジェクトを読み書きします。KCC はディレクトリ サービスと通信するために、RPC のみを使用します。
サイト内レプリケーション は圧縮を使用せず、変更はすぐに DC に送信されます。 ただし、サイト間レプリケーションは作成が必要なユーザー定義リンクに依存します。KCC はこれらのリンクを使用してトポロジを作成し、その結果としてサイト間リンク全体でレプリケーションが管理されます。
サイト接続はスケジュールに基づいて制御でき、複製データは帯域使用量を最小限にするために圧縮されます。サイト間接続のデフォルト レプリケーション スケジュール は 180 分 で、通常はほとんどの組織にとって長すぎます。これは GUI で 15 分 まで下げるように設定でき、レジストリを変更すればさらに速くできます。
レプリケーション パケット サイズは、DC 内の RAM の量に基づいて計算されます。デフォルトでは、パケット サイズの上限は RAM サイズの 1/100th で、最小が 1 MB、最大が 10 MB です。さらに、1 パケット内のオブジェクト数の最大値は 1/1,000,000th(システム RAM サイズ)の値で、最小 100 オブジェクト、最大 1,000 オブジェクトです。したがって、RAM が 1 GB を超える最新のサーバーでは、レプリケーション パケット サイズは最大 10 MB のデータ、または最大 1,000 オブジェクトを含むことになります。最大パケット サイズおよびオブジェクト制限は、HKEY_LOCAL_MACHINESystemCurrentControlSetServicesNTDSParameters のレジストリを変更することで構成できます。
主要なレプリケーション コンポーネント
以下は primary replication components の構成要素です:
- Knowledge Consistency Checker (KCC)
KCC は、各 DC 上で実行されるプロセスで、レプリケーション オブジェクトの読み取りおよび書き込みのために Ntdsa.dll と直接通信します。
- ディレクトリ システム エージェント(DSA)
DSA は、各 DC 上で Ntdsa.dll として動作するディレクトリ サービス コンポーネントです。サービスやプロセスがディレクトリ データベースを読み取るためのインターフェイスを提供します。
- 拡張可能ストレージ エンジン(ESE)
ESE は、ディレクトリ データベースのレコードを管理します。これらのレコードには、1 つ以上の列が含まれている場合があります。
- リモート プロシージャ コール(RPC)
ディレクトリ レプリケーションは RPC プロトコルを使用して通信されます。RPC は、開発者がリモート実行用の特定のコードを用意することなく、ローカルまたはリモート システム上でコードを実行できるようにする通信プロトコルです。KCC もレプリケーション トポロジを構築するときに、情報を要求するため DC と通信する際に RPC を使用します。
- Intersite Topology Generator (ISTG)
ISTG は、特定のサイトに対するサイト間のインバウンド レプリケーション接続オブジェクトを管理します。各サイトには 1 台の ISTG サーバーがあります。既定では、各サイトの最初の DC が ISTG です。ドメイン名が tailspintoys.com で、サイト名が HQ の場合、ISTG を見つけるには次の Get- ADObject -Identity “cn=NTDS Site Settings,cn=HQ,cn=sites,cn=configuration,dc=tailspintoys,dc=com” -Properties interSiteTopologyGenerator |Select interSiteTopologyGenerator Windows PowerShell コマンドを実行できます。
KCC とそのコンポーネントが使用する Active Directory objects には、次のものがあります:
- サイト
サイトは site class に属する Active Directory オブジェクトであり、特定のサイト内のサブネットに対応します。
- サブネット
サブネット オブジェクトは subnet class にあり、サイトに対応付けられるネットワーク IP サブネットを定義します。
- サーバー
server class のサーバー オブジェクトは、DC を含むサーバー コンピューターを表します。サーバー オブジェクトは、別のディレクトリ パーティションに格納され、個別の全世界で一意な識別子(GUID)を持つセキュリティ プリンシパルとして扱われます。
- NTDS 設定
NTDS 設定オブジェクトは nTDSDSA クラスにあり、特定の DC 上の Active Directory のインスタンスを表します。
- 接続
接続オブジェクトは nTDSConnection クラスにあり、ソース DC から、その接続オブジェクトを格納している DC への片方向の着信ルートを定義します。
- サイト リンク
Site Link オブジェクトは siteLink クラスにあり、2 つ以上のサイト間でデータを複製するためのプロトコルとスケジュールを特定します。
- NTDS サイト設定
NTDS Site Setting オブジェクトは nTDSSiteSettings クラスにあり、Active Directory のサイト全体の設定を特定します。Sites コンテナーには、サイトごとに NTDS Site Settings オブジェクトが 1 つだけ存在します。
- 相互参照
相互参照オブジェクトは crossRef クラスにあり、Partitions コンテナー内に Active Directory パーティションの場所を保存します。
下の図は、一般的な 2サイトの Active Directory 環境 と、いくつかのレプリケーション コンポーネントを示しています。
レプリケーションのコマンドとツール
Windows Server 2012 の Windows PowerShell から、Active Directory のレプリケーションを 特別に管理するための 25 個の cmdlet があります。これらの cmdlet は、レプリケーション情報の表示、サイトの構成、サイト リンクの管理、レプリケーションの発生を強制することなどの機能を提供します。
RepAdmin.exe のコマンドライン ツールも利用でき、情報の提供や Active Directory レプリケーションの構成が可能です。
もう 1 つのレプリケーション ツールは、Active Directory Replication Status Tool です。これは http://www.microsoft.com/en-us/download/details.aspx?id=30005. から入手できます。これを使って Active Directory の レプリケーションの問題を分析し、トラブルシューティングできます。
Active Directory basisc についての詳細は、こちらの 初心者向け AD チュートリアル でご確認いただけます。
共有する
もっと詳しく
著者について
Brian Svidergol
IT
Windows、Active Directory、Azure、Microsoft Exchange、System Center、仮想化、MDOP を中心に構築された Microsoft インフラおよびクラウドベースのソリューションに精通するエキスパートです。書籍の執筆に加えて、Brian はトレーニング資料やホワイトペーパーを執筆しており、多数の書籍や出版物の技術レビュアーも務めています。