Cloud SQL 適用的 Active Directory 診斷工具

Active Directory (AD) 診斷工具是 PowerShell 指令碼公用程式,可協助您排解 Google Cloud中地端部署網域和 SQL Server 適用的 Cloud SQL 執行個體的 AD 設定問題。

這項工具會執行各種檢查,找出通訊埠關閉、FQDN 查詢和 DNS 等問題。它在地端部署 Windows VM 上執行,該 VM 是地端部署網域的其中一個網域控制器。

本頁面說明如何使用 Cloud SQL 的 Active Directory 診斷工具,並說明該工具執行的檢查。

必要條件

請先確認您已設定下列元件,再繼續使用 AD 診斷工具:

  • 已啟用 AD 的地端部署網域。
  • Google Cloud 控制台中的 Managed AD 網域。
  • 已加入 Managed AD 網域的 SQL Server 適用的 Cloud SQL 執行個體。

如何使用廣告診斷工具

如要使用 AD 診斷工具,請按照下列步驟操作:

  1. 登入任何一個地端部署網域控制站,或加入地端部署網域的 VM。
  2. 將 diagnose_ad.ps1 指令碼下載到 VM。
  3. 以管理員身分啟動 PowerShell。
  4. 在 PowerShell 視窗中使用下列指令,執行 diagnose_ad.ps1 指令碼:

    powershell -command "& { . C:\\<var>SCRIPT_PATH</var>\\diagnose_ad.ps1; Run-Tool }"
    
  5. 在系統提示時輸入以下內容:

    • 地端部署網域名稱,例如 my-onprem-domain.com
    • Managed AD 網域名稱,例如 my-ad-domain.com
    • SQL Server Active Directory FQDN 和私人 IP 位址清單。您可以在 Google Cloud 控制台的執行個體「Overview」(總覽) 頁面中找到這份清單。

接著,工具會執行多項檢查,詳情請參閱「AD 診斷工具執行的檢查」。

AD 診斷工具執行的檢查

檢查說明 附註和建議
可用的網域控制站 對地端部署網域中每個網域控制站的 IP 位址發出連線偵測 (ping),確保這些位址可連線。 其餘檢查會針對可連線的 IP 位址進行。如果這項檢查失敗,請確認其餘地端部署網域控制器的網路連線。詳情請參閱「建立網路基礎架構」。
通訊埠 確認所有地端部署網域控制站上,AD 所需的 TCP 和 UDP 通訊埠皆已開啟。 這項檢查會針對 RPC 通訊埠範圍 (49152-65535) 傳回警告狀態,因為該範圍沒有一致的開放通訊埠清單。建議您確認是否已設定防火牆規則集,允許這個範圍。詳情請參閱「開啟防火牆通訊埠」
DNS 伺服器 檢查 AD 設定是否正常運作且具備容錯能力。 如果指令碼不是在地端部署網域控制器上執行,這項檢查會傳回警告。建議您設定主要和次要 DNS 伺服器,部署容錯 AD 設定。
FQDN (Managed AD 網域) 對您提供的 Managed AD 網域名稱執行 nslookup。 這項檢查會驗證是否能從地端部署網域控制器連上 Managed AD 網域。如果失敗,請嘗試在地端部署網路和 Google Cloud 虛擬私有雲 (VPC) 之間建立網路連線。詳情請參閱「建立網路連線」。
FQDN (SQL Server) 對您提供的 SQL Server FQDN 執行 nslookup。 這項檢查會驗證是否能從地端部署網域控制器連線至執行個體。如果失敗,請嘗試在地端部署網路和 Google Cloud 虛擬私有雲 (VPC) 之間建立網路連線。詳情請參閱「建立網路連線」。
DC 複製 尋找地端部署網域控制站之間的 AD 複製失敗。 如果指令碼是在加入地端部署網域的 VM 上執行,且 Powershell 不是以 Active Directory 網域使用者身分執行,則會顯示失敗狀態。如果這項檢查失敗,請按照「測試安裝」中的步驟操作。
DNS 轉送 尋找地端部署網域控制站上的條件式 DNS 轉送設定,這是將要求從地端部署網域控制站轉送至 Managed AD 網域控制站的必要條件。 如果指令碼不是在地端部署網域控制站上執行,這項檢查可能會失敗。建議您設定 DNS 條件轉寄站。
信任設定 驗證地端部署網域和 Managed AD 網域之間是否已設定 AD 信任。 這項檢查會驗證地端部署和 Managed AD 網域之間是否已設定 AD 信任。建議您在地端部署網域和 Managed 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 會檢查是否已設定 Windows 登錄值,允許在主機名稱中使用 IP。如果已設定,請嘗試使用 SPN MSSQLSvc/{SQL Server IP}:1433 取得票證。
詳情請參閱 Microsoft 說明文件。
這項檢查會嘗試尋找 SQL Server 現有的 Kerberos 票證。如果失敗,系統會嘗試產生新的票證做為驗證形式。其他檢查項目發生錯誤,可能會導致這項檢查也發生錯誤。解決其他檢查的失敗問題,應該就能解決這項檢查的失敗問題。
Cloud SQL 連線能力 測試從地端部署網域到提供的 Cloud SQL 執行個體 IP 位址,透過 TCP 通訊埠 1433 的網路連線。 這項檢查會驗證資料庫的網路路徑是否開放。如果失敗,請確認地端部署防火牆和 Google Cloud 虛擬私有雲防火牆規則,分別允許 TCP 通訊埠 1433 的傳出和傳入流量。
Kerberos 服務 (SRV) 記錄 查詢本機 DNS 的 _kerberos._tcp 和 _kerberos._udp SRV 記錄,並確認目標主機與提供的網域名稱正確相符。

詳情請參閱 Microsoft 的 SRV 記錄說明文件。
如果這項檢查失敗,請確認 Active Directory 網域的 DNS SRV 記錄存在且設定正確。

後續步驟