Data Connect 專案包含兩大基礎架構元素:
- 一或多個 Data Connect 服務執行個體
- 一或多個 PostgreSQL 適用的 Cloud SQL 執行個體
本指南將說明如何設定及管理 Data Connect 服務執行個體,並介紹如何管理相關聯的 Cloud SQL 執行個體。
設定「Firebase Data Connect」的區域
使用 Data Connect 的專案必須設定位置。
建立新的Data Connect服務執行個體時,系統會提示您選取服務位置。
服務地區
Data Connect 服務可在下列區域中建立。
- asia-east1
- asia-east2
- asia-northeast1
- asia-northeast2
- asia-northeast3
- asia-south1
- asia-southeast1
- asia-southeast2
- australia-southeast1
- australia-southeast2
- europe-central2
- europe-north1
- europe-southwest1
- europe-west1
- europe-west2
- europe-west3
- europe-west4
- europe-west6
- europe-west8
- europe-west9
- me-west1
- northamerica-northeast1
- northamerica-northeast2
- southamerica-east1
- southamerica-west1
- us-central1
- us-east1
- us-east4
- us-south1
- us-west1
- us-west2
- us-west3
- us-west4
管理 Data Connect 服務執行個體
建立服務
如要建立新服務,請使用 Firebase 控制台,或使用 Firebase CLI 執行本機專案初始化作業。這些工作流程會建立新的Data Connect服務。
這些流程也會引導您完成下列操作:
- 佈建新的 Cloud SQL 執行個體 (免付費層級)
- 將現有 Cloud SQL 執行個體連結至 Data Connect (Blaze 方案)
管理使用者
Data Connect 提供工具來管理使用者存取權,遵循最小權限原則 (授予每個使用者或服務帳戶支援必要功能的最低必要權限),以及角色式存取控管 (RBAC) 的概念 (使用預先定義的角色管理資料庫權限,簡化安全性管理)。
如要將專案成員新增為可修改專案中 Data Connect 執行個體的使用者,請使用 Firebase 控制台選取適當的預先定義使用者角色。
這些角色會使用 Identity and Access Management (IAM) 授予權限。角色是一組權限。將角色指派給專案成員後,該成員就會取得該角色具備的所有權限。詳情請參閱:
選擇要啟用特定工作流程的角色
IAM 角色可啟用 Firebase CLI 工作流程,方便您管理 Data Connect 專案。
CLI 指令、其他工作流程 | 必要角色 |
---|---|
firebase init dataconnect
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
監控 Data Connect 服務效能
瞭解服務效能
Data Connect 服務和 PostgreSQL 適用的 Cloud SQL 服務的效能,都會影響您的體驗。
- 如要瞭解 PostgreSQL 適用的 Cloud SQL 服務,請參閱配額與限制說明文件中的一般指引。
Data Connect 服務設有 GraphQL 要求配額,會影響您呼叫及執行查詢的速率:
- 每個專案的整體配額為每分鐘 6000 項要求,來自用戶端應用程式連接器。
- 每個專案的整體配額為每分鐘 6,000 個要求,包括來自 Firebase Admin SDK 和 REST API 的要求。
- 每位使用者每分鐘可提出 1,200 個要求。這裡的「每位使用者」是指限制適用於由一個 IP 位址發起的要求,無論是來自用戶端應用程式、Firebase Admin SDK 或 REST API。
如果達到配額上限,請與 Firebase 支援團隊聯絡,要求調整相關配額。
監控服務效能、用量和帳單
您可以在 Firebase 控制台中,監控全域和每個作業的要求、錯誤和作業率。
管理 Cloud SQL 執行個體
免費試用限制
3 個月免費試用方案不支援下列 PostgreSQL 適用的 Cloud SQL 功能:
- PostgreSQL 15.x 以外的版本
- 使用現有的 PostgreSQL 適用的 Cloud SQL 執行個體
- 機器層級與 db-f1-micro 不同
- 變更執行個體的資源,例如儲存空間、記憶體、CPU
- 唯讀備用資源
- 私人執行個體 IP 位址
- 高可用性 (多可用區);僅支援單一可用區執行個體
- Enterprise Plus 版
- 自動備份
- 自動增加儲存空間。
管理 Cloud SQL 執行個體
一般來說,您可以使用 Google Cloud 控制台管理 Cloud SQL 執行個體,執行下列工作流程。
。- 停止及重新啟動 Cloud SQL 執行個體
- 建立及刪除 Cloud SQL 資料庫 (執行個體內)
- 使用標記啟動 PostgreSQL 資料庫執行個體,並使用各種擴充功能
- 使用 Google Cloud 控制台中的 Cloud SQL 可觀測性功能監控效能
- 透過 IAM、Secret Manager、資料加密和 Auth Proxy 等功能,管理 Cloud SQL 存取權和安全性
- 新增、刪除及管理 Cloud SQL 使用者。
如要瞭解這些和其他工作流程,請參閱 PostgreSQL 適用的 Cloud SQL 說明文件。
授予 PostgreSQL 使用者角色
Data Connect 提供工具來管理使用者存取權,遵循最小權限原則 (授予每個使用者或服務帳戶支援必要功能的最低必要權限),以及角色式存取控管 (RBAC) 的概念 (使用預先定義的角色管理資料庫權限,簡化安全性管理)。
在某些情況下,您可能想使用所選的 SQL 用戶端,例如 Cloud Run、Cloud Functions 或 GKE,直接連線至 Data Connect 代管的 Cloud SQL 資料庫。
如要啟用這類連線,您必須授予 SQL 權限,方法如下:
- 透過 Google Cloud 控制台或使用 gcloud CLI,將
roles/cloudsql.client
IAM 角色指派給需要連線至執行個體的使用者或服務帳戶 - 使用 Firebase CLI 授予必要的 PostgreSQL 角色
指派 Cloud SQL IAM 角色
如要瞭解如何使用 PostgreSQL 適用的 Cloud SQL 指派 IAM 角色 roles/cloudsql.client
,請參閱「角色和權限」。
授予 PostgreSQL 角色
使用 Firebase CLI,您可以透過 firebase dataconnect:sql:grant
指令,將預先定義的 PostgreSQL 角色授予與專案相關聯的使用者或服務帳戶。
舉例來說,如要授予寫入者角色,請在 CLI 執行下列指令:
firebase dataconnect:sql:grant --role writer
詳情請參閱 CLI 參考指南。
整合現有的 PostgreSQL 適用的 Cloud SQL 資料庫
預設資料庫佈建和管理流程會假設專案使用新的 (綠地) 資料庫,當您叫用 firebase deploy
時,Data Connect 會顯示要進行的資料庫結構定義變更,並在您核准後執行任何遷移作業。
對於現有 (棕地) 資料庫,您可能已有自己的結構定義管理工作流程,無法使用 Data Connect 工具進行遷移,但仍想在 Data Connect 專案中使用資料庫,以充分運用其行動和網路 SDK 生成、以查詢為準的授權、用戶端連線管理等功能。
本節將針對後者提供指引,說明如何將現有資料庫與 Data Connect 整合。
,使用資料庫移轉服務。將現有資料庫整合至 Data Connect 專案
整合現有資料庫的工作流程通常包含下列步驟:
- 在 Firebase 控制台設定 Data Connect 專案時,請選取執行個體和資料庫。
使用 Firebase CLI 執行
firebase dataconnect:sql:setup
指令,並拒絕讓 Data Connect 處理 SQL 遷移作業。為防止資料庫結構定義發生非自訂工具驅動的變更,
setup
指令會指派適當的讀取者和寫入者角色,但不會指派owner
角色。如要進一步瞭解setup
指令和 PostgreSQL 角色,請參閱 CLI 參考指南。撰寫符合資料庫結構定義的 Data Connect GraphQL 結構定義。
只有在 GraphQL 結構定義與 PostgreSQL 結構定義相容時,才能部署 GraphQL 結構定義、查詢和異動。
為簡化這兩個結構定義的對齊作業,我們提供
firebase dataconnect:sql:diff
指令,可為您提供遷移資料庫所需的 SQL 陳述式。您可以運用這項功能,反覆調整 GraphQL 結構定義,使其符合現有資料庫結構定義。從現在起,您可以在本機開發環境中,快速疊代 GraphQL 結構定義、查詢和異動。確認結果符合需求後,您可以使用
firebase dataconnect:sql:diff
取得 SQL 遷移陳述式,並透過自訂工具和流程套用至 PostgreSQL。或者,您也可以先直接變更 PostgreSQL 資料庫,然後嘗試將變更內容匯回 GraphQL 結構定義。建議採用以 GraphQL 為優先的方法,因為有時可能不支援結構定義變更。此外,如果您部署的變更會導致 PostgreSQL 結構定義與已部署的連接器查詢或突變不相容,這些連接器可能會停止運作或發生錯誤。