View a markdown version of this page

DNS _msdcs ゾーンのモダナイゼーション - AWS Directory Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

DNS _msdcs ゾーンのモダナイゼーション

Hybrid AD ディレクトリを作成する前に DNS _msdcs ゾーンをモダナイズすることが必須の前提条件です。最新の Active Directory 環境では、 _msdcs.<ForestRoot>は、ForestDnsZones アプリケーションパーティションに保存されている別のフォレスト全体のレプリケートゾーンとして作成されます。もともと Windows NT 4.0 または Windows 2000 上に構築された (その後アップグレードされた) レガシー環境では、 _msdcsは決して分離されず、単に親ドメインゾーンファイル内の標準サブドメイン (サブフォルダ) としてのみ存在します。

DNS がインストールされた状態で新しいドメインコントローラーが昇格すると、そのインストールプロセスは専用の_msdcs.<ForestRoot>アプリケーションパーティションを検索します。スタンドアロンゾーンは見つからないため、ローカルに新しい空白_msdcsゾーンが自動的に作成され、その名前空間に対する権限が要求されます。これにより、新しい DC が親ゾーンのレガシーサブドメインレコードを読み取るのが完全にオフになり、NS 委任がそれ自体を指すように更新されます。

その結果、アーキテクチャの競合が発生します。ドメインに参加しているすべてのクライアントは、空の_msdcsゾーンを持つ DC を参照されるようになりましたが、実際の DC ロケーターレコード (_ldap._tcp.dc._msdcs_kerberos._tcp.dc._msdcs、グローバルカタログレコード、DC GUID CNAMEs) は、クライアントがアクセスできない古い親ゾーンのサブドメインでストランドされたままになります。これにより、Kerberos 認証、LDAP 検出、サイト対応の DC ロケーションがフォレスト全体で中断されます。

レガシーゾーンとモダン_msdcsゾーンの設計

レガシー (委任サブドメイン)

Windows Server 2000、2003、2008、および 2008 R2 のデフォルト。この設計では、 は親ゾーンの下に委任サブドメインとして_msdcs存在します。親ゾーンの NS レコードは、_msdcs名前空間の権威として特定の DCs を指します。

Modern (スタンドアロンゾーン)

Windows Server 2012 以降のデフォルト。この設計では、 は独自の AD 統合ゾーンとして_msdcs.<forest>存在し、ForestDnsZones アプリケーションパーティションを介してフォレスト内のすべての DCs にレプリケートされます。すべての DCs は権威があり、レコードを直接読み書きできます。

_msdcs ゾーン設計を特定する方法

_msdcs ゾーン設計を特定するには、任意のドメインコントローラーで以下を実行します。

  1. すべての DNS ゾーンを一覧表示し、 を探します_msdcs

    Get-DnsServerZone | Where-Object { $_.ZoneName -like "*_msdcs*" }

    最新の設計 (アクションは不要) — プライマリゾーンとして_msdcs.<forest-name>表示されます。

    ZoneName ZoneType IsAutoCreated IsDsIntegrated IsReverseLookupZone IsSigned -------- -------- ------------- -------------- ------------------- -------- _msdcs.premier.local Primary False True False False

    レガシー設計 (変換が必要) — ゾーンリストには表示_msdcs.<forest-name>されません。代わりに、 はフォレストゾーンの委任サブドメインとしてのみ_msdcs存在します。これを確認するには、委任 NS レコードを確認します。

    Get-DnsServerResourceRecord -ZoneName "<forest-name>" -Name "_msdcs" -RRType NS

    NS レコードが返された場合、環境は従来の委任サブドメイン設計を使用します。

  2. 追加の検証 — ゾーンタイプを確認します。

    # This will succeed on modern design Get-DnsServerZone -Name "_msdcs.<forest-name>" # If you get an error like "Zone _msdcs.<forest-name> was not found", you have the legacy design

DNS _msdcs ゾーンをモダナイズする方法

これらのステップは、 AWS Managed Microsoft AD Hybrid ディレクトリの作成を開始する前に実行する必要があります。すべてのステップは、ドメイン管理者および DnsAdmins 権限を持つ DNS Manager アクセスを持つ既存のセルフマネージドドメインコントローラーで実行されます。

  1. スタンドアロン_msdcsゾーンを作成する

    既存のセルフマネージド型ドメインコントローラーの場合:

    dnscmd localhost /ZoneAdd "_msdcs.<forest-name>" /DsPrimary /dp /forest

    これにより、フォレスト全体のレプリケーションスコープを持つ専用の AD 統合ゾーン_msdcs.<forest-name>として が作成されます。フォレスト内のすべての DCs は、ForestDnsZones パーティションを介してコピーを受け取ります。

    AD レプリケーションが伝達されるまで待ちます。

    repadmin /syncall /AeD

    ゾーンが存在することを確認します (複数の DCsで実行)。

    Get-DnsServerZone -Name "_msdcs.<forest-name>"
  2. 親ゾーンから古い委任を削除する

    古い_msdcsサブドメインノードとそのレコードは、親ゾーンにまだ存在します。これらを削除して、DNS クエリが新しいスタンドアロンゾーンからのみ処理されるようにする必要があります。

    # Remove the _msdcs subtree (NS delegation + all child records) from the parent zone dnscmd localhost /NodeDelete <forest-name> _msdcs /tree /f
    重要

    このステップは、ステップ 1 でスタンドアロンゾーンが正常に作成されたことを確認した後にのみ実行します。ステップ 1 をスキップすると、古いレコードを削除するとすぐに停止します。

  3. すべての DCsを強制する

    古いサブドメインが削除され、新しいスタンドアロンゾーンが設定されると、すべての DCsロケーターレコードを新しいゾーンに再登録する必要があります。

    オンプレミスのすべてのドメインコントローラーで以下を実行します。

    # Flush DNS cache ipconfig /flushdns # Restart Netlogon — this triggers re-registration of all SRV, CNAME, and A records net stop netlogon net start netlogon # Force host record registration ipconfig /registerdns
  4. 検証

    レプリケーションまで 5~10 分待ってから、以下を確認します。

    新しいスタンドアロンゾーンに入力されたレコードを確認します。

    Get-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -RRType SRV

    すべてのオンプレミス DCs の _ldap._tcp.dc_kerberos._tcp.dc_ldap._tcp.gc、、およびサイト固有のレコードが表示されます。

    DNS 解決がend-to-endで機能することを確認します。

    Resolve-DnsName "_ldap._tcp.dc._msdcs.<forest-name>" -Type SRV Resolve-DnsName "_kerberos._tcp.dc._msdcs.<forest-name>" -Type SRV

    すべてのオンプレミス DCsが結果に表示されます。

    古い委任が親ゾーンから削除されていることを確認します。

    Get-DnsServerResourceRecord -ZoneName "<forest-name>" -Name "_msdcs" -RRType NS -ErrorAction SilentlyContinue

    これにより何も返されません。

    DNS _msdcs ゾーンのモダナイズの詳細については、Microsoft Core Infrastructure and Security Blog ウェブサイトの「How to Split and Migrate Child Domain DNS Records to a Dedicated DNS Zone」を参照してください。

トラブルシューティング

ステップ 3 の後に新しいスタンドアロンゾーンが空のままの場合:

レコードがすでに存在すると思われる場合、Netlogon は再登録しないことがあります。クリーン再登録を強制します。

# Delete the Netlogon DNS registration cache Remove-Item "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DnsAvoidRegisterRecords" -ErrorAction SilentlyContinue # Restart Netlogon again net stop netlogon net start netlogon

レコードがまだ表示されない場合は、古い親ゾーン (バックアップまたはそれらをキャッシュした他の DCs から使用可能) の値を使用して、重要なレコードを手動で作成します。

# Example: SRV record for LDAP DC locator Add-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -Name "_ldap._tcp.dc" -Srv -DomainName "dc1.<forest-name>" -Priority 0 -Weight 100 -Port 389 # Example: SRV record for Kerberos DC locator Add-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -Name "_kerberos._tcp.dc" -Srv -DomainName "dc1.<forest-name>" -Priority 0 -Weight 100 -Port 88

変換後もアプリケーションが失敗している場合:

影響を受けるアプリケーションサーバーとクライアントマシンの DNS キャッシュをフラッシュします。

ipconfig /flushdns

負の DNS キャッシュエントリ (停止期間から) は、有効期限が切れるまで最大 900 秒 (15 分) 保持される場合があります。