いまさら聞けないドメイン/ドメインコントローラーの役割今だからこそ学び直すActive Directory基礎のキソ(2)

「オンプレミスからクラウドへ」という時代の流れによって、「Active Directory」を新規構築する機会は少なくなりました。それ故、現存するActive Directoryが「どのような意図があってその構成なのか?」「どのような構成であるべきか?」を知る機会も少なくなったと思います。そうしたことを解明するため、今回はActive Directoryの構成要素である「ドメイン」と「ドメインコントローラー」について学び直します。

» 2024年07月04日 05時00分 公開
[国井傑株式会社エストディアン]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

今だからこそ学び直すActive Directory基礎のキソ

今だからこそ学び直すActive Directory基礎のキソ

「ドメイン」って何? 「ドメインコントローラー」って何?

 前回、Microsoftの「Active Directory」は「Windows Server」に付属する機能であり、オンプレミス環境のシステムに対するID管理サービスを提供することを解説しました。そして、ID管理サービスは社内にあるサーバ(リソース)にアクセスするために必要な「認証」と「認可」を“一元的に管理するための仕組み”であると説明しました。

 一度Active Directoryに「ユーザー名」と「パスワード」を入力してサインインすることで、Active Directoryで管理されているサーバ(リソース)へ自動的にアクセスできるようになることも解説しました。この一度のサインインでユーザーがアクセスできる範囲を「ドメイン」と呼びます。

 ドメイン環境では、ユーザー名に対するパスワードが正しいことを判断するためのサーバが必要で、このサーバを「ドメインコントローラー」と呼びます。

 以上を踏まえると、ドメイン環境は次の要素から構成されることになります(図1)。

(1)ドメインコントローラー

(2)ドメインに登録されたアクセスしたいサーバ

(3)サーバにアクセスしたいユーザーが利用するクライアントコンピュータ


ALT 図1 ドメインを取り巻く環境を構成する要素

 ドメイン環境を構築するには、Windows Serverに「ドメインコントローラーの役割」をインストールしておくことと、ドメイン環境内でリソースを提供するサーバとユーザーが利用するコンピュータをそれぞれドメインに登録する必要があります。なお、ドメインコントローラーのインストール方法は以下の記事が詳しいので参考にしてください。

 以降はドメインコントローラーを詳しく解説していきます。

ドメインコントローラーはどう構成する?

 ドメインコントローラーは、ユーザー名やパスワードなどの情報をデータベースとして保持するサーバです。前出の図1からも分かるように、ドメインコントローラーは「認証」と「認可」を一手に引き受けるサーバであるため、障害などで停止したり、ネットワークが不安定でアクセスできなくなったりすれば、業務にも影響が出てしまいます。

 そのため、ドメインコントローラーとなるサーバは複数台用意しておき、他のサーバやクライアントから、いつでも確実にアクセスできるようにしておくことが重要になります。

ALT 図2 障害が発生しても、ドメインコントローラーには常にアクセスできるように複数台用意するのが常識

ドメインコントローラーの役割と情報の複製

 1つのドメインにドメインコントローラーが複数台あると、ドメインコントローラーAとドメインコントローラーBで別々の情報が保存されるという、いわゆる「整合性の問題」が発生する可能性があります。

 この問題を解決するために、Active Directoryでは「マルチマスタレプリケーションシステム」と呼ばれる仕組みを採用しています。例えば、AとB、2つのドメインコントローラーがある場合、マルチマスタレプリケーションシステムでは、Aでユーザーを作成するとその情報がBにも自動的に複製され、同じ情報を保持するようになります。この仕組みはBからAに複製する場合も同じです。つまり、AとB、どちらでユーザーやグループを作成したり、変更したりしても最終的には両方で必ず同じ情報を持つことになります。

 情報を複製するタイミングなどについては、既に別の記事で解説されているのでそちらを参考にしてください。

 前出の図2のように、AとBの2台のドメインコントローラーがある場合、AとBのどちらでユーザーを作成しても同じ情報を持つことになりますが、一部の情報だけは必ず特定のドメインコントローラーに書き込まなければならない情報があります。それが「FSMO(Flexible Single Master Operations:〈フィズモ〉と発音します)」です。FSMOは、ドメインまたはフォレストで1台のドメインコントローラーだけがその役割を持つように構成する必要があります(フォレストについてはこの後の連載で詳しく解説します)。

 ドメインコントローラーが担う役割は以下の表の通りです。

ドメインコントローラーの役割 説明
スキーママスター Active Directoryデータベースのスキーマを管理する。フォレスト内で1台のドメインコントローラーがこの役割を担う
ドメイン名前付けマスター フォレスト内のドメイン一覧を管理する。フォレスト内で1台のドメインコントローラーがこの役割を担う
RIDマスター ユーザー作成時に割り当てられるIDに関わる情報(RID)を管理する。ドメイン内で1台のドメインコントローラーがこの役割を担う
PDCエミュレーター システム時刻の管理とパスワード/グループポリシーの変更を管理する。ドメイン内で1台のドメインコントローラーがこの役割を担う
インフラストラクチャマスター 他のドメインにあるオブジェクトに関する情報を管理する。ドメイン内で1台のドメインコントローラーがこの役割を担う

 上記表の役割は、最初に構成されたドメインコントローラーに割り当てられますが、後で変更することも可能です。役割を持つサーバの変更方法は既に別の記事で解説されているので、そちらを参考にしてください。

 「ドメイン名前付けマスター」は新しいドメインを追加する際に使用するため、日常の運用管理で意識する必要はありません。しかし、「PDC(プライマリードメインコントローラー)エミュレーター」だけは、パスワードの変更やグループポリシーの設定変更を管理するため、重要な役割を担うドメインコントローラーといえます。そのことを理解するために、まずは以下の図3を見てください。

ALT 図3 PDC(プライマリードメインコントローラー)エミュレーターの役割

 図3の左側では、Active Directoryに作成された“グループのメンバーを変更する際の複製の動き”を示しています。グループのメンバー変更のような通常の複製は、クライアント(管理端末)からの要求を受け取ったドメインコントローラーが直接他のドメインコントローラーへ変更情報を複製します。

 一方、図3の右側では、“パスワードを変更する際の複製の動き”を示しています。パスワードの管理では、PDCエミュレーターとなるドメインコントローラーが“マスター”となります。そのため、クライアント(管理端末)からのパスワード変更要求をドメインコントローラーが受け取ると、その変更情報はマスターであるPDCエミュレーターにだけ複製されます。PDCエミュレーターにパスワード変更情報が複製された後、その他のドメインコントローラーにPDCエミュレーターから改めて変更情報が複製されます。このようにパスワード変更のような操作は“必ずPDCエミュレーターを介して複製される”ため、どのドメインコントローラーにPDCエミュレーターの役割を担わせるかはドメイン構築上の重要なポイントになります。

ドメインコントローラーとDNSサーバの密な関係

 ドメインに参加しているクライアントコンピュータがドメインコントローラーにアクセスする場合、ドメインコントローラーの場所が分からなければなりません。Active Directoryではドメイン参加のコンピュータがドメインコントローラーを探す際に、「DNS(Domain Name System)」を使用します。

 通常はドメインコントローラーを構成する際に一緒にDNSサーバも構成し、その中にドメインコントローラーの場所に関わる情報を格納します。ドメイン参加のコンピュータは自分のTCP/IPのDNSサーバ設定にドメインコントローラーのDNSサーバアドレスを設定しておくことで、DNSサーバにアクセスし、ドメインコントローラーの場所を特定し、ドメインコントローラーとの通信を開始するようになります。

ALT 図4 ドメインに参加しているコンピュータはDNSサーバでドメインコントローラーの場所を特定してアクセスする

 DNSサーバはActive Directory環境では欠かせないものであり、「DNSサーバにアクセスできない」「DNSサーバのレコードがない」などのトラブルがあれば、Active Directoryそのものが利用できなくなります。

 Active Directoryで使用するDNSサーバのレコードは自動的に管理されるため、「ドメインコントローラーのIPアドレスを変更した」といった場合でも、それに合わせて自動的にDNSサーバのレコードも変更されます。そのため、DNSサーバのメンテナンスは基本的には不要です。しかし、こうした仕組みで動作していることを知っておかないと、いざというときのトラブルシューティングに苦しみますので、ぜひ理解しておきましょう。

グローバルカタログ(GC)って何?

 「グローバルカタログ(GC)」は“Active Directoryの検索用データベース”です。Active Directory内で情報を検索したり、Active Directoryの管理ツールからユーザーが所属するグループ一覧を参照したりする際に活用します。「Microsoft Exchange Server」など、一部のサーバアプリケーションはGCを持つドメインコントローラーにアクセスできないと利用できないケースがあるため、FSMOと同様、GCを持つドメインコントローラーは特に重要なドメインコントローラーとなります。

 GCはドメインコントローラー内に作成されますが、全てのドメインコントローラーが保持するわけではなく、指定したドメインコントローラーだけに作成されます。GCの設定方法は既に別の記事で解説されているので、そちらを参考にしてください。

 FSMOとは異なり、GCは複数のドメインコントローラーに作成できます。そのため、小規模なActive Directory環境では、全てのドメインコントローラーにGCを保持させるように構成することがあります。GCの設定は「サイト」の構成にも依存するため、後続の回で解説する際にGCの配置ポイントについても解説します。

 今回はドメインとドメインコントローラーを解説しました。今回の内容を参考にして自社内のActive Directory環境の構成を確認してみるとよいでしょう。「どのような意図で現在の構成になっているのか?」「この先も現状の構成のままでよいのかどうか?」などをより深く理解したり、再検討したりするよいきっかけになると思います。

筆者紹介

国井 傑(くにい すぐる)

株式会社エストディアン代表取締役。1997年からマイクロソフト認定トレーナーとして、Azure Active DirectoryやMicrosoft 365 Defenderなど、クラウドセキュリティを中心としたトレーニングを提供している。2007年からMicrosoft MVP for Enterprise Mobilityを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。