使用 VPC 對等互連功能建立私人執行個體

本頁面說明如何建立具有內部 IP 位址的 Cloud Data Fusion 執行個體。您可以在虛擬私有雲網路或共用虛擬私有雲網路中建立執行個體。

私人 Cloud Data Fusion 執行個體具有以下優點:

  • 系統會透過 Google Cloud 專案中的私人虛擬私有雲網路,建立與執行個體的連線。網路上的流量不會經過公開網際網路。

  • 由於內部部署網路會透過 Cloud VPNCloud Interconnect 連線至Google Cloud 私人 VPC 網路,因此執行個體可以連線至內部部署資源,例如關聯式資料庫。您可以透過私人網路安全地存取資料庫等內部部署資源,而不必開放 Google Cloud的存取權。

目標

  • 設定虛擬私有雲網路或共用虛擬私有雲網路。
  • 分配 IP 範圍,用於在租戶專案中部署 Cloud Data Fusion 執行個體。
  • 建立 Cloud Data Fusion 私人執行個體。
  • 在包含 Cloud Data Fusion 執行個體的 VPC 與包含相關聯租用戶專案的 VPC 之間,設定 VPC 網路對等互連。
  • 針對共用 VPC 網路,請設定身分與存取權管理 (IAM) 權限。
  • 如果私人執行個體使用 Cloud Data Fusion 6.2.0 以上版本,請建立防火牆規則。
  • 在 Dataproc 子網路上啟用私人 Google 存取權,讓不同 Google Cloud 服務在內部彼此通訊。

事前準備

  • 如要瞭解 Cloud Data Fusion 的部署架構,請參閱「網路」。

設定虛擬私有雲網路

如果您尚未建立,請建立虛擬私有雲網路共用虛擬私有雲網路

如要設定虛擬私有雲網路,您必須分配 IP 位址範圍。

分配 IP 範圍

虛擬私有雲網路

如果您未使用共用虛擬私有雲網路,Cloud Data Fusion 會在您建立執行個體時預設分配 IP 範圍。

共用的 VPC 網路

如要使用 Shared VPC,您必須為 Cloud Data Fusion 執行個體分配 IP 範圍。

如要為 Cloud Data Fusion 執行個體分配 IP 範圍,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 在「Name」欄中,按一下要建立私人 Cloud Data Fusion 執行個體的虛擬私有雲網路。

    「虛擬私有雲網路詳細資料」頁面隨即開啟。

  3. 按一下「Private service connection」。如果出現系統提示,請按一下「Enable API」來啟用 Service Networking API。

    設定虛擬私有雲網路詳細資料。

  4. 按一下「分配 IP 範圍」

    1. 為 IP 範圍命名。

    2. 在「IP 範圍」中,點選「自動」

    3. 指定前置字串大小為 22

    4. 按一下「Allocate」(分配)

      分配 IP 範圍。

建立私人執行個體

在 VPC 網路或共用虛擬私有雲網路中建立私人 Cloud Data Fusion 執行個體。

虛擬私有雲網路

如要在虛擬私有雲網路中建立執行個體,請使用Google Cloud 主控台或 cURL。

如果您使用 Google Cloud 控制台建立私人執行個體,Cloud Data Fusion 會根據預設分配 /22 IP 位址範圍。如要選擇其他 IP 範圍,您必須使用 cURL 指令。

控制台

  1. 前往「建立 Data Fusion 執行個體」頁面。

    前往「建立 Data Fusion 執行個體」

  2. 輸入執行個體的名稱和說明。

  3. 選取要建立執行個體的「Region」(區域)

  4. 選取 Cloud Data Fusion 的版本版本

  5. 指定要在 Dataproc 中執行 Cloud Data Fusion 管道時使用的 Dataproc 服務帳戶。預先選取預設 Compute Engine 帳戶。

  6. 展開「進階選項」選單,然後點選「啟用私人 IP」

  7. 在「Network」(網路) 欄位中,選擇要建立執行個體的網路。

  8. 按一下「建立」,執行個體建立程序最多需要 30 分鐘才能完成。

cURL

為方便您操作,您可以匯出下列變數,也可以直接將這些值替換為下列指令:

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

如要建立例項,請呼叫其 create() 方法:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=INSTANCE_ID -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "NETWORK_NAME", "ipAllocation": "IP_RANGE"}}'

更改下列內容:

  • INSTANCE_ID:新執行個體應取得的 ID 字串。
  • NETWORK_NAME:您要建立私人執行個體的 VPC 網路名稱。
  • IP_RANGE您指派的 IP 範圍。如要在Google Cloud 控制台中查看 IP 範圍,請依序前往「VPC 網路詳細資料」>「私人服務連線」>「內部 IP 範圍」

共用的 VPC 網路

如要在共用虛擬私有雲端網路中建立執行個體,請使用 cURL,而非Google Cloud 主控台。

cURL

為了方便起見,您可以匯出下列變數。或者,您也可以直接在下列指令中替換這些值:

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

如要建立例項,請呼叫其 create() 方法:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instanceId=INSTANCE_ID -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "projects/SHARED_VPC_HOST_PROJECT_ID/global/networks/NETWORK_NAME", "ipAllocation": "IP_RANGE"}}'

更改下列內容:

  • INSTANCE_ID:新執行個體應取得的 ID 字串。
  • SHARED_VPC_HOST_PROJECT_ID代管共用虛擬私有雲網路的專案 ID。
  • NETWORK_NAME:您要建立私人執行個體的 VPC 網路名稱。
  • IP_RANGE您已分配的 IP 範圍。如要在 Google Cloud 控制台中查看 IP 範圍,請依序前往「虛擬私有雲網路詳細資料」頁面 >「私人服務連線」>「內部 IP 範圍」

設定虛擬私有雲網路對接

您在設計環境中使用的 Cloud Data Fusion 服務 (例如 Wrangler、Connection Manager 和 Schema Validation) 會啟動從租用戶專案虛擬私有雲到來源系統的網路連線。Cloud Data Fusion 會使用虛擬私有雲網路對等互連,建立與包含執行個體的虛擬私有雲或共用虛擬私有雲的網路連線。虛擬私有雲網路對等連線可讓 Cloud Data Fusion 使用您自己的 VPC 和控制項,透過內部 IP 位址存取網路中的資源。如要連線至其他網路中的資源,請參閱連線用途的步驟

以下章節將說明如何在您的網路與 Cloud Data Fusion 租用戶專案網路之間建立對等互連設定

取得用戶群專案 ID

如要建立對等互連設定,您需要租戶專案 ID。

  1. 前往 Cloud Data Fusion 的「Instances」(執行個體) 頁面

    前往「Instances」(執行個體)

  2. 在「Instance Name」(執行個體名稱) 欄中選取執行個體。

  3. 在「Instance details」頁面上,複製「Tenant project ID」,這是在後續步驟中建立對等連線時所需的資訊。

建立對等連線

  1. 前往「VPC 網路對等互連」頁面。

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

  2. 依序點選「建立連線」>「繼續」

  3. 在隨即開啟的「Create peering connection」(建立對等連線) 頁面中,執行下列操作:

    1. 輸入對等互連連線的「Name」(名稱)
    2. 在「Your VPC network」中,選取包含 Cloud Data Fusion 執行個體的網路。
    3. 在「對等互連虛擬私有雲網路」中,選取「在其他專案中」
    4. 在「專案 ID」 中,輸入您在本教學課程中找到的租用戶專案 ID
    5. 在「虛擬私有雲網路名稱」中,選取網路或輸入 INSTANCE_REGION-INSTANCE_ID

      更改下列內容:

      • INSTANCE_REGION:您建立 Cloud Data Fusion 執行個體的地區。
      • INSTANCE_ID:Cloud Data Fusion 執行個體的 ID。
    6. 選取對等互連連線的網際網路通訊協定版本,以便在虛擬私有雲網路和對等互連虛擬私有雲網路之間交換 IPv4 和 IPv6 路徑。詳情請參閱「虛擬私有雲網路對等互連」。

    7. 選取「Export custom routes」,即可將自訂路徑從虛擬私有雲網路匯出至租用戶虛擬私有雲網路。

    8. 選擇是否要將採用公開 IPv4 的子網路路徑匯入或匯出至虛擬私有雲網路。

    9. 按一下 [建立]。

    虛擬私有雲網路對等互連建立後不久就會生效。

設定 IAM 權限

虛擬私有雲網路

請略過這個步驟,並前往「建立防火牆規則」頁面。

共用的 VPC 網路

如果您在共用虛擬私有雲網路中建立 Cloud Data Fusion 執行個體,則必須將 Compute 網路使用者角色授予下列服務帳戶。如要授予所有子網路的權限,請將角色授予共用虛擬私有雲主專案。

如要進一步控管存取權,請改為將角色授予特定子網路,並在主機專案中授予網路檢視器角色

  • Cloud Data Fusion 服務帳戶:service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com
  • Dataproc 服務帳戶:service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com

PROJECT_NUMBER 是包含 Cloud Data Fusion 執行個體的Google Cloud 專案編號。

詳情請參閱「授予必要服務帳戶存取權」一文。

建立防火牆規則

在 VPC 網路上建立防火牆規則,允許來自您建立私人 Cloud Data Fusion 執行個體時指定的 IP 範圍的 SSH 連線。

如要使用 6.2.0 以下版本的 Cloud Data Fusion,必須執行這項步驟。可讓 Cloud Data Fusion 與執行管道的 Dataproc 叢集之間進行通訊。

您可以使用 Google Cloud 主控台使用 gcloud CLI 建立防火牆規則。

控制台

請參閱「建立防火牆規則」。

gcloud

請執行下列指令:

gcloud compute firewall-rules create FIREWALL_NAME-allow-ssh --allow=tcp:22 --source-ranges=IP_RANGE --network=NETWORK_NAME --project=PROJECT_ID

更改下列內容:

  • FIREWALL_NAME:要建立的防火牆規則名稱。
  • IP_RANGE您指派的 IP 範圍
  • NETWORK_NAME:防火牆規則所屬網路的名稱。這是您建立私人執行個體的 VPC 網路名稱。
  • PROJECT_ID代管 VPC 網路的專案 ID。

連結用途的步驟

以下各節說明私人執行個體的連線相關用途。

啟用 Private Google Access

如要透過內部 IP 位址存取資源,Cloud Data Fusion 必須在具有私人 Google 存取權的子網路中建立 Dataproc 叢集,並在該子網路中執行資料管道。您必須為包含 Dataproc 叢集的子網路啟用私人 Google 存取權。

  • 如果 Dataproc 叢集啟動所在的區域只有一個子網路,叢集就會在該子網路中啟動。
  • 如果區域中有多個子網路,您必須設定 Cloud Data Fusion,以便選取具有私人 Google 存取權的子網路,以便啟動 Dataproc 叢集。

如要為子網路啟用私人 Google 存取權,請參閱私人 Google 存取權設定

選用:連結其他來源

在 Cloud Data Fusion 中建立私人執行個體後,您可以連線至其他來源,例如下列用途:

選用:啟用 DNS 對等互連

在下列情況下啟用 DNS 對等互連

  • Cloud Data Fusion 透過主機名稱 (而非 IP 位址) 連線至系統時
  • 目標系統部署在負載平衡器後方時,例如在某些 SAP 部署作業中

後續步驟