服务的专用访问选项

Google 提供几种不同的专用访问选项。每种选项都允许具有内部 (RFC 1918) IP 地址的虚拟机实例访问特定 API 和服务。请选择支持您需要访问的 API 和服务的选项。

下表概述了每种选项。您可以配置其中一个或所有选项。这些选项独立运作,互不相关。

选项 实例 连接 支持的服务 用法
专用 Google 访问权限
GCP 虚拟机实例必须仅具有内部 IP 地址,并且不能拥有外部 IP 地址。 通过 VPC 网络的默认互联网网关连接到 Google API 和服务的公共 IP 地址。 支持大多数 Google API 和服务 使用此选项可以连接到 Google API 和服务,无需为您的 GCP 资源提供外部 IP 地址。
适用于本地主机的专用 Google 访问权限
本地主机需要内部 IP 地址。主机可以有外部 IP 地址。 使用受限的 IP 地址范围通过 VPN 隧道或互连连接到 Google API 和服务的公共 IP 地址。 支持受限 Google IP 地址范围的 Google 服务 使用此选项可以通过 VPC 网络连接到 Google API 和服务。此方法不要求本地主机具有外部 IP 地址。
专用服务访问
GCP 虚拟机实例需要内部 IP 地址。实例可以有外部 IP 地址。 通过 VPC 网络对等连接连接到 Google 或第三方托管的 VPC 网络。 支持部分 Google 或第三方服务 使用此选项可以连接到特定 Google 和第三方服务,无需为您的 GCP 和 Google 或第三方资源分配外部 IP 地址。

专用 Google 访问权限

仅具有内部 IP 地址(无外部 IP 地址)的虚拟机实例可以使用专用 Google 访问权限,从而可以访问 Google API 和服务的外部 IP 地址。如果停用专用 Google 访问权限,则这些虚拟机实例将无法再访问 Google API 和服务,而只能在 VPC 网络内发送流量。

专用 Google 访问权限对具有外部 IP 地址的实例没有影响。根据互联网访问要求,具有外部 IP 地址的实例可以访问互联网。它们不需要任何特殊配置就能将请求发送到 Google API 和服务的外部 IP 地址。

您可以在子网一级启用专用 Google 访问权限;它是 VPC 网络中子网的一项设置。要为子网启用专用 Google 访问权限并查看相关要求,请参阅配置专用 Google 访问权限

支持的服务

使用专用 Google 访问权限的实例将可以访问 Cloud API 和 Developer API 以及大多数 GCP 服务,但以下服务除外

  • App Engine Memcache
  • Cloud Filestore
  • Cloud Memorystore
  • Cloud SQL

相反,专用服务访问权限可能支持其中一项或多项服务。

示例

以下示例中的 VPC 网络满足专用 Google 访问权限的路由要求,因为它具有通往 Google API 的公共 IP 地址以及下一个跃点是默认互联网网关的服务的路由。专用 Google 访问权限会针对 subnet-a 启用,但不会针对 subnet-b 启用。

专用 Google 访问权限的实现方式(点击可放大)

以下列表给出了有关上图的详细信息:

  • 该 VPC 网络中的防火墙规则允许流向 0.0.0.0/0 的出站流量(或至少是流向 Google API 和服务的服务器 IP 的流量)。
  • VM A1 可以访问 Google API 和服务(包括 Cloud Storage),因为其网络接口位于已启用专用 Google 访问权限的 subnet-a 中。专用 Google 访问权限适用于该实例,因为该实例只有一个内部 IP 地址。
  • VM B1 无法访问 Google API 和服务,因为它只有内部 IP 地址,并且针对 subnet-b 停用了专用 Google 访问权限。
  • VM A2VM B2 都可以访问 Google API 和服务(包括 Cloud Storage),因为它们均具有外部 IP 地址。专用 Google 访问权限对这些实例是否可以访问 Google API 和服务没有影响,因为这些实例都具有外部 IP 地址。

适用于本地主机的专用 Google 访问权限

本地主机可以通过数据中心到 GCP 的 Cloud VPNCloud Interconnect 连接访问 Google API 和服务。本地主机不需要外部 IP 地址,而是使用内部 RFC 1918 IP 地址。

要启用适用于本地主机的专用 Google 访问权限,您必须在本地和 VPC 网络中配置 DNS、防火墙规则和路由。您无需像为 GCP 虚拟机实例启用专用 Google 访问权限一样为 VPC 网络中的任何子网启用专用 Google 访问权限。但是,在您的 VPC 网络中,您必须至少使用一个目标为 199.36.153.4/30 并且将默认互联网网关作为下一跃点的路由。即使下一跃点称为“默认互联网网关”,发送到 199.36.153.4/30 的流量也会保留在 Google 的网络中,而不会遍历公共互联网,因为 Google 不会在外部发布目标为 199.36.153.4/30 的路由。

对于本地主机,必须将对 Google API 和服务的请求发送到 restricted.googleapis.com。这是由 Google 公开发布的 DNS A 记录提供的受限 VIP(虚拟 IP 地址范围)。即使 VIP 范围为 199.36.153.4/30,Google 也不会发布这些路由。因此,您必须在 Cloud Router 上添加自定义路由,并在 VPC 中为 199.36.153.4/30 目的地设置适当的路由。

为使本地主机访问受限范围,必须通过 VPN 隧道或互连发送请求。使用 Cloud Router 可以动态通告受限范围。如需了解详情,请参阅配置适用于本地主机的专用 Google 访问权限

支持的服务

与专用 Google 访问权限相比,适用于本地主机的专用 Google 访问权限支持部分服务。只有支持受限 VIP 的 Google API 和服务受支持:

  • BigQuery
  • Cloud Bigtable
  • Cloud Dataflow
  • Cloud Dataproc
  • Cloud Data Loss Prevention
  • Cloud Deployment Manager
  • Cloud DNS
  • Cloud KMS
  • Cloud Pub/Sub
  • Cloud Spanner
  • Cloud Storage
  • Container Registry
  • Stackdriver Logging
  • Stackdriver Error Reporting

示例

在以下示例中,本地网络通过 Cloud VPN 隧道连接到 VPC 网络。从本地主机到 Google API 的流量经由隧道传输到 VPC 网络。流量到达 VPC 网络后,将通过使用默认互联网网关作为下一跃点的路由发送。该下一跃点允许流量离开 VPC 网络并传送到 Google API 和服务的受限 IP 范围 (199.36.153.4/30)。

用于混合云使用场景的专用 Google 访问权限(点击可放大)
  • 本地 DNS 配置将 *.googleapis.com 请求映射到解析为 199.36.153.4/30restricted.googleapis.com
  • Cloud Router 通过 VPN 隧道通告 199.36.153.4/30 IP 地址范围。流向 Google API 的流量会经由隧道路由到 VPC 网络。
  • VPC 网络包含一条将目标为 199.36.153.4/30 的流量引向默认互联网网关(作为下一个跃点)的路由。然后,Google 会将流量路由到相应的 API 或服务。
  • 如果您使用 Cloud DNS 在网络中配置专用 DNS 区域,则向 Google API 发送的所有请求都会映射到受限范围。只有受支持的 API 才可通过此配置访问,这可能会导致其他服务无法访问。Cloud DNS 不支持部分替换。如果您需要使用部分替换,请使用 BIND

专用服务访问权限

Google 和第三方(统称为服务提供方)可以提供托管在 VPC 网络中且具有内部 IP 地址的服务。您通过专用连接接入这些专用服务。虚拟机实例使用专用连接接入服务的内部 IP 地址。实例必须具有内部 IP 地址才能使用专用服务访问权限。它们可以具有外部 IP 地址,但外部 IP 地址并不是必需的,实现专用服务访问权限也不需要使用外部 IP 地址。

要实现专用服务访问权限,需要在您的 VPC 网络与服务提供方 VPC 网络之间建立 VPC 网络对等互连连接。服务提供方的网络专门为您创建,不分享给其他客户。VPC 网络对等互连连接的行为和限制亦适用于专用连接。

要使用专用服务访问,您必须先分配内部 IP 地址范围,然后创建专用连接。分配的范围不能在您的本地 VPC 网络中使用。它仅为服务提供方预留,可防止您的 VPC 网络与服务提供方的 VPC 网络重叠。创建专用连接时,您必须指定分配。

您可以仅使用专用服务访问对它支持的服务进行访问。创建专用连接之前,请向服务提供方咨询。如需详细了解如何分配范围和创建专用连接,请参阅配置专用服务访问

支持的服务

以下 Google 服务支持专用服务访问:

示例

在以下示例中,客户 VPC 网络为 Google 服务分配了地址范围 10.240.0.0/16,并建立了使用分配的范围的专用连接。每个 Google 服务都利用分配的块创建一个子网,以预配新的资源,例如 Cloud SQL 实例。

专用服务访问(点击可放大)
  • 分配给专用连接的分配范围是 10.240.0.0/16。通过此分配,Google 服务可以创建子网来预配资源。
  • 在专用连接的 Google 服务端,Google 会为客户创建一个项目。该项目是独立的,这意味着没有其他客户共享该项目,并且客户只需要为客户预配的资源付费。
  • 每项 Google 服务都会创建一个子网,用于预配资源。子网的 IP 地址范围由服务选择,但必须在分配的 IP 地址范围内。
  • 来自某一区域的虚拟机实例可以访问任何区域中的资源。但是,一些服务可能不支持跨区域通信。例如,虚拟机实例只能与位于同一区域的 Cloud SQL 实例进行通信。如需了解详情,请查看相关服务的文档。
  • 跨区域流量(在这种情况下,虚拟机实例会与不同区域的资源进行通信)的出站费用仍然需要支付。
  • 为 Cloud SQL 实例分配的 IP 地址是 10.240.0.2。在客户 VPC 网络中,目标为 10.240.0.2 的请求将路由到 Google 服务的 VPC 网络。到达服务网络后,服务网络会将请求路由到正确的资源。流量在 Google 网络内部传输,而不是通过公共互联网传输。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页