Q

東京本社・大阪支社でサイトを構成してActive Directoryを運用しています。今度,新しくできた複数の事業拠点にネットワークを展開することになりました。本社・支社にはそれぞれ2台ずつドメイン・コントローラ(DC)があります。新しい拠点にはDCを置かない予定ですが,難しい条件があります。


△ 図をクリックすると拡大されます
図1●今回の質問の環境
 まず,現在DC上でログオンの履歴を記録しているため,各拠点のクライアントを,本社または支社どちらかのDCを指定してログオンさせなければなりません。また,出張の際に本社・支社から持ち出した端末がどこからつながれてもいつもと同じDCにログオンさせる必要があります。それに加えて,本社・支社ではそれぞれ1つのDCに高負荷な作業をさせており,できれば負荷のない方に普段の認証を受け持たせたいと考えています(図1)。

 以上の条件を満たすように,クライアントがログオンするDCを指定したいのですが,設定できますか?

A

拠点で利用するネットワーク・アドレス(サブネット)を本社あるいは支社サイトに組み込む方法,サイトの設定にかかわらず特定のクライアントを本社と支社のいずれかのサイトにログオンするようにグループ・ポリシーで設定する方法,ログオンするDCに優先順位を付ける方法——を組み合わせることで実現できます。

サイトを使ってログオン先DCを制限
 まず,新しくできる拠点にはDCを置きません。従ってクライアントは,本社と支社のいずれかのDCをドメインへのログオンに利用することになります。Active Directoryでは,コンピュータが属する立地的な配置関係を表す「サイト」という概念があり,これを利用してログオンするDCをある程度制限できます。サイトが設定された環境では,通常以下のようにログオンを行おうとします。

・サイトにクライアントのサブネット(ネットワーク・アドレス)が関連付けられていれば,そのサイト内に存在する任意のDCにログオンします。
・どのサイトにもクライアントのサブネットが関連付けられていなければ,クライアントのサブネットと同一のサブネットを持つ任意のDCにログオンします。
・上記に当てはまらない(あるいはログオンに失敗した)場合は,サイト外にある任意のDCにログオンします。実際にはある程度ネットワーク的に近いと考えられるものを自動的に選択します。

 残念ながら,サイトの機能では,クライアントが明示的に,1台のDCを特定してログオンすることは,基本的にできません。しかし,ログオン先をこの程度に制限しておくことで十分な場合は一般に多いと思います。

ADのサイト管理ツールで設定
 では,実際の設定方法を説明しましょう。最初は,拠点のサブネットを,ログオンさせたいDCがあるサイトに関連付ける方法を示します。これにより,そのサブネットのクライアントは関連付けられたサイトにある任意のDCに優先的に接続してログオンします。従って,各拠点のクライアントを,本社または支社のどちらかのDCを指定してログオンさせるという条件を満たせるようになります。

 サイトとサブネットを必ずしも1対1に対応させる必要はありません。複数のサブネットを1つのサイトに関連付けられます。ここでは東京本社が[Tokyo]というサイトを,大阪支社が[Osaka]というサイトをそれぞれ構成しているとしましょう。

(1)[Active Directoryサイトとサービス]スナップインを開き,[Site]コンテナ配下の[Tokyo]および[Osaka]サイト・オブジェクト内にDCが所属しているかを(念のため)確認します。


△ 図をクリックすると拡大されます
図2●新しい拠点のサブネットを既存のサイトに含める
(2)[Subnets]コンテナを右クリックして,[新しいサブネット]をクリックすると表示される画面で,新しく作る拠点のネットワーク・アドレスとサブネット・マスク,所属させたいサイトを指定して,[OK]ボタンをクリックします。これを必要な拠点の数だけ繰り返します。また本社および支社のサブネット・オブジェクトが存在することも確認し,無いようなら同じ要領で設定します(図2)。
(3)すべてのDC間の複製完了を待ちます。サイト間の複製はサイト内複製より時間がかかるため,必要であれば[Active Directoryサイトとサービス]スナップインにある「接続オブジェクト」の操作やrepadminコマンドなどを使って複製します。

 上記の設定が完了すると,拠点のサブネットに含まれるIPアドレスを持つクライアントは,サブネットに関連付けられたサイトにある任意のDCにログオンするようになりますが,すぐ反映するにはクライアントの複数回の起動が必要です。

持ち出し端末に優先サイトを設定
 次に,指定したクライアントだけ,どのネットワークにつなげても,決められたサイト内のDCでログオンさせるようにしましょう。出張の際に,本社・支社から持ち出した端末をどこからつないでもいつもと同じDCにログオンさせるという条件を満たすために必要になります。ここでは,自分の支社(のサブネットが属するサイトのDC)に優先的にログオンさせることにします。これは,グループ・ポリシーを利用して,ログオンするDCがあるサイトをコンピュータ・ベースで指定することで実現します。


△ 図をクリックすると拡大されます
図3●持ち出し端末のログオン先サイトを指定するグループ・ポリシーの設定
 設定方法は,以下のようになります。

(1)必要なOU(組織単位)階層を構成します。ログオンさせたいサイト別にコンピュータ・オブジェクトが分かれるよう,OUを構成するとよいでしょう(図3)。
(2)グループ・ポリシーをリンクさせたいOU(このケースでは各[Mobile]OU)の[プロパティ]にある[グループポリシー]タブから,新規のグループ・ポリシーをそれぞれ作成し,ポリシーの編集画面から[コンピュータの構成]−[管理用テンプレート]−[システム]−[ネットログオン]の[サイト名]にログオンさせたいサイト名(「Tokyo」および「Osaka」)を入力します。
(3)グループ・ポリシーがすべてのDCに適用されるのを待ちます。必要に応じて,ポリシーをすぐ適用するgpupdateコマンドなどを使います。


△ 図をクリックすると拡大されます
図4●アクセス許可でグループ・ポリシーの適用対象を指定する
(4)手順(1)で示したOU構成が取れないような場合,該当するコンピュータ・オブジェクトをメンバーとするグループを作成し,ドメインにポリシーをリンクさせた上,グループ・ポリシーのアクセス権限でそのグループだけに適用するよう設定すれば,OU階層にかかわらず同じようにポリシーの適用が可能となります(図4)。

 この設定が完了すると,[Mobile]というOUに所属するクライアントはどのネットワークにあっても,ログオン時に,指定されたサイトにある任意のDCを利用するようになります。ただし,これらの設定はいずれも,優先的にそのサイトを利用しようとするだけで,指定したサイト以外のDCへのログオンを禁止できません。

 また,上記ポリシーを設定した場合,クライアントに反映されるまでに2回の再起動が必要な場合があります。これは,最初にポリシー内容が変更されたことだけがコンピュータに通知され,次回のポリシー適用時に内容が反映された段階で発効するためです。

 注意点もあります。これらの設定はクライアントがネットワーク上最適なDCを選択するプロセスを強制的に変更するため,ネットワーク的に(サイト・コストを含む)遠くのネットワーク・アドレス(サイト)を選択した場合,ログオンに時間がかかるなどの問題が生じることがあります。

各サイト内のDCに優先順位を設定
 最後に,本社や支社にそれぞれ複数あるDCのうち,負荷のない方に普段の認証を受け持たせたいという条件を満たす設定を紹介しましょう。

 通常,同一サイト内では,クライアントは任意のDCにログオンします。これはサイト内のDCはネットワーク的には対等に位置付けられているためです。

 ただし,DCに優先順位を設定すると,サイト内であってもログオンを受け付けるDCの利用順序を決められます。今回の場合は「負荷の高いDCが後回しに認証する」ように設定します。この設定方法は,以下のようになります。


△ 図をクリックすると拡大されます
図5●特定のDCにログオンさせる設定
(1)負荷の高いDC上でレジストリ・エディタを起動し,HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\Netlogon
\Parametersキーを探します。
(2)そのキーの配下に,新規のレジストリ値をDWORD値として作成し,[LdapSrvPriority]という値の名前を設定します(図5)。
(3)レジストリ値アイコンをダブル・クリックして変更画面を表示し,[表記]欄の[10進]を選択した上,数値を「200」と設定します。
(4)レジストリ・エディタを終了し,設定したDCを再起動すると以上の値が反映されます。


△ 図をクリックすると拡大されます
図6●DNSサーバーで優先順位の設定を確認できる
 上記設定を終えたら,Active DirectoryのDNSゾーンに登録された,DCのSRVレコードに反映されているか確認してください(図6)。この設定を行うことで,負荷の高いDCの優先順位が「200」に,もう1台のDCの優先順位がデフォルトの「0」になります。優先順位の設定では,数値が小さくなるほど優先順位が高くなり(先に参照され)ます。詳細はマイクロソフトのWebサイト「Reducing the workload on the PDC emulator master」を参照してください。


△ 図をクリックすると拡大されます
図7●サイト内DC間での,クライアント要求に対するログオン認証する応答割合を変更する

△ 図をクリックすると拡大されます
図8●DNSサーバーで「重さ」の設定を確認できる
 なお優先順位ではなく,サイト内DCの,クライアント要求に対するログオン認証の応答割合を変更しても同様なことが可能です(図78)。この場合,上記(2)の手順で[LdapSrvWeight]という名前のレジストリ値を設定し,ログオン時に使うサービスに対する重み付けを変えます。例えばこの値を「50」(10進数)と設定するともう1つのサーバーでの初期値である「100」と比較して,おおよそ1対2の割合で応答回数を減らせます。こちらも詳細は,上記Webサイトを参照してください。

 最後に付け加えます。ローカル・グループ・ポリシーの[コンピュータの構成]−[管理用テンプレート]−[システム]−[ネットログオン]−[DCロケータDNSレコード]の[DCロケータDNS SRVレコードの優先順位設定]項目から同様の設定を行うことも可能なように見えますが,実際に設定して確認したところ,最終的には期待した動作とはなりませんでした。現時点ではこのポリシー項目はうまく利用できないと考えるのが妥当です。


NTTデータ先端技術 SE部コンサルタント