配置专用网络访问权限

本页介绍了如何设置专用网络访问并在 Cloud de Confiance 网络中路由流量。

如需设置专用网络访问权限,您需要配置三个项目:

  • 包含目标虚拟机实例 (VM) 或目标内部负载均衡器要使用的虚拟私有云 (VPC) 网络的项目。
  • 充当 Service Directory 服务项目的项目。
  • Cloud de Confiance 产品的项目,其中包含调用专用网络访问权限的配置。 Cloud de Confiance 可以使用专用网络访问通道调用端点的产品示例是 Dialogflow CX。

项目的制品可以位于同一项目中,也可以位于不同项目中。

准备工作

在配置专用网络访问权限之前,请完成以下步骤:

  • 对于每个项目,在 Cloud de Confiance 控制台的 API 和服务页面中,点击 启用 API 和服务以启用您要使用的 API,包括 Service Directory API。

  • 如需将 VPC 网络与本地主机相关联,请创建 Cloud VPN 隧道Cloud Interconnect 连接

  • 确保 Cloud de Confiance 项目位于网络项目和 Service Directory 项目的 VPC Service Controls 边界内(针对 servicedirectory.googleapis.com)。

    详细了解 VPC Service Controls

为 VPC 网络配置项目

如需为 VPC 网络配置项目,请按以下步骤操作:

  1. 创建 VPC 网络或选择现有的 VPC 网络,该网络在您要使用的区域中具有仅 IPv4 或双栈子网。 传统网络不受支持。

  2. 创建必要的入站流量允许防火墙规则。

    • 如果目标是虚拟机或内部直通式网络负载平衡器,防火墙规则必须允许从 35.199.192.0/19 范围到目标虚拟机实例上运行的软件所用端口的 TCP 流量。

    • 如果目标是内部应用负载均衡器或内部代理网络负载均衡器,防火墙规则必须允许从 35.199.192.0/19 范围到负载均衡器所用 IP 地址和端口的 TCP 流量。

    如需详细了解 35.199.192.0/19 范围,请参阅 Cloud DNS 和 Service Directory 的路径

  3. 向将调用端点的 Cloud de Confiance 产品的服务代理授予 Identity and Access Management (IAM) Private Service Connect 授权服务角色 (roles/servicedirectory.pscAuthorizedService)。

    如需详细了解角色和权限,请参阅Service Directory 权限和角色

配置 Service Directory 项目

如需配置 Service Directory 项目,请按以下步骤操作:

  1. 在 VPC 网络中,创建虚拟机内部负载均衡器

  2. 向将调用端点的Cloud de Confiance 产品的服务代理授予 IAM Service Directory Viewer 角色 (roles/servicedirectory.viewer)。

  3. 创建 Service Directory 命名空间和服务。 然后,按照下一部分中的步骤为此服务创建端点。

创建具有专用网络访问权限的端点

如需创建配置了专用网络访问权限的端点,请按以下步骤操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Service Directory 命名空间页面。 前往 Service Directory 命名空间
  2. 点击命名空间。
  3. 点击一项服务。
  4. 点击添加端点
  5. 对于端点名称,请输入端点的名称。
  6. IP 地址字段中,输入一个 IPv4 地址,例如 192.0.2.0
  7. 端口字段中,输入端口号,例如 44380
  8. 如需启用专用网络访问权限,请在关联的 VPC 网络中选择所需选项:
    • 如需从可用网络列表中进行选择,请点击从列表中选择,然后选择相应网络。
    • 如需指定项目和网络,请点击按项目和网络名称指定,然后输入项目编号和网络名称。
  9. 点击创建

gcloud

使用 gcloud service-directory endpoints create 命令,并指定项目 ID 和网络路径。

gcloud service-directory endpoints create ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION \
--namespace=NAMESPACE_NAME \
--service=SERVICE_ID \
--address=IP_ADDRESS \
--port=PORT_NUMBER \
--network=NETWORK_PATH

替换以下内容:

  • ENDPOINT_NAME:您要在服务中创建的端点的名称,例如 my-endpoint
  • PROJECT_ID:项目的 ID
  • REGION:包含命名空间的 Cloud de Confiance 区域
  • NAMESPACE_NAME:您为命名空间指定的名称,例如 my-namespace
  • SERVICE_ID:服务的 ID
  • IP_ADDRESS:端点的 IP 地址,例如 192.0.2.0
  • PORT_NUMBER:端点运行的端口,通常为 44380
  • NETWORK_PATH:网络的网址,例如 projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

配置 Cloud de Confiance 产品项目

如需配置 Cloud de Confiance 产品项目,请按以下步骤操作:

  1. 启用 Cloud de Confiance 产品 API

  2. 配置您的 Cloud de Confiance 产品以调用您创建的 Service Directory 服务。所需步骤取决于具体的Cloud de Confiance 产品。

使用场景

本部分提供了用于配置专用网络访问权限的示例使用情形。

当 VPC 网络、虚拟机和 Service Directory 位于同一项目中时,调用 HTTP 端点

在此使用情形中,您设置了 Dialogflow CX(一种用于自然语言处理的 Cloud de Confiance 产品),以调用虚拟机上的 HTTP 端点。在调用端点时,请确保流量不会通过公共互联网传输。

在此使用情形中,您将在同一项目中创建以下制品:

  • VPC 网络
  • 虚拟机
  • Service Directory 服务
  • Dialogflow CX

图 1 显示了如何允许项目的 Google 服务配置出站到虚拟机。虚拟机位于项目的 VPC 网络中。

允许项目的 Google 服务配置出站到网络项目虚拟机。
图 1. 允许项目的 Google 服务配置出站到虚拟机(点击放大)。

设置网络和目标网络

  1. 创建项目,例如 myproject
  2. 创建 VPC 网络,例如 vpc-1

    创建 VPC 网络时,在子网创建模式中选择自动

  3. 创建防火墙规则,例如 firewall-1

    创建防火墙规则时,输入或选择以下值:

    • 对于网络,请选择 vpc-1
    • 对于来源 IPv4 范围,输入 35.199.192.0/19
    • 对于协议和端口,选择 TCP 并输入 44380
  4. us-central1 区域中,创建虚拟机,例如 vm-1

    创建虚拟机时,请输入或选择以下值:

    • 对于网络 > 网络接口,选择 vpc-1
    • 对于防火墙,选择允许 HTTP 流量

    如果您想使用 HTTPS,请选择允许 HTTPS 流量。另请确保您安装了公钥基础架构 (PKI) 传输层安全协议 (TLS) 证书。

  5. us-central1 区域中,创建一个命名空间,例如 namespace-1

  6. 在该命名空间中注册一个 Service Directory 服务,例如 sd-1

  7. sd-1 中创建端点。对于端点地址,请使用端口 443vm-1 的内部 IP 地址。如需了解详情,请参阅创建具有专用网络访问权限的端点

  8. 向将调用端点的Cloud de Confiance 产品的服务代理授予以下 IAM 角色:

    • Service Directory Viewer 角色 (roles/servicedirectory.viewer)
    • Private Service Connect Authorized Service 角色 (roles/servicedirectory.pscAuthorizedService)
  9. 可选:如果您想添加更多虚拟机,可以设置另一个虚拟机(例如 vm-2),并添加其端点(例如 endpoint-2)。

设置 Cloud de Confiance 商品

  1. 配置 Cloud de Confiance 产品配置,例如“Cloud Scheduler,每分钟给我打电话”。
  2. 设置 HTTP 请求。
  3. 指定请求应通过专用网络(例如通过 sd-1)发送。
  4. 可选:配置 Certificate Authority Service 设置

现在, Cloud de Confiance 产品可以使用 sd-1 调用 HTTP 请求。

当共享 VPC 网络、虚拟机和 Service Directory 位于不同项目中时,调用 HTTP 端点

在此使用情形中,您设置了 Dialogflow CX(一种自然语言处理服务),以调用虚拟机上的 HTTP 端点。 Cloud de Confiance 在调用端点时,请确保流量不会通过公共互联网传输。

在此使用情形中,您将在不同项目中创建以下制品:

  • 共享 VPC 网络
  • 虚拟机
  • Service Directory 服务
  • Dialogflow CX

在创建项目之前,请注意以下事项:

  • 确保 API 调用遵守 VPC Service Controls 边界。
  • 确保 Cloud de Confiance 服务项目的配置允许出站流量流向 VPC 网络项目中的虚拟机。
  • 提供方项目可能与 Cloud de Confiance 服务项目不同。
  • 确保使用这两个项目的 VPC Service Controls 边界。
  • Service Directory 项目和网络项目无需关联,但必须都属于同一 VPC Service Controls。
  • 在网络和服务中,防火墙和 IAM 默认处于停用状态。

图 2 展示了如何在强制执行 VPC Service Controls 边界的情况下,通过专用网络访问通道发送流量。

在强制执行 VPC Service Controls 边界的情况下,使用专用网络访问通道发送流量。
图 2. 通过使用专用网络访问通道发送流量,并强制执行 VPC Service Controls 边界(点击可放大)。

配置网络项目

  1. 创建项目,例如 my-vpc-project
  2. 创建 VPC 网络,例如 vpc-1

    创建 VPC 网络时,为子网创建模式选择自动

  3. 创建防火墙规则,例如 firewall-1

    创建规则时,请输入或选择以下值:

    • 对于网络,请选择 vpc-1
    • 对于来源 IPv4 范围,输入 35.199.192.0/19
    • 对于协议和端口,选择 TCP 并输入 44380
  4. us-central1 区域中,创建虚拟机,例如 vm-1

    创建虚拟机时,请输入或选择以下值:

    • 对于网络 > 网络接口,选择 vpc-1
    • 对于防火墙,选择允许 HTTP 流量

    如果您想使用 HTTPS,请选择允许 HTTPS 流量。另请确保您安装了公钥基础架构 (PKI) 传输层安全协议 (TLS) 证书。

如果您使用的是 VPC Service Controls,则 VPC Service Controls 边界可让 Service Directory 连接到 Cloud de Confiance 服务项目和 Service Directory 项目。

配置 Service Directory 项目

  1. 创建项目,例如 my-sd-project

  2. 由于 VPC 网络项目和 Service Directory 项目是不同的项目,因此您需要额外的 IAM 权限。

    在网络项目中,向创建 Service Directory 端点的 IAM 主账号授予 Service Directory Network Attacher 角色 (roles/servicedirectory.networkAttacher)。

  3. 创建指向 VPC 网络中虚拟机的 Service Directory 端点:

    1. us-central1 区域中,创建一个命名空间,例如 namespace-1
    2. 在该命名空间中注册一个 Service Directory 服务,例如 sd-1
    3. sd-1 中创建端点。对于端点地址,请使用端口 443vm-1 的内部 IP 地址。如需了解详情,请参阅创建具有专用网络访问权限的端点
  4. 向将调用端点的Cloud de Confiance 产品的服务代理授予以下 IAM 角色:

    • Service Directory 项目中的 Service Directory Viewer 角色 (roles/servicedirectory.viewer)
    • 网络项目中的 Private Service Connect Authorized Service 角色 (roles/servicedirectory.pscAuthorizedService)

如果您使用的是 VPC Service Controls,则 VPC Service Controls 边界可让 Service Directory 连接到 Cloud de Confiance 服务项目和 Service Directory 项目。

配置 Cloud de Confiance 服务项目

  1. 为您使用的 Cloud de Confiance 服务启用 API。
  2. 如需配置 Cloud de Confiance 服务 PUSH,请使用 Service Directory 项目中的 Service Directory 服务。

如果您使用 VPC Service Controls,VPC Service Controls 边界可让 Service Directory 同时连接到网络项目和 Service Directory 项目。

将 Service Directory 专用网络访问权限与 Dialogflow 搭配使用

如需了解如何将 Service Directory 专用网络访问与 Dialogflow 搭配使用,请参阅使用 Service Directory 进行专用网络访问

后续步骤