您可以使用 PostgreSQL 指令列用戶端連線至 Cloud SQL。本頁說明如何將
psql
用戶端連線至 Cloud SQL 執行個體,無論這個用戶端是在您的本機用戶端機器、Compute Engine VM 或 Cloud Shell 中執行。
事前準備
如要使用 psql
用戶端連線至 Cloud SQL 執行個體,請先執行下列操作:
-
建立 Cloud SQL 執行個體,包括設定預設使用者。
請參閱「 建立執行個體」和「設定預設使用者帳戶的密碼」。
您可以選擇建立 Compute Engine VM 執行個體,然後透過 SSH 連線至該執行個體。
請參閱「建立及啟動 VM 執行個體」、「關於 SSH 連線」或「使用 RDP 連線至 Windows VM」。
決定要如何連線至執行個體。
如要瞭解連線選項和如何選擇連線選項,請參閱「關於連線選項」一文。
在本機機器或 Compute Engine VM 上使用 PostgreSQL 用戶端
使用 psql
用戶端連線至 Cloud SQL 執行個體,需要完成三個高層級任務:
安裝用戶端
如要安裝 psql
用戶端,請按照下列步驟操作:
Debian/Ubuntu
從套件管理員安裝 psql 用戶端:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
從套件管理員安裝 psql 用戶端:
sudo yum install postgresql
openSUSE
從套件管理員安裝 psql 用戶端:
sudo zypper install postgresql
其他平台
- 從 PostgreSQL 下載頁面下載您平台適用的 PostgreSQL Core Distribution。
Core Distribution 內含 psql 用戶端。 - 按照下載頁面上的指示安裝 PostgreSQL 資料庫。
設定 Cloud SQL 執行個體的存取權
如要設定執行個體的存取權,請按照下列步驟操作:
- 在用戶端機器或 Compute Engine VM 執行個體中,使用「What's my IP」查看用戶端機器的 IP 位址。
- 複製該 IP 位址。
-
前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在 SQL 導覽選單中選取「Connections」。
- 選取「網路」分頁標籤。
- 在「Authorized networks」部分,按一下「Add network」,然後輸入用戶端安裝所在機器的 IP 位址。
- 按一下 [完成]。然後按一下頁面底部的「儲存」來儲存變更。
- 使用 SSL/TLS 或不加密 (不使用 SSL/TLS) 連線至執行個體。
不加密連線至 Cloud SQL 執行個體
如要讓您在不加密的情況下連線,執行個體必須將SSL 模式設為 ALLOW_UNENCRYPTED_AND_ENCRYPTED
。在 Google Cloud 控制台中,等同的設定為「允許未加密的網路流量」。
如要進一步瞭解執行個體的 SSL/TLS 設定,請參閱「設定 SSL/TLS 憑證」。
如要連線至執行個體,請按照下列步驟操作:
- 確認您已安裝用戶端,並設定執行個體的存取權。
- 啟動
psql
用戶端:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- 輸入密碼。
- 畫面上會顯示 psql 提示。
使用 SSL/TLS 連線至 Cloud SQL 執行個體
如要使用 SSL/TLS 和內建驗證機制連線至執行個體,請按照下列步驟操作:
- 啟動
psql
用戶端:psql "sslmode=require \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
例如:
psql "sslmode=require \ hostaddr=203.12.34.56 \ user=postgres dbname=postgres"
您可能還想建立連線服務檔案,以便管理連線參數,尤其是當您連線至多個執行個體時。詳情請參閱 PostgreSQL 說明文件。
- 輸入密碼。雖然 PostgreSQL 在使用 SSL/TLS 時支援不需密碼的連線,但 Cloud SQL 仍必須使用密碼,
- 您可以查看連線資訊中的密碼編碼,確認連線是否已加密:
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
使用 SSL/TLS 和用戶端憑證驗證功能連線至 Cloud SQL 執行個體
如果 Cloud SQL 執行個體上的 ssl_mode
已設為 TRUSTED_CLIENT_CERTIFICATE_REQUIRED
,您登入時也必須提供已驗證的用戶端身分。
如要使用 SSL/TLS 憑證搭配用戶端驗證連線,您需要:
- client-cert.pem 檔案中的用戶端公用金鑰憑證。
- client-key.pem 檔案中的用戶端私密金鑰。
此外,如要讓用戶端驗證伺服器身分以進行雙向驗證,請指定伺服器憑證 server-ca.pem。
舉例來說,如要啟動psql
用戶端,請執行下列操作:psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
如果您沒有用戶端憑證和相應的私密金鑰,請 建立新的用戶端憑證。
在 Cloud Shell 中使用用戶端
如要連線至 Cloud SQL 執行個體 (僅限公開 IP):
- 前往 Google Cloud 控制台。
- 按一下工具列右側的 Cloud Shell 圖示
。
Cloud Shell 需要幾分鐘的時間才能初始化。
- 在 Cloud Shell 提示中,使用內建用戶端連線至 Cloud SQL 執行個體:
gcloud sql connect INSTANCE_ID \ --user=postgres
- 請輸入您的密碼。
gcloud sql connect
指令不支援使用私人 IP 或 SSL/TLS 連線至 Cloud SQL 執行個體。如要使用加密連線,請在 Cloud Shell 中安裝並使用 Proxy:
- 在
/home/USER
目錄中安裝 Proxy (Linux 64 位元)。 - 使用 gcloud CLI 驗證功能啟動 Proxy:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- 使用 TCP 連線連線至資料庫:
psql -U USERNAME --host=127.0.0.1
後續步驟
- 瞭解如何 設定私人 IP 的執行個體。
- 瞭解 從應用程式連線至執行個體的選項。
- 瞭解
psql
用戶端如何與 SSL 搭配運作。
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud SQL 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
免費試用 Cloud SQL