根據預設,資料庫叢集只允許從使用者叢集和相同專案內連線。
如要啟用從其他專案連至專案中所有資料庫叢集的連線,請參閱「啟用跨專案連線」。
如要允許從 GDC 組織外部的 IP 位址連線至資料庫叢集,請參閱「啟用外部連線」。
使用繫結至資料庫專案管理員角色的帳戶登入 GDC 控制台,找出下列資訊,以便連線至資料庫叢集。這項資訊位於「Database Service」(資料庫服務) 頁面的「Connectivity」(連線能力) 區段。
這些步驟包含使用 psql 連線至資料庫的範例。確切步驟會因您選擇的用戶端軟體而異。
控制台
前往資料庫叢集的「Database Service」(資料庫服務) 頁面,然後前往「Connectivity」(連線) 區段。本頁面收錄了:
- 管理員帳戶的密碼 (使用者名稱為
dbsadmin) - 資料庫叢集主要端點的主機名稱和通訊埠號碼
- 資料庫叢集是否允許來自組織外部的連線。
- 用於連線至叢集的
psql指令 - 點選這個連結,即可下載資料庫叢集的憑證授權單位 (CA) 憑證
- 管理員帳戶的密碼 (使用者名稱為
在 GDC 控制台,前往資料庫叢集的「Database Service」(資料庫服務) 頁面,然後在「Connectivity」(連線) 區段下載 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.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'從 Kubernetes 密鑰下載 CA 憑證:
kubectl get secret dbs-certificates -n USER_PROJECT -o json | jq -r '.data."dbs-pg-cert-DBCLUSTER_NAME"' | base64 -d > path/to/ca.crt設定用戶端使用 CA 憑證驗證資料庫。如果是
psql用戶端,您可以將PGSSLROOTCERT環境變數設為憑證檔案的路徑,並將PGSSLMODE環境變數設為偏好設定:export PGSSLROOTCERT=path/to/ca.crt export PGSSLMODE="verify-full"從用戶端軟體連線至資料庫。如果您使用的是
psql,請執行下列指令:PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p DB_PORT -U DB_USERNAME -d postgres
請替換下列變數:
USER_PROJECT:建立資料庫叢集的使用者專案名稱。DBCLUSTER_NAME:資料庫叢集的名稱。path/to/:資料庫 CA 憑證的路徑。DB_PASSWORD:管理員使用者的資料庫密碼。DB_HOSTNAME:資料庫叢集狀態的主機名稱。DB_PORT:資料庫叢集狀態中的資料庫通訊埠號碼。DB_USERNAME:資料庫使用者名稱 (預設為dbsadmin)。