根據預設,資料庫叢集只允許來自使用者叢集和相同專案的連線。
如要從其他專案連線至專案中的所有資料庫叢集,請參閱「啟用跨專案連線」。
如要允許 GDC 機構外部的 IP 位址連線至資料庫叢集,請參閱「啟用外部連線」。
使用繫結至 project-db-admin
角色的帳戶登入 GDC 控制台,找出連線至資料庫叢集所需的資訊。這項資訊位於「Database Service」(資料庫服務) 頁面的「連線能力」部分。
這些步驟包括使用 psql
連線至資料庫的範例。實際步驟會因您選擇的用戶端軟體而異。
控制台
前往資料庫叢集的「Database Service」(資料庫服務) 頁面,然後找到「Connectivity」(連線) 部分。本頁面包含:
- 管理員帳戶的密碼 (使用者名稱為
dbsadmin
) - 資料庫叢集主要端點的主機名稱和通訊埠號碼
- 資料庫叢集允許機構外部的外部連線。
- 用於連線至叢集的
psql
指令 (適用於 PostgreSQL 和 AlloyDB Omni 資料庫叢集) - 用於透過 Java Database Connectivity (JDBC) 連線至叢集的字串 (適用於 Oracle 資料庫叢集)
- 下載資料庫叢集憑證授權單位 (CA) 憑證的連結
- 管理員帳戶的密碼 (使用者名稱為
在資料庫叢集的「Database Service」(資料庫服務) 頁面,前往「Connectivity」(連線) 部分,從 GDC 控制台下載 CA 憑證。
設定用戶端,使用 CA 憑證驗證資料庫。如果是
psql
用戶端,請將PGSSLROOTCERT
環境變數設為憑證檔案的路徑,並將PGSSLMODE
環境變數設為偏好設定:export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"
從用戶端軟體連線至資料庫。如果您使用
psql
,請執行下列指令:PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
請替換下列變數:
path/to/
:accounts_cert.pem
憑證的路徑。DB_PASSWORD
:管理中心的密碼。DB_HOSTNAME
:管理中心的資料庫主機名稱。DB_PORT
:控制台中的資料庫通訊埠號碼。DB_USERNAME
:管理中心的資料庫使用者名稱。
API
從資料庫叢集狀態擷取資料庫端點:
kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'
從 Kubernetes Secret 下載 CA 憑證:
kubectl get secret dbs-certificates -n USER_PROJECT -o json | jq -r '.data."dbs-DBENGINE_SHORT_NAME-cert-DBCLUSTER_NAME"' | base64 -d > path/to/ca.crt
設定用戶端,使用 CA 憑證驗證資料庫。如果是
psql
用戶端,您可以將PGSSLROOTCERT
環境變數設為憑證檔案的路徑,並將PGSSLMODE
環境變數設為偏好設定:export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"
從用戶端軟體連線至資料庫。如果您使用
psql
,請執行下列指令:PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p DB_PORT -U DB_USERNAME -d postgres
請替換下列變數:
DBENGINE_NAME
:資料庫引擎的名稱。這是alloydbomni
、postgresql
或oracle
。USER_PROJECT
:建立資料庫叢集的使用者專案名稱。DBENGINE_SHORT_NAME
:資料庫引擎的縮寫名稱。這是al
(AlloyDB Omni)、pg
(PostgreSQL) 或ora
(Oracle) 其中之一。DBCLUSTER_NAME
:資料庫叢集的名稱。path/to/
:資料庫 CA 憑證的路徑。DB_PASSWORD
:管理員使用者的資料庫密碼。DB_HOSTNAME
:資料庫叢集狀態中的主機名稱。DB_PORT
:資料庫叢集狀態中的資料庫通訊埠號碼。DB_USERNAME
:資料庫使用者名稱 (預設為dbsadmin
)。