コンテンツに移動
データベース

Cloud SQL 用の Active Directory 診断ツール

2023年4月19日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 4 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Cloud で SQL Server インスタンスを実行していると、Windows の認証で苦労することがあります。特に難しいのが、マネージド Active Directory を使用して Cloud SQL for SQL Server とオンプレミスの Active Directory ドメインを統合する場合です。ハイブリッド構成は、オンプレミスとマネージド AD ドメイン間の信頼が存在しない、名前サフィックス ルーティングがない、DNS やポート関連の構成を誤るなどの問題が発生する可能性があるため、セットアップは複雑で、トラブルシューティングは難しい作業になり得ます。

セットアップにおけるこのような問題のデバッグは一筋縄ではいかず、時間がかかってしまうこともあります。そこで、このデバッグのプロセスを自動化する新しいツールをご紹介します。

この PowerShell スクリプトは GitHub で公開されています。オンプレミスの AD ドメイン コントローラー(DC)またはドメイン結合された Windows Virtual Machine(VM)で実行でき、オンプレミス DC に対して次のチェックを実行します。それぞれについてステータスが出力されます(詳細については GitHub の README をご覧ください)。

  • 接続不能なオンプレミス DC

  • 開いている TCP ポートと UDP ポート

  • プライマリ DNS サーバーとセカンダリ DNS サーバー

  • マネージド AD の完全修飾ドメイン名(FQDN)の解決

  • SQL Server の完全修飾ドメイン名(FQDN)の解決

  • DC 間のレプリケーションの問題

  • DNS 転送

  • オンプレミス ドメインとマネージド AD 間の AD 信頼のセットアップ

  • 名前サフィックス ルーティング

  • オンプレミス ドメインの Kerberos 認証

  • SQL Server SPN と IP アドレスの Kerberos 認証

前提条件

スクリプトを実行するための前提条件は次のとおりです。

1. オンプレミスのドメイン コントローラーで AD が有効化されている https://cloud.google.com/architecture/deploy-fault-tolerant-active-directory-environment

2. マネージド AD ドメインが Google Cloud にある https://cloud.google.com/managed-microsoft-ad/docs/create-domain.

3. AD が有効化されている Cloud SQL for SQL Server インスタンスがマネージド AD ドメインと結合されている https://cloud.google.com/sql/docs/sqlserver/configure-ad

サンプルのチュートリアル

オンプレミスの AD ドメインを使用して Cloud SQL for SQL Server インスタンスにログインするには、オンプレミスとマネージド AD ドメイン間の信頼と、これら 2 つのドメイン間での名前サフィックス ルーティングが必要です。まず、有効な信頼がセットアップされていない場合に、このツールがそれをどう検出するかを説明します。

1. Google Cloud にマネージド AD ドメインを作成します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image4_bjyR9lJ.max-1200x1200.png

2. オンプレミスのドメイン コントローラーに RDP でアクセスします。

3. [Active Directory Domains and Trusts] を開きます。

4. オンプレミス ドメインを右クリックして [プロパティ] を選択します。マネージド AD ドメインの信頼が存在しないことを確認します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image10_yqKW25Y.max-1800x1800.png

5. Powershell を右クリックし、[管理者として実行] をクリックします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image6_D8ZY6xP.max-1400x1400.png

6. GitHub から Powershell スクリプトをコピーして、実行します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image9_rwtYC0Z.max-900x900.png

7. 信頼セットアップ チェックのステータスは、予期したとおり不合格になります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image8_PvFE9e3.max-1000x1000.png

8. オンプレミス ドメインの信頼の作成方法を説明したドキュメント(https://cloud.google.com/managed-microsoft-ad/docs/create-trust)に沿ってマネージド AD ドメインの信頼を作成します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image11_EekkKqV.max-1800x1800.png

9. スクリプトを再実行します。今度は結果が合格になるはずです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image5_HCDcoGZ.max-1000x1000.png

同じように、名前サフィックス ルーティングがセットアップされていることを確認する手順を説明します。名前サフィックス ルーティングもオンプレミスの AD ドメインで必須です。

1. マネージド AD ドメインに名前サフィックス ルーティングがないことを確認します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_QUwHzxP.max-1600x1600.png

2. スクリプトによるチェックの結果は不合格になります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image14_p00wTvf.max-1000x1000.png

3. 前に説明した手順で信頼を作成したら、名前サフィックス ルーティングを更新します。マネージド AD ドメインのエントリが表示されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image12_tJDW5uk.max-1600x1600.png

4. 名前サフィックス ルーティングのチェックを行うと、合格のステータスが返されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_iyBH5GP.max-800x800.png

AD のセットアップが完了していることを確認するには:

1. オンプレミスの Windows VM に RDP でアクセスし、その VM をオンプレミス ドメインに結合します。

2. SQL Server Management Studio をインストールして起動します。

3. Windows 認証でオンプレミス ユーザーを使用して Cloud SQL インスタンスに接続します。
ユーザー名: <オンプレミス ドメイン>\<オンプレミス ユーザー>
パスワード: <パスワード>

https://storage.googleapis.com/gweb-cloudblog-publish/images/Pic_12.max-1000x1000.png

4. 「SELECT 1」クエリを実行して、データベースに対してクエリを行えることを確認します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Pic_13.max-400x400.png

次のステップ

ツールの詳しい使い方は公開ドキュメントをご覧ください。コミュニティへの貢献やツールに関するフィードバックは、GitHub のコントリビューション ページからお願いします。AD と Cloud SQL の構成の詳細については、概要ガイドをご覧ください。


- Cloud SQL、ソフトウェア エンジニア Priyam Patel
投稿先