创建私有实例

本页面介绍如何创建具有专用 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 范围

仅在使用了共享 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 或 cURL。要在共享 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. 选择要在其中创建实例的区域,即已启用专用 Google 访问通道的区域

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

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

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

  7. 点击创建。最长可能需要 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/v1beta1/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 中的“VPC 网络详情”页面,并在专用服务连接标签页中的内部 IP 范围下寻找您的 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/v1beta1/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 租户项目网络之间创建对等互连配置

查找您的租户项目 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 实例。

后续步骤