使用 Auth Proxy 從 Cloud Shell 連線至 AlloyDB
如要連線至 AlloyDB for PostgreSQL 執行個體,並從預先設定的瀏覽器終端機執行 SQL 查詢,而不安裝本機用戶端工具,可以使用 Cloud Shell 和 AlloyDB 驗證 Proxy。
事前準備
在 Google Cloud 控制台的專案選取器頁面,選取或建立 Google Cloud 專案。
請確認您已為 Google Cloud 專案啟用計費功能。驗證帳單資訊後,所有必要服務都會啟用。
確認您已為 AlloyDB 執行個體設定公開 IP。Cloud Shell 無法連線至私人 IP 位址。
必要的角色
如要使用 Auth Proxy,您的使用者帳戶必須具備下列 Identity and Access Management (IAM) 角色:
- AlloyDB 用戶端 (
roles/alloydb.client) - 服務使用情形消費者 (
roles/serviceusage.serviceUsageConsumer)
如果您沒有必要角色,請要求管理員授予角色,或按照下列步驟將角色授予使用者帳戶:
前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。
在主體清單中找出您的使用者帳戶。
按一下「Edit principal」(編輯主體)。
按一下 [Add another role] (新增其他角色)。
搜尋並選取「AlloyDB 用戶端」角色。
按一下「套用」。
按一下 [Add another role] (新增其他角色)。
搜尋並選取「服務使用情形消費者」角色。
按一下「套用」。
按一下 [儲存]。
連線至 AlloyDB 執行個體
Cloud Shell 環境包含驗證 Proxy (alloydb-auth-proxy) 和 PostgreSQL 互動式終端機 psql。
啟動 Cloud Shell。
按一下「Authorize Cloud Shell」。只有在第一次使用 Cloud Shell 時,才需要執行這項操作。
在 Cloud Shell 編輯器中確認使用者身分。確認您登入的使用者帳戶具備必要的 IAM 角色。
gcloud config list取得執行個體的連線 URI:
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
選取叢集,然後找出主要執行個體。
點選「查看連線設定」。
複製連線 URI。
啟動驗證 Proxy。在 Cloud Shell 終端機中,使用複製的 URI 並指定
--public-ip旗標:alloydb-auth-proxy CONNECTION_URI --public-ip更改下列內容:
CONNECTION_URI:從 Google Cloud 控制台複製的連線 URI。
驗證 Proxy 會啟動,並顯示訊息,確認正在監聽
127.0.0.1:5432。開啟新的 Cloud Shell 分頁,並使用
psql連線至資料庫:psql "host=localhost user=POSTGRES_USERNAME dbname=POSTGRES_DATABASE port=5432"如要在現有的 Cloud Shell 視窗中開啟新的終端機窗格,請按下 Control+b+",或按一下
「Add」(新增)。這樣一來,您就能在一個窗格中執行驗證 Proxy,同時在第二個窗格中執行連線指令。如要在窗格之間切換,請按下 Control+b+keyboard_arrow_up 或 Control+b+keyboard_arrow_down。
更改下列內容:
POSTGRES_USERNAME:您的 AlloyDB 使用者,通常是postgres。POSTGRES_DATABASE:AlloyDB 資料庫名稱,通常為postgres。
系統提示時,請輸入 PostgreSQL 使用者的密碼。
執行 SQL 查詢,驗證連線:
SELECT now();如要停止
psql,請輸入\q。如要停止 Cloud Shell,請輸入
exit。如要停止驗證 Proxy,請按下 Control+c 鍵。
清除所用資源
為了避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請按照下列步驟操作。
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
按一下您建立的叢集。
按一下「Delete cluster」(刪除叢集)。
在確認對話方塊中,輸入叢集 ID,然後按一下「Delete」(刪除),即可刪除叢集及其執行個體。