【AD基礎】サイトとは?拠点間での AD の複製の仕組みについて

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

大企業では複数の地域に拠点/支店があり、Active Directory ドメイン サービスにより管理される対象のシステムが大規模になるケースが多くあります。システムが複数の拠点にわたっている場合、ドメインを管理するドメイン コントローラーも複数の拠点にある可能性があり、認証やポリシー配布を行うドメイン コントローラーも近い拠点である方が便利です。

Active Directory ドメイン サービスでは、”サイト” という概念が定義されております。このサイトは、物理的な拠点を指すものであり、高速に通信できる範囲を示します。”サイト” の仕組みにより、ドメイン環境にてネットワークの構成を最適化させることができます。

今回は、AD のサイトについて紹介します。

 

AD サイトとは?

Active Directory ドメイン サービスでは、”サイト” という概念が存在します。この “サイト” とは、物理的な拠点を指すもので、高速に通信できる範囲を示します。例えば、「東京」、「名古屋」、「大阪」などのような各拠点を AD の中で「サイト」として表現することができます。

Active Directory ドメイン サービスにおいて、「サイト」を構成することにより、以下の動作となります。

  • ドメイン参加端末の接続先として、物理的に近いドメイン コントローラーを利用する
  • ドメイン コントローラー間のデータの複製間隔を調整できる


そのため、わざわざ物理的に遠いドメイン コントローラーへ接続するという動作を避けることができるため、ネットワーク上の通信が最適化されて、大規模なドメイン環境であっても快適に AD を利用することができます。

「サイト」を構成することによる動作の違いについて、仕組みを紹介します。

 

ドメイン参加端末の接続先のドメイン コントローラー

AD でサイトを構成することにより、ドメイン参加端末は物理的に近いドメイン コントローラーへ接続します。

例えば、ドメイン環境に「東京」と「大阪」サイトが存在する場合の動作を見てみましょう。
東京サイトには DC01、DC02 というドメイン コントローラー、大阪サイトには DC03、DC04 というドメイン コントローラーが存在していたとします。

東京サイトに所属しているドメイン参加端末 PC01 は、同じ東京サイトにあるドメイン コントローラー DC01 と DC02 を優先して接続します。東京サイトに所属している PC01 が、わざわざ大阪サイトにあるドメイン コントローラー DC03、DC04 へアクセスするのは非効率で、通信速度などの動作影響もでる可能性があります。

また、大阪サイトに所属するドメイン参加端末 PC02 も同様に、同じ大阪サイトであるドメイン コントローラー DC03、DC04 に優先して接続します。

サイトを構成することにより、高速通信ができるネットワークに所属しているドメイン コントローラーへ接続して動作することができます。ドメイン参加端末にドメイン ユーザーがログオンするときは、ドメイン コントローラーへ認証要求を送ったり、グループ ポリシーの設定の配布が行われ、ユーザーがストレスなくログオンできるためには、ドメイン コントローラーと端末が高速通信できることが重要です。

サイトの構成を利用して、ネットワークを最適化させることで、ドメイン参加端末とドメイン コントローラー間の通信を高速化できる仕組みとなっております。

 

ドメイン コントローラー間の複製

ドメイン コントローラーは AD データベースや SYSVOL のデータを保持しており、ドメイン コントローラーの間で複製しています。お互いにデータを複製し合い、全てのドメイン コントローラーが同じデータを保持される仕組みとなっております。

関連記事

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

物理的に近い距離のドメイン コントローラー同士であれば、基本的には高速通信できる環境にあるものと考えられます。そのため、物理的に距離が近い場合は高速なネットワークでつながれている可能性が高いため、頻繁に複製の処理が行われても問題がないと考えられます。一方、物理的に距離が離れている場合は、比較的遅いネットワークに接続されている可能性が高いため、頻繁に複製処理を行わないようにする方が望ましい構成と考えられます。

そのため、同じサイトのドメイン コントローラー同士であれば、データに変更があれば即時に複製処理を行いますが、別のサイトの場合は即時に複製処理を行うのではなく、3 時間に 1 回など、あらかじめ設定しているサイクルで複製処理を行うという動作になります。

サイトごとにデータの複製処理の頻度を調整することで、ネットワークの最適化を行い、無駄なネットワーク負荷がかかることを抑止します。

 

 

サブネット

サブネットとは、ネットワークを小さく分割したネットワークのことです。IPv4 アドレスは、ネットワーク部とホスト部から構成されていますが、32 bit のアドレスの中でネットワーク部とホスト部を区切りが何 bit 目か(サブネット マスクと呼びます)をスラッシュの後に記載します。(この表記形式を、プレフィックス表記または CIDR 表記と呼びます。)

プレフィックス表記でサブネットを作成し、各サイトに対してサブネットを紐づけします。サイトに対して複数のサブネットを紐づけすることが可能です。サブネットのネットワークへ接続するドメイン端末は自動でサイトに登録される形となります。

 

IPv4 だけでなく、IPv6 のサブネットも定義できます。

 

Longest Match

サイトに紐づいているサブネットの範囲が重複している場合、対象の端末がどちらに所属するかを判断するのは Logest Match の仕組みとなります。よりマッチする範囲が長いサブネットの方が、優先されるという動作になります。

例えば、ドメイン環境の東京サイトのサブネットが 192.168.1.0/24、大阪サイトのサブネットが 192.168.0.0/16 であることを想定します。この環境で、IP アドレスが 192.168.1.1 である場合、よりマッチする範囲が長い 192.168.1.0/24 の東京サイトが選択されます。

 

 

サイトとサブネットの作成手順

Active Directory ドメイン サービスにてサイトを構成するには、サイトとサブネットを作成して、紐づけを行います。サイトやサブネットの作成や、紐づけの作業は [Active Directory サイトとサービス] にて行うことができます。

サイトの作成

1) ドメイン コントローラーに管理者権限をもつユーザーでログオンします。

2) Windows 管理ツールより、[Active Directory サイトとサービス] を開きます。

3) 画面の左ペインより、[Active Directory サイトとサービス] – [Sites] を右クリックして [新しいサイト] をクリックします。

4) [名前] に任意のサイト名を指定し、[このサイトのサイト リンク オブジェクトの選択] の項目にて、[DEFAULTIPSITELINK] を選択して [OK] をクリックします。

 

5) 新しくサイトが作成されたことを示すメッセージが表示されたら [OK] をクリックします。

6) 新しくサイトが作成されていることを核にします。

 

サブネットの作成

1) ドメイン コントローラーに管理者権限をもつユーザーでログオンします。

2) Windows 管理ツールより、[Active Directory サイトとサービス] を開きます。

3) 画面の左ペインより、[Active Directory サイトとサービス] – [Sites] – [Subnets] を右クリックして [新しいサブネット] をクリックします。

4) [プレフィックス] の項目に、サブネットのアドレスをプレフィックス表記で記入し、[このプレフィックスのサイト オブジェクトを選んでください] の項目にて、サブネットと紐づけするサイトを選択して [OK] をクリックします。

 

所属サイトの判断方法

ドメインに所属している Windows OS の端末がどのサイトに所属しているのかを判断する方法は、ドメイン メンバーとドメイン コントローラーでそれぞれ異なります。ドメイン メンバーとドメイン コントローラーが所属するサイトは判断sる方法について説明します。

ドメイン メンバーでの所属サイトの判断方法

所属サイトの自動判断

サイトとサブネットの紐づけの情報は、ドメイン コントローラー上で管理されております。そのため、ドメインに参加している端末は何らかの方法で、ドメイン コントローラーからサイトに関する情報を取得しなければいけません。

一番最初は、ドメイン端末は自身が所属する端末を知りませんが、DC ロケーターがドメイン コントローラーを探すときに、ドメイン コントローラーからの LDAP Ping の応答の中にクライアントのサイトに関する情報が含まれています。大抵の場合、Windows OS 端末がドメイン コントローラーへ LDAP Ping を送信するのは、ドメインに参加するタイミングとなります。

関連記事

Active Directory ドメイン サービスで構築されたドメイン環境では、ドメイン コントローラーがユーザーやコンピューターの管理をしています。Active Directory の仕組みを利用して認証や設定の配布するためには、ドメイ[…]

ドメイン コントローラーから LDAP Ping の応答が得られ、その端末が所属するサイト名が確認できたら、以下のレジストリに所属するサイト名を保存します。次に所属するサイト名の情報が必要なときには、まずレジストリの値を参照します。

キー: HKLM\SYSTEM\CurrentControlSet\services\Netlogon\Parameters
値: DynamicSiteName

 

 

 サイト変更の検出の仕組み
ドメイン参加端末を別の拠点に移動させた場合に、DynamicSiteName のサイト名が変更されるのは、DC ロケーターにより、ドメイン コントローラーを探すタイミングにおいて、LDAP Ping が返ってきた時です。端末を拠点を移動させた場合は、割り当てられる IP アドレスも変わりますので、その後の LDAP Ping に合致したサイトが送信されます。

 

大抵の場合、別拠点に移動する際は、端末の電源をオフにした状態となるかと思うので、OS 起動時の通信先のドメイン コントローラー選定の際に、DynamicSiteName の値が変更されます。

 

 

所属サイトを紐づける設定

既定の動作の場合、端末に割り当てられている IP アドレスから、どのサブネットに含まれるのかを確認して所属するサイトが決まります。ただし、端末が所属するサイトを指定したい場合は、以下のポリシーもしくはレジストリにて、所属サイトを指定することができます。

 

〇 ポリシーによる所属サイトの設定
パス: [コンピューターの構成] – [管理用テンプレート] – [システム] – [Net Logon]
ポリシー名: [サイト名を指定する]
設定値: 所属させたいサイトの名前
〇 レジストリによる所属サイトの設定
パス: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
値の名前: SiteName
値の種類: REG_SZ
値のデータ: 所属させたいサイトの名前
 
ドメイン参加端末にて、このポリシーもしくはレジストリが設定されていると、サブネットの設定には関係なく、ポリシーもしくはレジストリで指定されたサイトに所属しているとみなされます。
 

ドメイン コントローラーでの所属サイトの判断方法

ドメイン コントローラーは AD データベース上にサイトの設定の情報を保持しており、その設定を参照して自身が所属するサイトを判断します。

ドメイン コントローラーはいずれかのサイトに所属する設定にしなくてはなりません。ドメイン コントローラーへ昇格する時に、構成ウィザードの [ドメイン コントローラー オプション] の設定で所属させるサイトの指定を行います。(最初の1 台目のドメイン コントローラーは “Default-First-Site-Name” というサイトに自動的に割り当てられます)

また、ドメイン コントローラーを構築した後も、[Active Directory サイトとサービス] の管理コンソールから、各ドメイン コントローラーの所属するサイトを変更することもできます。ドメイン コントローラーに割り当てられている IP アドレスが、仮にサブネット的には別のサイトであったとしても、そのサイトとサブネットの紐づけの情報は利用されず、問答無用でドメイン コントローラーに割り当てられているサイトに所属するという扱いになります。

また、ドメイン コントローラーには、[サイト名を指定する] ポリシーや SiteName のレジストリの設定は効きません。

 

サイト リンクとコスト

サイト リンクとは

サイト リンクとは、サイトとサイトをつなげたもののことです。サイト リンクを明示的に作成することで、サイト間のドメイン コントローラーの複製の構成を制御することができます。

例えば、ドメイン環境に東京、名古屋、大阪というサイトが存在したとしましょう。そのようなドメイン環境において、東京ー名古屋のサイト リンクと名古屋ー大阪のサイト リンクを作った場合を想定します。

同じサイト内であれば、ドメイン コントローラー間の複製のトポロジーは基本的には「リング トポロジー」となり、基本的には円を描くようにトポロジーが構成され、複製処理が行われます。

一方、サイト間の複製においては、東京と大阪間など名古屋を通じては繋がっているものの、東京と大阪は物理的には直接は繋がっていない場合も想定されます。サイトリンクを作成すると、サイト間のドメイン コントローラーの複製を制御することができます。東京ー名古屋のサイトリンクと名古屋ー大阪のサイト リンクを作ると、サイトリンクが存在するサイト間のみで複製が行われ、サイトリンクがない東京と大阪の間では複製は行われない構成にすることができます。

 

コストとは

サイト リンクを作成すると、サイト リンクに対してコストを設定することができます。このコストはサイト リンクの重みづけをするためのものであり、重みづけをすることによって、優先して利用させたいサイト リンクを定義することができます。コストの数値が小さい方が、効率がよい経路とみなされて優先されます。

例えば、ドメイン環境に東京、名古屋、大阪というサイトが存在したとしましょう。そのようなドメイン環境において、東京ー名古屋、名古屋ー大阪、東京ー大阪の3つのサイト リンクを作った場合を想定します。また、それぞれのサイトリンクに対して、コストを100、150、250 に設定したとします。

 

サイト間の複製の場合、各サイトから代表のドメイン コントローラーが 1 台選出され、代表のドメイン コントローラー同士でサイト間の複製を行うという処理になります。各サイトを一つのノードとしてとらえた時に、サイトの複製にはループしないように、全てのノードがつながるトポロジーを構成します。

今回のサイト構成の場合、以下のような複数の経路が考えられますが、サイトリンクのコストをもとに各経路のコストを算出し、一番コストの低い経路が効率的とみなされて選択されます

 

 

サイト間の複製間隔

サイト間の複製は、各サイトから代表のドメイン コントローラーが 1 台選出され、代表のドメイン コントローラー同士でサイト間の複製を行うという処理になります。サイト間の複製の間隔やスケジュールについて紹介します。

サイト間の複製の間隔

サイト内のドメイン コントローラーでは、データに変更があるとすぐに変更が反映されますが、サイト間ではネットワークが物理的に離れているため、頻繁なデータの複製があるのは望ましくありません。そのため、サイト間の複製は 3 時間に 1 回など、あらかじめ設定された間隔で変更箇所をまとめて複製するという動作になります。データの複製間隔はサイト リンクのプロパティ設定より行えます。

既定値は 3 時間に 1 回で、最短で 15 分間に 1 回という頻度を指定することができます。

 

サイト間の複製のスケジュール

サイト間の複製の頻度とは別に、データの複製を行える時間帯を定義することができます。例えば、夜の 1 時から 5 時はサイト間は複製しないという複製のスケジュールを設定することができます。


※青の部分がレプリケーションが行われる時間帯で、白の部分がレプリケーションが行われない時間帯です。

 

これにより、ドメイン環境でのネットワークのメンテナンス時間などの運用方針に応じて、サイト間で複製されるスケジュールを決めることができます。

 

自動サイト カバレッジ

自動サイト カバレッジとは、ドメイン コントローラーが存在しないサイトに、最もサイト コストが低いサイトのドメイン コントローラーを割り当てる機能のことです。

ネットワークの最適化のために拠点ごとにサイトを作り、そのサイトに所属するドメイン参加している端末は基本的には同じサイトのドメイン コントローラーにアクセスする動作となります。ただし、サイトを作成する際に、必ずサイトにドメイン コントローラーが所属している必要はなく、1 台もドメイン コントローラーが存在しないサイトを構成することも可能です。

ドメイン コントローラーが存在しないサイトに所属する端末は、どのサイトのドメイン コントローラーへアクセスするのでしょうか?ネットワークを最適化するために、端末が所属するサイトから一番近いサイトのドメイン コントローラーを利用する動作となります。

これを実現するのが、「自動サイト カバレッジ」という機能です。

例えば、ドメイン環境に東京、名古屋、大阪というサイトが存在したとしましょう。そのようなドメイン環境において、東京ー名古屋、名古屋ー大阪 の 2 つのサイト リンクを作った場合を想定します。また、それぞれのサイトリンクに対して、コストを100、150 に設定したとします。自動サイト カバレッジの動作としては、サイト リンクのコストを考慮して、コストが低い東京のサイトのドメイン コントローラーが利用されます。

ドメイン参加端末がドメイン コントローラーを探すときには、DC ロケーターを呼び出し、SRV レコードの名前解決をして利用可能なドメイン コントローラーをみつけます。

ドメイン コントローラー上で動作している Netlogon サービスは、自身が所属しているサイトの SRV レコードを登録します。自動サイト カバレッジの動作として、東京のサイトに所属するドメイン コントローラーは、名古屋のサイトもアクセスも請け負います。そのため、東京サイトのドメイン コントローラーの Netlogon サービスでは、以下の SRV レコードも登録する動作となります。

_ldap._tcp.Tokyo._sites.dc._msdcs.<ドメイン名>
_ldap._tcp.Nagoya._sites.dc._msdcs.<ドメイン名>

一方で、大阪サイトのドメイン コントローラーは、大阪のサイトのみが優先されるため、以下の SRV レコードが登録する動作となります。

_ldap._tcp.Osaka._sites.dc._msdcs.<ドメイン名>

 

このように、自動サイト カバレッジの機能の動作では、別のサイトの SRV レコードが登録されることがあります。自動サイト カバレッジを無効化して、別のサイトの SRV レコードが登録されないように構成するには、以下のポリシーもしくはレジストリを設定していただけますようお願い申し上げます。

パス: [コンピューターの構成] – [管理用テンプレート] – [システム] – [Net Logon] – [DC ロケーター DNS レコード]
ポリシー名: [DC ロケーター DNS SRV レコードによる自動サイト カバレージを使用する]
設定値: 無効

キー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

名前: AutoSiteCoverage

: REG_DWORD

設定値: 0

 

既定サイト

Default-First-Site-Name

Default-First-Site-Name は既定で自動作成されるサイトで、最初のドメイン コントローラーを構築した時に自動で所属されるサイトとなります。Default-First-Site-Name のサイトは何か特別な役割をもったサイトではなく、機能としては通常のサイトと同じです。そのため、ドメイン環境に合わせてサイト名を任意の名前に変更したり、削除しても問題ありません。

 

No Site

ドメイン参加している端末に割り当てられている IP アドレスが、サイトに紐づいているサブネットにもふくまれない場合があります。その場合は、その端末は “No Site” という、どのサイトにも所属していないという結果になります。

どのサイトにも所属していない場合、ドメイン コントローラーを探すときは最初からドメイン全体から利用可能なドメイン コントローラーを探すという動作になります。

そのため、基本的には No Site の端末があっても問題はないのですが、No Site の場合はドメイン コントローラーとの物理的なコストが全く考慮されないため、距離の離れたドメイン コントローラーを利用する可能性もでてきます。その場合、ドメイン コントローラーからの応答に時間がかかることもあります。

 

 

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