複製

第5回 レプリケーションのしくみ【MicrosoftのMVP解説!Active Directoryのハウツー読本】

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秒待ってから次の複製パートナーに変更通知を送ります。このように動作することで、あるタイミングでレプリケーション処理が集中してしまうことを回避しつつ、ほぼリアルタイムに複製をおこなうことでデータベースの内容を同一に保っているのです。...

セキュリティ , 一般 1 min read