Active Directory(AD)診断ツールは、Google Cloud のオンプレミス ドメインと Cloud SQL for SQL Server インスタンスの AD セットアップに関する問題のトラブルシューティングに役立つユーティリティ PowerShell スクリプトです。
このツールは、閉じたポート、FQDN ルックアップ、DNS の問題など、さまざまな問題のチェックを実行します。オンプレミス ドメインのドメイン コントローラの 1 つであるオンプレミスの Windows VM 上で動作します。
このページでは、Cloud SQL の Active Directory 診断ツールの使用方法と、このツールが実行するチェックについて説明します。
前提条件
AD 診断ツールを使用する前に、次のコンポーネントが設定されていることを確認してください。
- AD が有効なオンプレミス ドメイン。
- Google Cloud コンソールの Managed AD ドメイン。
- Managed AD ドメインに参加した Cloud SQL for SQL Server インスタンス。
AD 診断ツールの使用方法
AD 診断ツールを使用するには、次の手順を行います。
- オンプレミス ドメイン コントローラーまたはオンプレミス ドメインに参加している VM のいずれかにログオンします。
- VM に
diagnose_ad.ps1
スクリプトをダウンロードします。 - 管理者として PowerShell を起動します。
次のコマンドを使用して、PowerShell ウィンドウで
diagnose_ad.ps1
スクリプトを実行します。powershell -command "& { . C:\\<var>SCRIPT_PATH</var>\\diagnose_ad.ps1; Run-Tool }"
プロンプトが表示されたら、次の情報を入力します。
- オンプレミス ドメイン名(
my-onprem-domain.com
など) - Managed AD ドメイン名(
my-ad-domain.com
など) - SQL Server Active Directory FQDN とプライベート IP アドレスのリスト。このリストは、Google Cloud コンソールのインスタンスの [概要] ページで確認できます。
- オンプレミス ドメイン名(
このツールが、AD 診断ツールによって実行されるチェックで説明されているように、いくつかのチェックを実行します。
AD 診断ツールによって実行されるチェック
チェック | 説明 | 注意事項と推奨事項 |
---|---|---|
利用可能なドメイン コントローラ | オンプレミス ドメインの各ドメイン コントローラの IP アドレスに ping を発行し、到達可能であることを確認します。 | 残りのチェックは、到達可能であった IP アドレスに対して行われます。このチェックに失敗した場合は、残りのオンプレミス ドメイン コントローラへのネットワーク接続を確認します。詳細については、 ネットワーク インフラストラクチャの作成をご覧ください。 |
ポート | AD に必要なすべての TCP ポートと UDP ポートがすべてのオンプレミス ドメイン コントローラで開いていることを確認します。 | このチェックでは、オープンポートのリストが一貫していない、RPC ポート範囲(49152 ~ 65535)の警告ステータスが返されます。この範囲を許可するファイアウォール ルールが設定されていることを確認することをおすすめします。詳細については、 ファイアウォール ポートを開くをご覧ください。 |
DNS サーバー | 正常でフォールト トレラントな AD 設定を確認します。 | スクリプトがオンプレミスのドメイン コントローラで実行されていない場合、このチェックは警告を返します。プライマリ DNS とセカンダリ DNS サーバーを設定して、フォールト トレラントな AD 設定をデプロイすることをおすすめします。 |
FQDN(マネージド AD ドメイン) | 指定したマネージド AD ドメイン名に対して nslookup を実行します。 | このチェックは、Managed AD ドメインがオンプレミス ドメイン コントローラから到達可能かどうかを検証します。障害が発生した場合は、オンプレミス ネットワークと Google Cloud Virtual Private Cloud(VPC)の間のネットワーク接続の確立を試みます。詳細については、 ネットワーク接続の確立をご覧ください。 |
FQDN(SQL Server) | 指定した SQL Server FQDN に対して nslookup を実行します。 | このチェックは、オンプレミス ドメイン コントローラからインスタンスに到達できるかどうかを検証します。障害が発生した場合は、オンプレミス ネットワークと Google Cloud Virtual Private Cloud(VPC)の間のネットワーク接続の確立を試みます。詳細については、 ネットワーク接続の確立をご覧ください。 |
DC レプリケーション | オンプレミス ドメイン コントローラ間の AD レプリケーション エラーを探します。 | PowerShell が Active Directory ドメイン ユーザーとして実行されていて、スクリプトがオンプレミス ドメインに参加した VM で実行されている場合、失敗ステータスが想定されます。このチェックが失敗した場合は、 インストールのテストの手順に従ってください。 |
DNS 転送 | オンプレミス ドメイン コントローラからマネージド AD ドメイン コントローラにリクエストをルーティングするために必要となる、オンプレミス ドメイン コントローラでの条件付き DNS 転送設定を探します。 | スクリプトがオンプレミス ドメイン コントローラで実行されていない場合、このチェックは失敗する可能性があります。 DNS 条件付きフォワーダーを構成することをおすすめします。 |
信頼の設定 | オンプレミス ドメインとマネージド AD ドメインの間に AD 信頼が設定されていることを確認します。 | このチェックでは、オンプレミスとマネージド AD ドメインの間に AD 信頼が設定されていることを確認します。 オンプレミス ドメインとマネージド Microsoft AD ドメインの間に信頼を作成することをおすすめします。詳細については、 信頼を設定するをご覧ください。 |
ローカル セキュリティ ポリシー |
ローカル セキュリティ ポリシー構成 Network access: Named pipes that can be accessed anonymously が設定されていることを確認します。 このチェックは、AD 信頼を作成するために必要です。 |
スクリプトがオンプレミスのドメイン コントローラで実行されていない場合、このチェックが失敗することが想定されます。このチェックでは、管理者として PowerShell を実行し、ローカル セキュリティ ポリシー設定を確認する必要があります。エラーが発生した場合は、 オンプレミス ドメインのローカル セキュリティ ポリシーを確認することをおすすめします。 |
名前サフィックス ルーティング | オンプレミス ドメイン コントローラで Managed AD ドメインへの名前サフィックス ルーティングが有効になっているかどうかを確認します。このチェックは、オンプレミス フォレストから Managed AD フォレストにリクエストをルーティングするために必要です。 | このチェックでは、管理者として PowerShell を実行して、名前サフィックス ルーティングの設定を確認する必要があります。失敗した場合は、 オンプレミスの信頼の名前サフィックス ルーティングを更新することをおすすめします。 |
オンプレミス ドメインの Kerberos チケット | オンプレミス ドメインで Kerberos 認証が有効であることを検証します。オンプレミス ドメインの既存の Kerberos チケットを検索します。見つからない場合、新しいチケットを生成しようとします。 | このチェックは、オンプレミス DC の既存の Kerberos チケットを検索しようとします。 失敗した場合、検証の形式として新しいチケットが生成しようとします。他のチェックでエラーが発生すると、このチェックでエラーが発生する可能性があります。他のチェックの失敗を解決すると、このチェックの失敗も解決されるはずです。 |
SQL Server の Kerberos チケット |
オンプレミス ドメインで Kerberos 認証が有効であることを検証します。指定した SQL Server サービス プリンシパル名(SPN)ごとに、既存の Kerberos チケットを検索します。SQL Server の SPN は MSSQLSvc/{SQL Server FQDN}:1433 です。SPN のチケットの取得に失敗した場合、Cloud SQL はホスト名で IP を許可する Windows レジストリ値が設定されているかどうかを確認します。 設定されている場合は、SPN MSSQLSvc/{SQL Server IP}:1433 でチケットを取得してみてください。詳しくは、 Microsoft のドキュメントをご覧ください。 |
このチェックは、SQL Server の既存の Kerberos チケットを検索しようとします。 失敗した場合、検証の形式として新しいチケットが生成しようとします。他のチェックでエラーが発生すると、このチェックでエラーが発生する可能性があります。他のチェックの失敗を解決すると、このチェックの失敗が解決されるはずです。 |
次のステップ
- フィードバックを送信するには、GitHub の問題を使用します。