本頁說明如何使用資料庫服務,在 Google Distributed Cloud (GDC) air-gapped 中建立及管理資料庫。
授權與角色
使用者必須獲得授權,才能存取資料庫服務。如要透過 GDC 控制台和 Distributed Cloud CLI 存取資料庫服務,都必須取得授權。
下列角色會授予使用者權限:
- 專案檢視者 (
project-viewer) - 具備這個角色的使用者可以存取 GDC 控制台。
- 專案資料庫檢視者(
project-db-viewer) - 具備這個角色的使用者可以查看資料庫叢集。
- 專案資料庫編輯者 (
project-db-editor) - 具備這個角色的使用者擁有
project-db-viewer授予的權限,且可以編輯資料庫叢集。 - 專案資料庫管理員 (
project-db-admin) - 具備這個角色的使用者擁有
project-db-editor授予的權限,且可以建立及刪除資料庫叢集。 - 專案 Bucket 物件檢視者 (
project-bucket-object-viewer) - 具備這個角色的使用者可以在 GDC 控制台的資料庫服務介面中使用儲存空間瀏覽器。這個介面可用於指定資料庫匯入的檔案,以及指定資料庫匯出所產生檔案的目的地。
- 專案監控檢視者 (
project-monitoring-viewer) - 具備這個角色的使用者可以存取監控執行個體。如要進一步瞭解如何觀察資料庫服務指標,請參閱「觀察指標」。只有需要存取監控執行個體的使用者,才應獲授此角色。
- 專案維護政策管理員 (
project-mp-admin) - 具備這個角色的使用者擁有
project_mp_editor和project_mpb_editor角色授予的功能,因此可以建立、編輯及刪除維護政策和維護政策繫結。 - 專案維護政策檢視者 (
project-mp-viewer) - 具備這個角色的使用者可以查看維護政策。
- 專案維護政策編輯者 (
project-mp-editor) - 具備這個角色的使用者擁有「
project_mp_viewer」角色授予的權限,並可建立、編輯及刪除維護政策。 - 專案維護政策繫結檢視者 (
project-mpb-viewer) - 具備這個角色的使用者可以查看維護政策繫結。
- 專案維護政策繫結編輯者 (
project-mpb-editor) - 具備這個角色的使用者擁有
project_mpb_viewer角色授予的功能,並可建立、編輯及刪除維護政策繫結。
可用的資料庫引擎
您可以在 GDC 環境中使用下列資料庫引擎:
| 資料庫 | 版本 |
|---|---|
| AlloyDB Omni | 15 |
| Oracle | 19 |
| PostgreSQL | 13、14、15 |
選擇資料庫引擎類型並建立資料庫叢集
具有專案資料庫管理員角色的使用者必須執行下列步驟。使用 GDC 控制台或 Distributed Cloud CLI 建立資料庫叢集。
控制台
- 在主選單中選擇「資料庫服務」。
- 按一下「建立資料庫叢集」。
在「Choose a database engine」對話方塊中,選擇資料庫引擎。
在「設定叢集」對話方塊中,指定叢集 ID、密碼和資料庫版本。您可以啟用備份功能,並設定備份保留期限。
如果您選擇 PostgreSQL 資料庫引擎,可以為資料庫叢集啟用高可用性。如果啟用這項功能,資料庫服務會在與主要執行個體相同的可用區中,佈建待命執行個體,以防範故障。詳情請參閱「高可用性」。
在「設定主要執行個體」對話方塊中,指定資料庫叢集主要執行個體的 CPU、記憶體和儲存空間容量。建議您選擇記憶體大小足以容納最大資料表的機器類型。
點按「Create」(建立)。建立資料庫叢集可能需要幾分鐘的時間。 在「叢集總覽」頁面中,檢查叢集狀態。叢集準備就緒時,狀態會從「建立中」變更為「就緒」。
gdcloud
執行下列指令來建立資料庫叢集:
gdcloud database clusters create CLUSTER_NAME \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORD請替換下列變數:
- 將
CLUSTER_NAME替換為新叢集的名稱。 DB_VERSION替換成新叢集的版本字串。例如POSTGRESQL_13、ORACLE_19_ENTERPRISE或ALLOYDBOMNI_15ADMIN_PASSWORD替換成新叢集的管理員密碼。
- 將
如要進一步瞭解如何設定資料庫叢集的 CPU、記憶體和儲存空間資源、設定備份、啟用高可用性,以及其他可用選項,請執行下列指令:
gdcloud database clusters create --help
API
如果是 AlloyDB 或 PostgreSQL 資料庫:
apiVersion: v1 kind: Secret metadata: name: db-pw-DBCLUSTER_NAME namespace: USER_PROJECT type: Opaque data: DBCLUSTER_NAME: "BASE64_PASSWORD" --- apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1 kind: DBCluster metadata: name: DBCLUSTER_NAME namespace: USER_PROJECT spec: primarySpec: adminUser: passwordRef: name: db-pw-DBCLUSTER_NAME version: "DB_VERSION" resources: memory: DB_MEMORY cpu: DB_CPU disks: - name: DataDisk size: DB_DATA_DISK如果是 Oracle 資料庫:
apiVersion: v1 kind: Secret metadata: name: db-pw-DBCLUSTER_NAME namespace: USER_PROJECT type: Opaque data: DBCLUSTER_NAME: "BASE64_PASSWORD" --- apiVersion: oracle.dbadmin.gdc.goog/v1 kind: DBCluster metadata: name: DBCLUSTER_NAME namespace: USER_PROJECT spec: primarySpec: adminUser: passwordRef: name: db-pw-DBCLUSTER_NAME version: "DB_VERSION" cdbName: GCLOUD resources: memory: DB_MEMORY cpu: DB_CPU disks: - name: DataDisk size: DB_DATA_DISK - name: LogDisk size: DB_LOG_DISK請替換下列變數:
DBCLUSTER_NAME:資料庫叢集的名稱。USER_PROJECT:使用者專案的名稱,資料庫叢集將在此建立。BASE64_PASSWORD:資料庫管理員密碼的 base64 編碼。DBENGINE_NAME:資料庫引擎的名稱。這是alloydbomni或postgresql。DB_VERSION:資料庫引擎版本。DB_MEMORY:分配給資料庫叢集的記憶體量,例如5Gi。DB_CPU:分配給資料庫叢集的 CPU 數量,例如2。DB_DATA_DISK,分配給資料庫叢集的空間量,例如10 Gi。DB_LOG_DISK:分配給 Oracle 資料庫記錄檔磁碟的空間量 (僅限 Oracle)。
在相同命名空間中建立 DBS
BackupPlan資源,啟用備份功能。