Reading Time: 1 minutes
この記事の所要時間: 約 4分

今回の記事のポイント
・ レプリケーション(複製)のしくみについて解説

 
皆さんこんにちは。Active Directoryのコラムを担当している新井です。第3回のコラムで、データベースファイル内には論理的な仕切り (パーティション) があり、どの情報がどのパーティションに格納されるが決まっていること、またパーティションによってどの範囲のドメインコントローラーに複製されるかが異なることについて解説しました。今回は、その複製のしくみについて解説します。

ドメインコントローラーは、組織内のユーザー認証など重要な役割を持つサーバーです。ドメインコントローラーがダウンしてしまうと、認証ができなくなり、システム全体に大きな影響を及ぼしてしまいます。そこで、一般的な運用ではドメインコントローラーを2台以上用意し、どのドメインコントローラーでも同じ情報を使用して認証でき、いずれかのドメインコントローラーがダウンした場合でも認証を継続できるようにすることが求められます。そして、そのためには、どのドメインコントローラーも同じ内容のデータベースを保有している必要があります。

■ ドメインコントローラー間でおこなわれるレプリケーション

ドメインコントローラー間でデータベースの同期をとるために使われるのが、レプリケーションと呼ばれる複製のしくみです。ドメインコントローラー同士はレプリケーションの処理をおこなうことで、保持しているデータベースの内容を定期的に確認し、それぞれが保有するデータベースの内容が同一となるように同期をとっています。この動作によって、ドメインコントローラーがホストしているデータベースは他のドメインコントローラーに複製されます。例えば、DC1でユーザーを作成すれば、その変更内容はほぼリアルタイムにDC2に反映されます。逆もまた然り、DC2でユーザーの部署などのプロパティの変更が行われれば、その変更内容はDC1にほぼリアルタイムで反映されます。RODCを除く、通常のドメインコントローラーであればどのドメインコントローラーでもデータベースに対する変更をおこなうことができるようになっており、その変更内容は他のドメインコントローラーに複製されます。このような動作により、データベースの整合性が保たれているのです。

■ 複製のための特別な設定は不要

前回のコラムでは、追加のドメインコントローラーを展開することについて解説しましたが、特別な設定をしなくてもレプリケーションは自動的に動作します。2台目以降のドメインコントローラーを追加すると、どのドメインコントローラーとどのドメインコントローラーの間で複製をおこなうかがシステムによって決定され、複製が開始されるようになっているのです。つまり、複数のドメインコントローラーを展開するだけで、結果的にドメインコントローラーの負荷分散や障害対策になります。
どのドメインコントローラーがどのドメインコントローラーと複製をおこなうのかは、「Active Directoryサイトとサービス」という管理ツールによって確認することができます。この管理ツールはドメインコントローラーに既定でインストールされ、管理ツールを開いてツリーを展開すると、選択したドメインコントローラーの直接の複製相手である「複製パートナー」を確認することができます。

既定では自動的に複製パートナーが決定されますが、管理者が手動で複製パートナーを設定することも可能です。2台のドメインコントローラーではお互いが複製パートナーになりますが、3台以上のドメインコントローラーがいるシナリオでは必ずしもレプリケーションが直接的におこなうことが最適とは限らないからです。そのため、DC1の複製パートナーとしてDC2とDC3の両方を設定することもできますし、DC1の複製パートナーはDC2のみに設定し、DC2を介してDC3に伝達されるように構成することも可能です。

■ レプリケーション処理のタイミング

ドメインコントローラー間でおこなわれるレプリケーションは、変更通知を用いたプルレプリケーションです。ただし、複製パートナーが複数存在する場合には、同時にレプリケーションがおこなわれるのではなく、少しだけタイミングをずらして処理がおこなわれるようになっています。例えば、あるドメインコントローラーがデータベースに対して変更をおこなった場合、15秒待ってから1つ目の複製パートナーに変更通知を送ります。その変更通知を受け取ったドメインコントローラーは、変更の差分情報を要求し、レプリケートをおこないます。複製パートナーが複数存在する場合には、さらに3秒待ってから次の複製パートナーに変更通知を送ります。このように動作することで、あるタイミングでレプリケーション処理が集中してしまうことを回避しつつ、ほぼリアルタイムに複製をおこなうことでデータベースの内容を同一に保っているのです。

今回のコラムでは、既定でどのようにレプリケーションが動作するのかについて解説しました。しかし、組織内にいくつかの拠点があり、拠点間のレプリケーションの間隔や頻度などを環境に合わせて変更したい場合もあります。このようなニーズに対応する方法は次のコラムで解説しますので、次回も楽しみにしていてください。

筆者紹介
新井 慎太朗 (あらい しんたろう)
株式会社ソフィアネットワークに勤務し、2009年よりマイクロソフト認定トレーナーとしてトレーニングの開催やコース開発に従事。前職である会計ソフトメーカー勤務時には、会計ソフトの導入サポート支援や業務別講習会講師を担当。これらの経歴も活かして、ユーザー視点や過去の経験談なども交えながらのトレーニングを提供。主にWindows OS、仮想化技術関連のマイクロソフト認定コースを中心に講師として活動しながら、近年の書籍の執筆などの活動も評価され、2017年からMicrosoft MVP for Enterprise Mobilityを受賞。
主な著作は『ひと目でわかるAzure Information Protection』 (日経BP)、『徹底攻略MCP問題集 Windows Server 2016』『徹底攻略MCP問題集 Windows 10』(インプレスジャパン)、『ひとり情シスのためのWindows Server逆引きデザインパターン』 (エクスナレッジ) など。

 
>> 第6回 Active Directoryのサイト



▼▼ 過去記事はこちら ▼▼
【MicrosoftのMVP解説!Active Directoryのハウツー読本】第3回 Active Directoryのキホン(2)
【MicrosoftのMVP解説!Active Directoryのハウツー読本】第4回 ドメインコントローラーの展開方法

▼▼ 別シリーズのブログ記事もチェック! ▼▼
【MicrosoftのMVP解説!AzureADの虎の巻】第1回 AzureADを利用する意味
【MicrosoftのMVP解説!AzureADの虎の巻】第2回 Azure ADを使って安全にクラウドサービスへアクセスする