Active Directory の物理的構造

By Robert Williams

under

『Windows 2000 Advantage』 2000 年 5 月号掲載

『Windows 2000 Advantage』 3 月号 (英語) では、Active Directory の基本的な性質について解説し、その論理構造を分析しました。しかし、Active Directory では物理構造も重要な意味を持ちます。物理構造は、Active Directory のデータや複製の通信メカニズムに関係があります。この記事では、まず、信頼性の高い通信を実現するための、構造上のコンポーネントであるサイトについて取り上げます。次に、Active Directory データの格納と複製を担うドメイン コントローラについて、その物理構造およびサイトとの関係について解説します。最後に、特別な機能を果たすグローバル カタログ (GC) について説明します。

トピック

Windows 2000 のサイト Windows 2000 のサイト
ドメイン コントローラ ドメイン コントローラ
Active Directory の複製 Active Directory の複製
サイト間複製とサイト内複製 サイト間複製とサイト内複製
データ複製での衝突の回避 データ複製での衝突の回避
機能を限定したドメイン コントローラの役割 機能を限定したドメイン コントローラの役割
グローバル カタログ グローバル カタログ

Windows 2000 のサイト

Active Directory を使用して、ユーザーのログオンやネットワーク オブジェクトの参照といったクリティカルな作業を実行するためには、強固なネットワーク インフラストラクチャを構築しなければなりません。理想的には、ネットワーク通信は場所や状況を問わず常に高速で信頼性の高いものであることが求められます。残念ながら、地理的な問題を始めとするさまざま制約により、より小規模のネットワークであるサブネットを構成して、物理的に同一な区域内での通信、または他の区域との間の通信の信頼性を高める必要があります。Windows 2000 では、このサブネットという概念を取り入れています。

Active Directory の物理ネットワーク構造は、サイトという単位を前提にして構成されています。ネットワーク管理者の役割は、ネットワークのパフォーマンスを最大限に引き出せるサイトを設計することです。1 つのサイトは、高速で信頼性の高い接続で結ばれた、1 つ以上の IP(Internet Protocol) サブネットから構成されます。どの程度の速度が必要となるかは、目的や状況によってさまざまです。たとえば、小規模ネットワークでは 128 Kbps の回線で十分な可能性がありますし、大規模ネットワークの帯域幅として 3 Mbps 以上が要求される場合も考えられます。ネットワーク トラフィックに起因するパフォーマンス低下を最小限に抑えるための最適な速度を判断するのは、管理者の仕事です。サイトは、こうした前提に基づいて構築しなければなりません。1 つのサイトに複数のサブネットが属することは可能ですが、複数のサイトにまたがったサブネットを構成することはできません。

サイトに関して最も重要なのは、高速で無駄のないデータ転送を保証することであり、このことはディレクトリ サービスを効率よく複製するためには特に重要です。Active Directory の物理構造によって、複製を実行するタイミングと方法が決まります。このことは、サイト内の複製とサイト間の複製の両方に当てはまります。ネットワーク サイトのパフォーマンスは、オブジェクトの配置やログオンの認証にも影響を与えます。ユーザーがネットワークにログオンするときは、あらかじめ割り当てられているサブネット情報を利用して最寄りのドメイン コントローラ サイトに接続することができます。

システム管理者は、スナップイン ツールの [Active Directory サイトとサービス] を使用して複製サービスのトポロジを管理することができます。サイト内の複製では、高速な接続を指定しておけば、通常、複製も高速に実行されます。サイト間の複製では、WAN の帯域幅がかなり低速になる可能性があります。サイトを単位とした構造になっているため、サイト間における Active Directory の複製のスケジュール管理も可能となっています。

また、サイトまたはドメインの領域どうしの関係について、公式化できるようなものは存在しないという点に注意してください。1 つのサイトが複数のドメインを含むことも可能ですし、1 つのドメインを複数のサイトで構成することも可能です。さらに、サイトとドメインが同じ名前空間を保持する必要もありません。

under01

under02

ページのトップへ ページのトップへ

ドメイン コントローラ

ドメイン コントローラとは、Active Directory のコピーを格納しているサーバーのことです。すべてのドメイン コントローラは対等の関係にあり、ドメインに対応する複製された Active Directory をそれぞれが保持しています。ドメイン コントローラは、Active Directory の論理構造と物理構造の両面で重要な役割を担います。ドメイン コントローラは、論理上の階層データ ストアに含まれる、ドメインのオブジェクト データすべてを管理します。また、ユーザーの認証や、ネットワーク オブジェクトの参照に対する応答を行うほか、ディレクトリ サービスの複製を実行する働きがあります。Active Directory の物理構造により、安定した接続で結ばれたサイト間でこれらのデータ転送が可能となります。

Windows NT 環境で使用されていたプライマリ ドメイン コントローラ (PDC) およびそのバックアップ ドメイン コントローラに代わるものが Active Directory です。Active Directory は、すべてのドメイン コントローラが Active Directory のコピーを保持しているマルチマスタ方式であり、それぞれが対等な関係になっています。Windows NT とのもう 1 つの大きな違いは、Windows 2000 ではすべてのドメイン コントローラが Active Directory に対して読み取りと書き込みを行えるということです。Windows 2000 より前のバージョンでは、書き込みや読み出しが可能なのはプライマリ ドメイン コントローラだけであり、複製の開始点となるのもプライマリ ドメイン コントローラでした。Active Directory では、新しいデータが追加された場合、どの Active Directory ドメイン コントローラからでも複製を開始することができます。

under03

Active Directory ドメインは、ディレクトリ パーティションの複製を行うドメイン コントローラが 1 つで構成される場合と複数で構成される場合があります。1 つのドメイン内に複数のドメイン コントローラを配置する理由として、主に次のものが挙げられます。

  • ユーザーの接続性を向上させるための物理的な理由。

  • 大量のユーザー活動を円滑に処理するという目的。

  • より優れたフォールト トレランスと情報の冗長性の確保。

複数のドメイン コントローラを作成する場合、システム管理者は、複製トラフィックの結果としてネットワークへの負荷が増加するといったデメリットも考慮する必要があります。しかし、そうしたデメリットがあっても、各ドメインと各サイトに複数のドメイン コントローラを配置することをお勧めします。これは、論理構造と物理構造の両面において冗長性とフォルト トレランスが得られるからです。重要なドメイン情報、そして地理的な面でみたサイトの接続性を保護することが重要です。

ドメイン コントローラは、Active Directory のインストール時に各サイトに割り当てられます。サイトに配置されたドメイン コントローラは、管理者が手動で別のサイトに再配置しない限り、同じサイトに割り当てられたままとなります。ドメイン コントローラがどのようにサイトへ配置されているかは、Active Directory の複製トポロジやその他のシステム用件にも関連します。

あるドメイン コントローラの割り当てが特定のサイトに固定されていても、クライアントのシステムは変わる可能性があります。クライアント コンピュータが起動し、DHCP によって IP アドレスが割り当てられる場合、サイトのメンバシップが別のサブネットに移される場合があります。

ページのトップへ ページのトップへ

Active Directory の複製

ドメイン コントローラ間における Active Directory の複製は、システム管理者がサイト単位で管理します。ドメイン コントローラを追加した場合は複製パスを確立しなければなりません。知識整合性チェッカー (KCC) は Active Directory 複製コンポーネントと連携した処理を通じて、複製パスを確立します。KCC は、すべてのドメイン コントローラ上で動作する動的プロセスで、複製トポロジの作成や修正を行います。ドメイン コントローラに障害が発生しても、KCC は残りの正常なドメイン コントローラへの新しいパスを自動的に作成します。システム管理者が KCC を使って、新しいパスを手動で作成することも可能です。

Active Directory の複製では、IP 経由でリモート プロシージャ コール (RPC) を使用してサイト内複製を実行します。サイト間の複製では、 RPC または SMTP (Simple Mail Transfer Protocol) を使用してサイト間のデータ転送を行うことができます。サイト間の複製で使用されるデフォルトのプロトコルは RPC です。ドメイン間での複製が必要な場合、Active Directory は SMTP のみを使用します。

ページのトップへ ページのトップへ

サイト間複製とサイト内複製

ドメイン コントローラの複製について、サイト間の場合とサイト内の場合とでは明確な違いが存在します。理論的には、サイト内部のネットワーク帯域幅は、複製や Active Directory 関連のその他の処理に関するネットワーク トラフィックすべてに対応できるはずです。サイトの本質から考えると、ネットワークは信頼性が高く高速でなければなりません。ドメイン コントローラに変更が加えられると、変更通知処理が開始されます。ドメイン コントローラは、複製の相手にメッセージを送るまで、一定時間 (デフォルトでは 5 秒、変更可能) 待機します。待機中にも、ドメイン コントローラは引き続き変更を受け入れます。相手側のドメイン コントローラは、変更通知のメッセージを受け取ると、複製元のドメインコントローラから変更内容をコピーします。 一定の時間 (デフォルトでは 6 時間、変更可能) 内に重要な変更に関する通知がない場合でも、あらゆる変更がすべてのドメイン コントローラに確実に反映されるよう、複製の処理が開始されます。サイトを単位として実行される複製では、データは未圧縮のまま転送されます。

サイト間の複製では、コストの増加だけでなく帯域幅や信頼性が不十分であるなど、ネットワーク接続の問題が発生する可能性があることを前提としています。そのため Active Directory では、サイト間の複製について、そのタイプと頻度、タイミングをシステムが決定できるようになっています。サイト間の複製で転送されるオブジェクトは、すべて圧縮されます。これによってトラフィック サイズが 10 ~ 25% 程度縮小される可能性はありますが、複製が問題なく実行されることを保証するには十分とはいえないでしょう。

ページのトップへ ページのトップへ

データ複製での衝突の回避

Active Directory は、更新シーケンス番号 (USN) と呼ばれる一意の識別名を発行します。オブジェクトに対して加えられた変更にはすべて USN が割り振られます。オブジェクトに対してその後修正が加えられるごとに、この番号の値は増えていきます。オブジェクトの各プロパティに対しても USN が発行されます。ソース ドメインは同格のドメイン コントローラに対して、USN の順序の変更を定期的に通知します。そして、最新の USN が各ドメイン コントローラに登録され、オブジェクトが最新の状態に保たれます。同じオブジェクトに対してほぼ同時刻に変更が行われた場合、Active Directory はタイム スタンプだけを利用します。この場合、データの衝突を避けるため、デフォルトではタイム スタンプが最も新しい変更が複製されることになっています。それ以外の場合、Active Directory はタイム スタンプ処理をすべて無視します。

ページのトップへ ページのトップへ

機能を限定したドメイン コントローラの役割

ドメイン コントローラの中には、パフォーマンスを向上させたり、競合を減らしたりするために特定の役割が割り当てられたものもあります。すべてのドメイン コントローラに対して、マルチマスタ方式でサービスを複製するという原則は Active Directory の根幹を成すものですが、特別な機能の中には 1 つのドメイン コントローラですべてを処理した方が最高のパフォーマンスが得られる場合もあります。そのため、Windows 2000 ではこうした特別な機能を、グローバル カタログ (GC) とドメイン コントローラ操作マスタという 2 とおりの形式でサポートしています。フォレストは共通の GC と操作マスタを共有します。

ページのトップへ ページのトップへ

グローバル カタログ

グローバル カタログ (GC) は、主に 2 つの機能を果たすよう設計されています。まず、指定されたオブジェクトの場所を調べる問い合わせ処理を、1 つ以上の属性を識別することによってスムーズにします。GC とは、オブジェクト データを格納し、オブジェクトへの問い合わせやオブジェクトのごく一般的な属性を管理するためのドメイン コントローラです。第二に、GC はネットワークへのログオンを許可するデータを提供します。ドメイン コントローラが 1 つの環境では、Active Directory と GC が同じサーバーに置かれます。ドメイン コントローラが複数存在する場合は、別のドメイン コントローラに GC を移動することをお勧めします。

各ドメイン ツリーには必ず GC が 1 つ配置されます。また、GC は単一のドメイン コントローラ上に存在しなければなりません。GC にはさまざまな情報が格納されます。ドメイン フォレストのスキーマ データと設定データは、GC が格納と複製を行います。また、GC は、オブジェクトを高速に検索するためのデータ格納庫および検索エンジンとして考えることもできます。GC はドメイン ツリー内、またはフォレスト内のオブジェクトすべてのリストを作成します。ただし、このリストは、すべてのオブジェクト属性が含まれていないという点で Active Directory とは異なります。最も要求の多い、または最も一般的なオブジェクト属性のリストが、部分的な複製の結果として簡略化された形式で GC に格納されています。問い合わせの多い項目だけをリストにすることによって、ソース ドメイン全体を検索する必要がなくなり、オブジェクトの位置をよりすばやく見つけることができます。GC 専用のドメイン コントローラを配置する理由が、ディレクトリ サービス内の更新処理や管理処理から問い合わせ処理を切り離すことにあるのは明らかです。

GC は、ごく一般的、または問い合わせが多いと考えられるものをまとめた、デフォルトのオブジェクト属性セットを設定することができます。たとえば、ユーザーの姓や名は、このデフォルトのオブジェクト属性セットに含める属性として適しています。ただし、特定のドメインに対し、定義済みの属性セットをより詳細に管理するため、Windows 2000 にはデフォルトの設定を修正する方法も用意されています。システム管理者は、スナップイン ツールのスキーマ マネージャを利用して、GC の複製に含まれる属性セットを更新することが可能です。

GC サーバーとして運用するシステムを選択する場合、処理能力とネットワークの接続性の両方を考慮する必要があります。システムには、100 万を超えるオブジェクトも管理できるよう、十分な記憶容量が備わっていなければなりません。そして、CPU 速度は、問い合わせを滞りなく処理するのに十分な性能が要求されます。Microsoft の発表している資料によれば、350 MHz の速度があれば十分だとしています。

著者紹介

Robert Williams
Enterprise Certified Corp. の経営スタッフ。メール アドレスは、bobw@EnterpriseCertified.com です。本記事は、『The Ultimate Windows 2000 System Administrator's Guide』 (Williams & Walla, Addison Wesley 2000) からの抜粋です。

© Copyright 2000 G Robert Williams

Microsoft では、この記事の情報がみなさまのお役に立つことを願っています。ただし、この情報はお客様のみの責任において使用していただきます。この情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation は、正確性、完全性、市場性、特定目的への適合性、所有権、権利の不侵害を含め、明示的にも黙示的にも、一切の保証をいたしません。また、本書で言及されたサードパーティの製品または情報は、Microsoft Corporation が作成、推奨、支持、保証するものではありません。さらに、Microsoft Corporation は、本書に記載された情報の使用によってもたらされた、直接的、間接的、特別、偶発的、結果的な損害について、その可能性を通知されていたとしても、一切責任を負いません。本記事で言及されている製品の価格は予告なく変更されることがあります。 International rights = English only.

ページのトップへ ページのトップへ