設定 Cloud SQL 執行個體存取權

本文將詳細說明如何設定虛擬私有雲對等互連、安裝 Cloud SQL Proxy,以及跨不同 Google Cloud 專案連線至內部 Cloud SQL IP 位址。這項設定可確保 Cloud SQL 執行個體與下列連接器之間的通訊安全無虞且有效率:

本文也說明如何在 BigQuery 資料移轉服務連接器專案中建立網路連結。

架構總覽

如要將資料從一個專案中的私人 Cloud SQL 執行個體移轉至另一個專案中的 BigQuery,BigQuery 資料移轉服務需要連接器網路來橋接私人網路連線。

虛擬私有雲網路對等互連僅支援直接對等互連網路之間的通訊,不會轉送來自其他連線的流量。因此,透過 Private Service Connect 網路連結進入虛擬私有雲網路的流量,無法跨越對等互連連線,抵達對等互連的 Cloud SQL 網路。如要建立這項連線,連接器網路中的 Compute Engine VM 會執行 Cloud SQL Auth Proxy。Proxy 會終止來自網路連結的連入連線,並透過對等互連網路建立與 Cloud SQL 執行個體的已驗證連線。

下圖說明 BigQuery 資料移轉服務與私有 Cloud SQL 執行個體之間的網路元件和資料路徑:

BigQuery 資料移轉服務至 Cloud SQL 網路架構。

事前準備

請確認您已備妥下列項目:

設定虛擬私有雲對等互連

如要設定 VPC 對等互連,您必須從 BigQuery 資料移轉服務連接器專案建立 VPC 對等互連,在 Cloud SQL 資料庫專案中建立與 BigQuery 資料移轉服務專案的 VPC 對等互連,並設定路徑和防火牆規則。

從 BigQuery 資料移轉服務連接器專案建立 VPC 對等互連

  1. 在 Google Cloud 控制台中,前往 BigQuery 資料移轉服務連接器專案的「VPC network peering」(虛擬私有雲網路對等互連) 頁面。

    前往「VPC Network Peering」(虛擬私有雲網路對等互連)

  2. 按一下「建立對等互連連線」

  3. 在「Name」(名稱) 欄位中,輸入對等互連設定的名稱。

  4. 在「您的虛擬私有雲網路」部分,選取要在 BigQuery 資料移轉服務連接器專案中建立對等互連的虛擬私有雲網路。

  5. 在「對等互連虛擬私有雲網路」中,選取「在其他專案中」選項。

  6. 在「專案 ID」中,輸入 Cloud SQL 專案的專案 ID。

  7. 在「虛擬私有雲網路名稱」中,輸入 Cloud SQL 專案中的虛擬私有雲網路名稱。

  8. 點選「建立」

在 Cloud SQL 資料庫專案中建立 VPC 對等互連

如要在 Cloud SQL 資料庫專案中建立 VPC 對等互連,連至 BigQuery 資料移轉服務專案,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往 BigQuery 資料移轉服務連接器專案的「VPC Network Peering」(虛擬私有雲網路對等互連) 頁面。

    前往「VPC Network Peering」(虛擬私有雲網路對等互連)

  2. 按一下「建立對等互連連線」

  3. 在「Name」(名稱) 欄位中,輸入對等互連設定的名稱。

  4. 在 Cloud SQL 資料庫專案中,選取要建立對等互連的虛擬私有雲網路。

  5. 在「對等專案 ID」中,輸入 BigQuery 資料移轉服務專案的專案 ID。

  6. 如果是對等互連的虛擬私有雲網路,請在 BigQuery 資料移轉服務連接器專案中輸入虛擬私有雲網路的名稱。

  7. 點選「建立」

設定路徑和防火牆規則

如果您先前設定對等互連連線時未選取匯入/匯出路徑,請按照下列步驟操作:

  1. 前往 BigQuery 資料移轉服務連接器專案的「Routes」(路徑) 頁面。

    前往「Routes」(路徑)

  2. 確認有允許對等互連虛擬私有雲環境之間流量的路徑。

  3. 前往「防火牆政策」頁面。

    前往「Firewall policies」(防火牆政策)

  4. 建立防火牆規則,允許對等互連網路之間在必要通訊埠上傳輸流量 (例如 MySQL 的通訊埠 3306 和 PostgreSQL 的通訊埠 5432)。

  5. 將 BigQuery 資料移轉服務連接器專案中所需的自訂防火牆規則,新增至 Cloud SQL 資料庫代管專案。

  6. 如先前步驟所述,為專案設定路徑和防火牆規則,並將 Cloud SQL 執行個體做為路徑和防火牆規則。

設定 Cloud SQL Proxy

  1. 使用 SSH 連線至 BigQuery 資料移轉服務連接器專案中的虛擬機器 (VM) 執行個體。

  2. 在終端機中下載 Cloud SQL Proxy:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  3. 更新已下載檔案的權限:

    chmod +x cloud_sql_proxy
    
  4. 執行 Cloud SQL Proxy:

    ./cloud_sql_proxy -instances=NAME=tcp:3306 or 5432 &
    

    NAME 改成 Cloud SQL 執行個體連線的名稱。

連線至 Cloud SQL 內部 IP 位址

  1. 使用 Cloud SQL 執行個體的內部 IP 位址進行連線。
  2. 設定應用程式或工具,連線至內部 IP 位址,並指定適當的憑證和資料庫詳細資料。

從其他 Google Cloud 專案連線時,請使用您先前部署的 Proxy VM 內部 IP 位址。這個解決方案可解決遞移對等互連問題。

建立網路連結

如要在 BigQuery 資料移轉服務連接器專案中建立網路連結,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Network attachments」(網路附件) 頁面。

    前往「網路附件」

  2. 按一下「建立網路連結」

  3. 提供網路連結的名稱。

  4. 選取適當的虛擬私有雲網路。

  5. 在「區域」中,指定 BigQuery 資料移轉服務連線器所在的區域。

  6. 在「Subnetwork」(子網路) 中,選取與設定相符的適當選項。

  7. 按一下「Create network attachment」(建立網路連結)

測試連線

  1. 確認搭載 Cloud SQL Proxy 的 VM 可以連線至 Cloud SQL 執行個體:

    mysql -u USERNAME -p -h IP_ADDRESS
    

    更改下列內容:

    • USERNAME:資料庫使用者的使用者名稱
    • IP_ADDRESS:Cloud SQL 執行個體的 IP 位址
  2. 確認 BigQuery 資料移轉服務連接器專案中的應用程式,可以使用內部 IP 連線至 Cloud SQL 執行個體。

疑難排解

如果設定網路時遇到問題,請按照下列步驟操作:

  • 確認已建立虛擬私有雲對等互連,且路徑設定正確無誤。
  • 確認防火牆規則允許必要通訊埠的流量。
  • 檢查 Cloud SQL Proxy 記錄是否有錯誤,並確認 Proxy 正常運作。
  • 確認網路連結已正確設定並連線。