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 控制台中的受管理 AD 網域。
  • 已加入 Managed AD 網域的 SQL Server 適用的 Cloud SQL 執行個體。

如何使用 AD 診斷工具

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

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

    powershell -command "& { . C:\\<var>SCRIPT_PATH</var>\\diagnose_ad.ps1; Run-Tool }"
    
  5. 系統提示時,請輸入下列資訊:

    • 內部部署網域名稱,例如 my-onprem-domain.com
    • 受管理 AD 網域名稱,例如 my-ad-domain.com
    • SQL Server Active Directory FQDN 和私人 IP 位址的清單。如要查看這份清單,請前往執行個體的「總覽」頁面。 Google Cloud

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

AD 診斷工具執行的檢查

檢查說明 附註和建議
可用的網域控制站 對內部部署網域中每個網域控制器的 IP 位址發出 Ping,確保這些網域控制器可連線。 對於可連線的 IP 位址,系統會繼續執行其餘檢查。如果這項檢查失敗,請確保網路連線可連至其餘內部部署網域控制器。詳情請參閱 建立網路基礎架構
通訊埠 確認所有內部部署網域控制站是否已開啟 AD 的所有必要 TCP 和 UDP 連接埠。 這項檢查會針對 RPC 通訊埠範圍 (49152-65535) 傳回警告狀態,因為開放的通訊埠清單不一致。建議您確認是否已設定防火牆規則,允許這個範圍。詳情請參閱「 打開防火牆通訊埠」。
DNS 伺服器 檢查 AD 設定是否正常運作且具備容錯能力。 如果指令碼未在內部部署網域控制站上執行,這項檢查會傳回警告。建議您 部署容錯 AD 設定,方法是設定主要和次要 DNS 伺服器。
完整網域名稱 (受管理 AD 網域) 對您提供的 Managed AD 網域名稱執行 nslookup。 這項檢查會驗證是否可從地端網域控制站連上 Managed AD 網域。如果失敗,請嘗試在內部部署網路與 Google Cloud 虛擬私有雲 (VPC) 之間建立網路連線。詳情請參閱「 建立網路連線」。
FQDN (SQL Server) 對您提供的 SQL Server FQDN 執行 nslookup。 這項檢查會驗證您的執行個體是否可從地端網域控制站連線。如果失敗,請嘗試在內部部署網路與 Google Cloud 虛擬私有雲 (VPC) 之間建立網路連線。詳情請參閱「 建立網路連線」。
資料中心複製 檢查內部部署網域控制站之間是否有任何 AD 複製失敗情形。 如果指令碼是在加入內部部署網域的 VM 上執行,且 PowerShell 不是以 Active Directory 網域使用者身分執行,狀態就會顯示失敗。如果這項檢查失敗,請按照「 測試安裝作業」一節中的步驟操作。
DNS 轉送 在內部部署網域控制站上尋找條件式 DNS 轉送設定,這是將要求從內部部署網域控制站路由至 Managed AD 網域控制站的必要條件。 如果指令碼未在內部部署網域控制站上執行,這項檢查可能會失敗。建議您 設定 DNS 條件式轉寄站
設定信任關係 確認內部部署網域與代管 AD 網域之間已設定 AD 信任關係。 這項檢查會驗證地端和代管 AD 網域之間是否已設定 AD 信任關係。 建議您在內部部署網域與 Managed Microsoft AD 網域之間建立信任關係。詳情請參閱「 設定信任關係」。
本機安全性原則 檢查是否已設定本機安全性政策設定。Network access: Named pipes that can be accessed anonymously您需要這項檢查才能建立 AD 信任關係。 如果指令碼未在內部部署網域控制站上執行,這項檢查預期會失敗。 這項檢查需要以管理員身分執行 Powershell,才能檢查本機安全政策設定。如果驗證失敗,建議您 驗證內部部署網域的本機安全性原則
名稱後置字串路由 檢查內部部署網域控制站是否已啟用名稱尾碼路由至 Managed AD 網域的功能。您需要這項檢查,才能將地端樹林的請求轉送至受管理 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 票證。 如果失敗,系統會嘗試產生新票證做為驗證形式。 其他檢查發生錯誤可能會導致這項檢查出錯。解決其他檢查的失敗問題,應該就能解決這項檢查的失敗問題。

後續步驟