GDC Sandbox 提供資料庫服務,可測試及管理資料庫叢集。
建立資料庫
如要建立及管理資料庫叢集,請參閱「建立及管理資料庫叢集」。
可用的資料庫引擎
GDC Sandbox 僅支援 PostgreSQL 和 AlloyDB。
使用 GDC 控制台或 Distributed Cloud CLI 建立資料庫叢集:
主控台
- 在主選單中選擇「資料庫服務」。
- 按一下「建立資料庫叢集」。
在「Choose a database engine」對話方塊中,選擇資料庫引擎。
在「Configure your cluster」(設定叢集) 對話方塊中,指定叢集 ID、密碼和資料庫版本。您可以啟用備份功能,並設定備份保留期限。
在「設定主要執行個體」對話方塊中,指定資料庫叢集主要執行個體的 CPU、記憶體和儲存空間容量。建議您選擇足夠的記憶體來保存最大的資料表。
點按「Create」(建立)。建立資料庫叢集可能需要幾分鐘的時間。 在「叢集總覽」頁面中檢查叢集狀態。叢集準備就緒時,狀態會從「建立中」變更為「就緒」。
gdcloud
執行下列指令來建立資料庫叢集:
gdcloud database clusters create CLUSTER_NAME \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORD
請替換下列變數:
- 將
CLUSTER_NAME
替換為新叢集的名稱。 DB_VERSION
替換為新叢集的版本字串。例如POSTGRESQL_13
或ALLOYDBOMNI_15
ADMIN_PASSWORD
替換成新叢集的管理員密碼。
- 將
如要進一步瞭解如何設定資料庫叢集的 CPU、記憶體和儲存空間資源、設定備份、啟用高可用性,以及其他可用選項,請執行下列指令:
gdcloud database clusters create --help
API
建立含有以下內容的
db-cluster-create.yaml
檔案: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
請替換下列變數:
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
。
kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
連線至資料庫
根據預設,資料庫叢集只允許來自使用者叢集和相同專案的連線。
如要從其他專案連線至專案中的所有資料庫叢集,請參閱「啟用跨專案連線」。
如要從 GDC Sandbox 機構外部的 IP 位址連線至資料庫,請按照「連線至資料庫叢集」一文中的說明啟用外部連線。
您可以使用 sshuttle
,透過 psql
等本機資料庫用戶端連線至資料庫:
前往資料庫叢集的「Database Service」(資料庫服務) 頁面,然後找到「Connectivity」(連線) 區段。本頁面包含:
- 管理員帳戶的密碼 (使用者名稱為
dbsadmin
) - 資料庫叢集主要端點的主機名稱和通訊埠號碼
- 用於連線至叢集的
psql
指令 (適用於 PostgreSQL 和 AlloyDB Omni 資料庫叢集) - 下載資料庫叢集憑證授權單位 (CA) 憑證的連結
- 管理員帳戶的密碼 (使用者名稱為
在資料庫叢集的「Database Service」(資料庫服務) 頁面,前往「Connectivity」(連線) 部分,從 GDC 控制台下載 CA 憑證。
設定用戶端,使用 CA 憑證驗證資料庫。如果是
psql
用戶端,請將PGSSLROOTCERT
環境變數設為憑證檔案的路徑,並將PGSSLMODE
環境變數設為偏好設定:export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"
啟動安全通道。如果您有執行中的
sshuttle
執行個體 (如「連線至執行個體」一文所述),請終止該程序。sshuttle -r zone1-org-1-data@GDC_SANDBOX_INSTANCE_NAME --no-latency-control \ --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \ 10.200.0.0/16 --dns
請將下列項目替換為 GDC Sandbox 團隊提供的值:
GDC_SANDBOX_INSTANCE_NAME
:GDC Sandbox 執行個體的名稱。PROJECT_NAME
:包含 GDC Sandbox 環境的專案。ZONE
:包含 GDC Sandbox 環境的可用區。
通道啟用後,請在其他終端機中使用
psql
執行指令PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
請替換下列變數:
DB_PASSWORD
:主控台 UI 中的密碼。DB_HOSTNAME
:管理中心的資料庫主機名稱。DB_PORT
:控制台中的資料庫通訊埠號碼。DB_USERNAME
:管理中心的資料庫使用者名稱。