使用 Database Insights MCP 伺服器監控 MySQL 適用的 Cloud SQL

Database Insights 遠端 MCP 伺服器可擷取查詢和系統指標,讓您從由 AI 技術支援的開發環境和 AI 代理平台,監控 MySQL 適用的 Cloud SQL 叢集和執行個體。

本文說明如何使用 Database Insights 遠端 Model Context Protocol (MCP) 伺服器,從 AI 應用程式 (例如 Gemini CLI、Gemini Code Assist 的 Agent 模式、Claude Code,或您正在開發的 AI 應用程式) 監控 MySQL 適用的 Cloud SQL。

啟用資料庫深入分析時,系統會啟用資料庫深入分析遠端 MCP 伺服器。

Model Context Protocol (MCP) 可將大型語言模型 (LLM) 和 AI 應用程式/代理程式連結至外部資料來源的方式標準化。MCP 伺服器可讓您使用工具、資源和提示,從後端服務採取行動及取得更新資料。

本機和遠端 MCP 伺服器有何不同?

本機 MCP 伺服器
通常在本機執行,並使用標準輸入和輸出串流 (stdio) 在同一部裝置上的服務之間通訊。
遠端 MCP 伺服器
在服務的基礎架構上執行,並為 AI 應用程式提供 HTTP 端點,供 AI MCP 用戶端與 MCP 伺服器通訊。如要進一步瞭解 MCP 架構,請參閱 MCP 架構

Google 和 Cloud de Confiance by S3NS 遠端 MCP 伺服器

Google 和 Cloud de Confiance by S3NS 遠端 MCP 伺服器具備下列功能和優勢:

  • 簡化集中式探索作業
  • 代管全域或區域 HTTP 端點
  • 精細授權
  • 使用 Model Armor 保護機制,選擇性確保提示詞和回覆安全無虞
  • 集中式稽核記錄

如要瞭解其他 MCP 伺服器,以及 Google Cloud MCP 伺服器適用的安全性與控管措施,請參閱 Google Cloud MCP 伺服器總覽

事前準備

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  3. Enable the Cloud SQL, Database Insights APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. 安裝 gcloud CLI

  5. 設定 gcloud CLI,使用您的聯合身分。

    詳情請參閱「使用聯合身分登入 gcloud CLI」。

  6. 執行下列指令,初始化 gcloud CLI:

    gcloud init

必要的角色

如要取得使用 Database Insights MCP 伺服器所需的權限,請要求管理員在您要使用 Database Insights MCP 伺服器的專案中,授予下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備使用 Database Insights MCP 伺服器所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要使用 Database Insights MCP 伺服器,必須具備下列權限:

  • 呼叫 MCP 工具: mcp.tools.call
  • 取得查詢指標: queryMetrics.fetch
  • 取得系統指標: systemMetrics.fetch
  • 查看監控指標: monitoring.timeseries.list

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

驗證及授權

Database Insights 遠端 MCP 伺服器會使用 OAuth 2.0 通訊協定搭配 Identity and Access Management (IAM) 進行驗證及授權。驗證 MCP 伺服器時,系統支援所有Cloud de Confiance by S3NS 身分

Database Insights 遠端 MCP 伺服器不接受 API 金鑰。

建議您為使用 MCP 工具的代理商建立個別身分,以便控管及監控資源存取權。如要進一步瞭解驗證,請參閱「向 MCP 伺服器進行驗證」。

資料庫深入分析 MCP OAuth 範圍

資料庫洞察具有下列 MCP 工具 OAuth 範圍:

gcloud CLI 的範圍 URI 說明
https://www.googleapis.com/auth/cloud-platform 查詢及分析資料庫效能和系統指標。

在工具呼叫期間存取的資源可能需要額外範圍。

設定 MCP 用戶端,以使用 Database Insights MCP 伺服器

AI 應用程式和代理 (例如 Claude 或 Gemini CLI) 可以例項化 MCP 用戶端,連線至單一 MCP 伺服器。AI 應用程式可有多個連線至不同 MCP 伺服器的用戶端。如要連線至遠端 MCP 伺服器,MCP 用戶端必須知道遠端 MCP 伺服器的網址。

在 AI 應用程式中,尋找連線至遠端 MCP 伺服器的方法。系統會提示你輸入伺服器的詳細資料,例如名稱和網址。

針對 Database Insights MCP 伺服器,視需要輸入下列內容:

  • 伺服器名稱:Database Insights MCP 伺服器
  • 伺服器網址端點https://databaseinsights.googleapis.com/mcp
  • 傳輸:HTTP
  • 驗證詳細資料:視驗證方式而定,您可以輸入 Cloud de Confiance by S3NS 憑證、OAuth 用戶端 ID 和密鑰,或是代理程式身分和憑證。如要進一步瞭解驗證,請參閱「向 MCP 伺服器進行驗證」。
  • OAuth 範圍:連線至 Database Insights MCP 伺服器時要使用的 OAuth 2.0 範圍

如需設定及連線至 MCP 伺服器的特定主機指南,請參閱下列內容:

如需更多一般指引,請參閱下列資源:

可用的工具

如要查看 Database Insights MCP 伺服器的可用 MCP 工具詳細資料和說明,請參閱 Database Insights MCP 參考資料

列出工具

使用 MCP 檢查器列出工具,或直接將 tools/list HTTP 要求傳送至 Database Insights 遠端 MCP 伺服器。tools/list 方法不需要驗證。

POST /mcp HTTP/1.1
Host: databaseinsights.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

應用實例

以下是使用 Database Insights MCP 伺服器監控 MySQL 適用的 Cloud SQL 時,可參考的應用實例。

監控查詢效能

您可以使用 Database Insights MCP 伺服器找出緩慢的查詢,並瞭解資料庫工作負載模式。

提示詞範例:

「Find the top 5 queries with the highest execution time on my Cloud SQL for MySQL instance in project PROJECT_ID over the last hour.」(找出專案 PROJECT_ID 中,過去一小時內執行時間最長的 5 個查詢。)

工作流程:監控查詢效能的工作流程包含下列步驟:

  • 擷取資料:代理會呼叫 get_query_metrics 工具,並使用設定為擷取 cloudsql.googleapis.com/database/mysql/insights/aggregate/execution_time 的 PromQL 查詢。

  • 分析:代理程式會處理傳回的時間序列資料,找出累積執行時間最長的查詢。

  • 報表:代理程式會列出查詢雜湊及其各自的執行時間,協助您找出潛在瓶頸。

系統健康狀態檢查

您可以監控 MySQL 適用的 Cloud SQL 執行個體的資源使用率,確保執行個體大小適中,且效能達到最佳狀態。

提示範例

「過去 24 小時內,我的 MySQL 適用的 Cloud SQL 執行個體 INSTANCE_ID 的平均 CPU 使用率和可用記憶體為何?」

工作流程:系統健康狀態檢查的工作流程包含下列步驟:

  • 擷取指標:代理程式會使用 get_system_metrics 工具擷取指定執行個體的 cloudsql.googleapis.com/database/cpu/utilization

  • 摘要:代理程式會匯總 24 小時內的資料。

  • 報告:代理程式會提供 CPU 和記憶體趨勢摘要,並在用量接近上限時發出快訊。

選用的安全防護設定

由於 MCP 工具可執行各種動作,因此會帶來新的安全風險和考量。為盡量降低及管理這些風險,Cloud de Confiance by S3NS 提供預設設定和可自訂的政策,控管機構或專案中 MCP 工具的使用情形。 Cloud de Confiance by S3NS

如要進一步瞭解 MCP 安全性和控管措施,請參閱這篇文章

使用 Model Armor

Model Armor 是一項Cloud de Confiance by S3NS 服務,可提高 AI 應用程式的安全性。這項功能會主動篩選 LLM 提示詞和回覆,防範各種風險並支援負責任的 AI 做法。無論您是在雲端環境或外部雲端供應商部署 AI,Model Armor 都能協助您防範惡意輸入、驗證內容安全性、保護私密資料、維持法規遵循狀態,並在多元的 AI 環境中,持續強制執行 AI 安全政策。

啟用 Model Armor 並啟用記錄功能後,Model Armor 會記錄整個酬載。這可能會導致記錄中的私密資訊外洩。

啟用 Model Armor

您必須先啟用 Model Armor API,才能使用 Model Armor。

控制台

  1. 啟用 Model Armor API。

    啟用 API 時所需的角色

    如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

  2. 選取要啟用 Model Armor 的專案。

gcloud

開始之前,請使用 gcloud CLI 搭配 Model Armor API 執行下列步驟:

  1. 安裝 gcloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 gcloud CLI

    gcloud init

  2. 執行下列指令,為 Model Armor 服務設定 API 端點。

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    LOCATION 替換為要使用 Model Armor 的區域。

設定 Google 和遠端 MCP 伺服器的防護功能 Cloud de Confiance by S3NS

如要保護 MCP 工具呼叫和回應,可以使用 Model Armor 底限設定。底限設定會定義專案適用的最低安全性篩選條件。這項設定會對專案中的所有 MCP 工具呼叫和回應套用一致的篩選條件。

設定啟用 MCP 消毒功能的 Model Armor 底限設定。詳情請參閱「設定 Model Armor 底價」。

請參閱下列指令範例:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

PROJECT_ID 替換為 Cloud de Confiance 專案 ID。

請注意下列設定:

  • INSPECT_AND_BLOCK:強制執行類型,可檢查 Google MCP 伺服器的內容,並封鎖符合篩選條件的提示和回覆。
  • ENABLED:啟用篩選器或強制執行的設定。
  • MEDIUM_AND_ABOVE:負責任的 AI 技術 - 危險篩選器設定的信心水準。您可以修改這項設定,但較低的值可能會導致更多誤判。詳情請參閱「Model Armor 信心水準」。

停用使用 Model Armor 掃描 MCP 流量

如要停止讓 Model Armor 根據專案的底限設定,自動掃描往返 Google MCP 伺服器的流量,請執行下列指令:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

PROJECT_ID 替換為 Cloud de Confiance 專案 ID。Model Armor 不會自動將這個專案底限設定中定義的規則,套用至任何 Google MCP 伺服器流量。

Model Armor 底限設定和一般設定不僅會影響 MCP,由於 Model Armor 會與 Vertex AI 等服務整合,因此您對底限設定所做的任何變更,都會影響所有整合服務 (不只是 MCP) 的流量掃描和安全行為。

使用 IAM 拒絕政策控管 MCP 使用情形

身分與存取權管理 (IAM) 拒絕政策可協助您保護 Cloud de Confiance by S3NS 遠端 MCP 伺服器。設定這些政策,即可封鎖不必要的 MCP 工具存取權。

舉例來說,您可以根據下列條件拒絕或允許存取:

  • 主體
  • 工具屬性 (例如唯讀)
  • 應用程式的 OAuth 用戶端 ID

詳情請參閱「使用 Identity and Access Management 控制 MCP 使用情形」。

後續步驟