创建私有实例

本页面介绍如何创建具有专用 IP 地址的 Cloud Data Fusion 实例。您可以在 VPC 网络或共享 VPC 网络中创建私有 Cloud Data Fusion 实例。

创建私有 Cloud Data Fusion IP 实例具有以下优势:

  • 与 Cloud Data Fusion 实例的连接是通过 Google Cloud 项目中的专用 VPC 网络建立的。通过此网络的流量不会通过公共互联网。

  • 通过使用 Cloud VPNCloud Interconnect 将本地网络连接到 Google Cloud 专用 VPC 网络,实例可以连接到本地资源(例如关系型数据库)。您可以通过专用网络安全访问本地资源(例如数据库),而无需打开 Google Cloud。

设置 VPC 网络

如果您尚未执行此操作,请创建 VPC 网络共享 VPC 网络

本部分介绍如何启用“专用 Google 访问通道”并分配 IP 范围,必须同时满足这两个条件才能设置 VPC 网络。

启用专用 Google 访问通道

您在其中创建私有 Cloud Data Fusion 实例的区域必须具有启用了专用 Google 访问通道子网

要为子网启用专用 Google 访问通道,请按以下步骤操作:

  1. 转到 Google Cloud Console 中的“VPC 网络”页面。

    打开“VPC 网络”页面

  2. 区域列中,找到要在其中创建私有 Cloud Data Fusion 实例的区域。点击该区域对应的子网。

  3. 点击修改

  4. 专用 Google 访问通道下,选择开启

  5. 点击保存

    映像

分配 IP 范围

以下步骤介绍了如何为 Cloud Data Fusion 实例分配 IP 范围。请注意,您的流水线在 Dataproc 集群上运行,该集群使用的 IP 地址范围与分配给 Cloud Data Fusion 实例的 IP 地址范围不同。

仅在使用了共享 VPC 网络的情况下才按照以下步骤操作。 如果您未使用共享 VPC 网络,则 Cloud Data Fusion 将在您创建实例时自动分配 IP 范围。如果您未使用共享 VPC 网络,请跳过此部分并创建私有实例

如需为您的 Cloud Data Fusion 实例分配 IP 范围,请按以下步骤操作:

  1. 转到 Cloud Console 中的 VPC 网络页面。

    转到 VPC 网络页面

  2. 名称下,点击要在其中创建私有 Cloud Data Fusion 实例的 VPC 网络。

  3. VPC 网络详情页面上,点击专用服务连接标签页。如果系统提示,请点击启用 API 以启用 Service Networking API。

    映像

  4. 点击分配 IP 范围

    1. 为您的 IP 范围指定名称。

    2. IP 范围下,选择自动

    3. 指定前缀大小 22

    4. 点击分配

      映像

创建私有实例

在 VPC 网络或共享 VPC 网络中创建私有 Cloud Data Fusion 实例。如需在 VPC 网络中创建实例,请使用 Cloud Console 或 c网址。要在共享 VPC 网络中创建实例,请使用 cURL。

在 VPC 网络中创建私有实例

如果您使用 Cloud Console 创建专用实例,则 Cloud Data Fusion 会自动为您分配 /22 IP 地址范围。如果您希望根据自己的选择明确分配 IP,请改用 cURL 命令。

控制台

如果已启用 API,则 Cloud Console 中的 Cloud Data Fusion 部分会显示一个实例页面,您可以在其中管理 Cloud Data Fusion 实例。如果不存在实例,此页面上会显示一个用于创建实例的链接,以及一些指向文档和示例的有用链接。

  1. 转到 Cloud Console 中的创建实例页面。

    转到“创建实例”

  2. 输入实例名称

  3. 输入实例的说明

  4. 选择要在其中创建实例的区域,即已启用专用 Google 访问通道的区域

  5. 指定您所需的 Cloud Data Fusion 版本

  6. 选择所需的 Cloud Data Fusion 版本

  7. 在 Cloud Data Fusion 6.2.3 及更高版本中,指定用于在 Dataproc 中运行 Cloud Data Fusion 流水线的 Dataproc 服务帐号。界面会预先选择默认的 Compute Engine 帐号。无论使用何种版本,请确保服务帐号具有满足您需求的适当 Identity and Access Management 角色。如需了解详情,请参阅向服务帐号授予用户权限

  8. 点击高级选项。在专用 IP 下,选择启用专用 IP

  9. 关联网络下,选择要在其中创建私有实例的网络。

  10. 点击创建。最长可能需要 30 分钟才能完成实例创建过程。

cURL

为方便起见,您可以导出以下变量,也可以直接将这些值代入以下命令。

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

要使用 REST API 创建 Cloud Data Fusion 实例,请提交以下 create API 请求。

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", "ipAllocation": "ip_range"}}'
参数 说明
instance_id 提供实例的 ID。
network 您要在其中创建私有实例的 VPC 网络的名称。
ip_range 您分配的 IP 范围。(您可以在 Cloud Console 的专用服务连接标签页中的内部 IP 范围下找到“VPC 网络详情”页面,找到您的 IP 范围。)

在共享 VPC 网络中创建私有实例

为方便起见,您可以导出以下变量。或者,您也可以在下面的命令中直接替换这些值。

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

要使用 REST API 创建 Cloud Data Fusion 实例,请提交以下 create API 请求。

  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", "ipAllocation": "ip_range"}}'
  

参数 说明
instance_id 提供实例的 ID。
shared_vpc_host_project_id 托管共享 VPC 网络的项目的 ID。
network 您要在其中创建私有实例的 VPC 网络的名称。
ip_range 您分配的 IP 范围。(您可以在 Cloud Console 的“VPC 网络详情”页面上的专用服务连接标签页的内部 IP 范围下找到您的 IP 范围)。

设置 VPC 网络对等互连

Cloud Data Fusion 使用 VPC 网络对等互连建立与 VPC 网络的网络连接。这允许 Cloud Data Fusion 通过专用 IP 地址访问您网络上的资源。

本部分介绍如何在您的网络和 Cloud Data Fusion 租户项目网络之间创建对等互连配置

连接到外部来源

要连接到外部网络(本地网络或另一个 VPC 网络)中的资源,外部网络和 Cloud Data Fusion 实例需要通过同一 VPC 网络进行连接。

下文介绍如何使用具有 BGP 路由或 Cloud Interconnect 连接的 Cloud VPN 隧道将外部网络连接到 Cloud Data Fusion VPC 网络:

  • 确保您的 VPC 网络已使用 Cloud VPN 隧道或者用于专用互连合作伙伴互连的 VLAN 连接来连接到外部网络。
  • 确保用于管理 Cloud VPN 隧道或 Cloud Interconnect 连接 (VLAN) 的 Cloud Router 上的 BGP 会话已经从您的外部网络接收了特定前缀(目的地)。

    默认路由(目的地 0.0.0.0/0)无法导入到 Cloud Data Fusion VPC 网络中,因为该网络有自己的本地默认路由。即使 Cloud Data Fusion 对等互连配置为从您的 VPC 网络导入自定义路由,也会始终使用目的地的本地路由。

  • 识别由专用服务连接生成的对等互连连接。根据服务的不同,专用服务连接可能会创建以下一个或多个对等互连连接,但不一定会全部创建:
    • datafusion-googleapis-com
    • servicenetworking-googleapis-com
  • 更新所有对等互连连接以启用导出自定义路由功能。
  • 识别专用服务连接使用的分配范围
  • 在管理 Cloud VPN 隧道或 Cloud Interconnect 连接 (VLAN) 的 BGP 会话的 Cloud Router 上,针对分配的范围创建 Cloud Router 自定义路由通告

查找您的租户项目 ID

要创建对等互连配置,您需要租户项目 ID。

  1. 转到 Cloud Console 中的 Cloud Data Fusion 实例页面。

    转到“实例”

  2. 实例名称下,选择您的实例。

  3. 实例详情页面上,复制实例的服务帐号值。租户项目 ID 是“at”符号 (@) 和后面的英文句点 (.) 之间的部分。例如,如果服务帐号值为
    cloud-datafusion-management-sa@r8170c9b5e7699803-tp.iam.gserviceaccount.com
    ,则租户项目 ID 为 r8170c9b5e7699803-tp

    映像

创建对等连接

  1. 转到 Cloud Console 中的 VPC 网络对等互连页面。

    转到 VPC 网络对等互连

  2. 点击创建对等连接

  3. 点击继续

  4. 输入对等互连连接的名称

  5. 您的 VPC 网络下,选择您在其中创建了 Cloud Data Fusion 实例的网络。

  6. 对等互连 VPC 网络下,选择在另一个项目中

  7. 项目 ID 下,输入您在使用本教程之前找到的租户项目 ID

  8. VPC 网络名称下,输入 instance_region-instance_id

    • instance_region 是您在其中创建了 Cloud Data Fusion 实例的区域。
    • instance_id 是您的 Cloud Data Fusion 实例的 ID。
  9. 点击交换自定义路由。选择导出自定义路由。这允许您将 VPC 网络中定义的任何自定义路由与租户 VPC 网络进行交换。

  10. 点击创建

    映像

设置 IAM 权限

仅在使用了共享 VPC 网络的情况下才按照以下步骤操作。 如果您未使用共享 VPC 网络,请跳过此部分并转到创建防火墙规则

如果您在共享 VPC 网络中创建 Cloud Data Fusion 实例,则需要向以下服务帐号授予 Compute Network User 角色,该角色拥有共享 VPC 宿主项目的访问权限:

  • 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 实例所属的 Cloud Console 项目编号。

按照以下步骤授予访问权限以访问所需的服务帐号。

创建防火墙规则

在 VPC 网络上创建防火墙规则,以允许来自您在创建私有 Cloud Data Fusion 实例时所指定 IP 范围的入站 SSH 连接。

您可以使用 Cloud Console使用 gcloud 创建防火墙规则。要使用 gcloud,请运行以下命令:

  gcloud compute firewall-rules create name-allow-ssh --allow=tcp:22 --source-ranges=ip_range --network=network --project=project
  

参数 说明
name 要创建的防火墙规则的名称。
ip_range 您分配的 IP 范围。(您可以在 Cloud Console 的“VPC 网络详情”页面上的专用服务连接标签页的内部 IP 范围下找到您的 IP 范围)。
network 此规则将连接到的网络。您在其中创建了私有实例的 VPC 网络的名称。
project 托管 VPC 网络的项目的 ID。


现在,您可以使用私有 Cloud Data Fusion 实例。

后续步骤