本页介绍如何在 Cloud Firestore 中启用和配置专用 Google 访问通道。
Cloud Firestore 中的专用 Google 访问通道简介
默认情况下,当 Compute Engine 虚拟机的网络接口未分配外部 IP 地址时,该虚拟机只能将数据包发送到其他内部 IP 地址目的地。您只需在虚拟机网络接口使用的子网上启用专用 Google 访问通道,就可以允许这些虚拟机连接到 Cloud Firestore 服务。
适用的服务和协议
本指南中的说明仅适用于 Cloud Firestore。
Cloud Firestore 使用的默认网域和 VIP 网域及其 IP 范围仅支持端口 443 上的 MongoDB 协议。不支持所有其他协议。
网络要求
如果满足以下所有条件,则虚拟机接口可以使用专用 Google 访问通道通过内部 Google 网络访问 Google API 和服务:
虚拟机接口连接到启用了专用 Google 访问通道的子网。
没有为虚拟机接口分配外部 IP 地址。
从虚拟机发送的数据包的来源 IP 地址与以下 IP 地址之一匹配。
- 虚拟机接口的主要内部 IPv4 地址
- 来自别名 IP 地址范围的内部 IPv4 地址
为其网络接口分配了外部 IPv4 地址的虚拟机不需要专用 Google 访问通道即可连接到 Google API 和服务。 但是,VPC 网络必须满足访问 Google API 和服务的要求。
IAM 权限
拥有网络管理员角色的项目所有者、编辑者和 IAM 主账号可以创建或更新子网并分配 IP 地址。
如需详细了解角色,请参阅 IAM 角色文档。
日志记录
Cloud Logging 会捕获子网中已启用专用 Google 访问通道的虚拟机实例发出的所有 API 请求。日志条目将 API 请求的来源标识为调用实例的内部 IP 地址。
您可以将每日使用情况报告和每月汇总报告配置为传送到 Cloud Storage 存储分区。如需了解详情,请参阅查看使用情况报告页面。
配置摘要
下表汇总了在 Cloud Firestore 中配置专用 Google 访问通道的不同方式。如需了解更详细的说明信息,请参阅网络配置。
| 网域选项 | IP 范围 | DNS 配置 | 路由配置 | 防火墙配置 |
|---|---|---|---|---|
|
默认网域 (
如果您没有为 |
136.124.0.0/23
|
您通过 Cloud Firestore 服务的公共 IP 地址访问该服务,因此无需进行特殊的 DNS 配置。 |
检查您的 VPC 网络是否可以将流量路由到 Cloud Firestore 服务所使用的 IP 地址范围。 |
检查您的防火墙规则是否允许流向 如果没有加以阻止的优先级更高的规则,则默认的允许出站流量防火墙规则允许此流量。 |
|
使用 |
199.36.153.2/31 |
配置 DNS 记录以向 199.36.153.2/31 IP 地址范围发送请求。
|
检查您的 VPC 网络是否具有到 199.36.153.2/31 IP 地址范围的路由。
|
检查您的防火墙规则是否允许流向 199.36.153.2/31 IP 地址范围的出站流量。
|
网络配置
本部分介绍如何配置网络,以便使用专用 Google 访问通道访问 Cloud Firestore。
DNS 配置
与其他 Google API 不同,Cloud Firestore API 使用不同的网域名称和 IP 地址进行专用 Google 访问:
restricted.firestore.goog允许通过 API 访问 Cloud Firestore API。IP 地址:
199.36.153.2和199.36.153.3。由于 Cloud Firestore 符合 VPC Service Controls 的要求,因此您可以在 VPC Service Controls 场景中使用此网域。
如需为 Cloud Firestore 创建 DNS 区域和记录,请执行以下操作:
为
firestore.goog创建专用 DNS 区域。为此,请考虑创建 Cloud DNS 专用可用区。
在
firestore.goog区域中,创建以下记录:restricted.firestore.goog的A记录,指向以下 IP 地址:199.36.153.2和199.36.153.3。指向
restricted.firestore.goog的*.firestore.goog的CNAME记录。
如需在 Cloud DNS 中创建这些记录,请参阅添加记录。
路由配置
您的 VPC 网络必须具有适当的路由,其下一个跃点是默认互联网网关。Google Cloud 不支持通过其他虚拟机实例或自定义下一个跃点,将流量路由到 Google API 和服务。尽管称之为默认互联网网关,但从 VPC 网络中的虚拟机发送到 Google API 和服务的数据包仍保留在 Google 网络中。
如果您选择默认网域选项,则您的虚拟机实例将使用以下公共 IP 地址范围连接到 Cloud Firestore 服务:
136.124.0.0/23。这些 IP 地址可公开路由,但从 VPC 网络中的虚拟机到这些地址的路径仍保留在 Google 网络中。Google 不会在互联网上向
restricted.firestore.goog网域使用的任何 IP 地址发布路由。因此,此网域只能通过 VPC 网络中的虚拟机或连接到 VPC 网络的本地系统访问。
如果您的 VPC 网络包含其下一个跃点是默认互联网网关的默认路由,则您可以使用该路由访问 Cloud Firestore 服务,而无需创建自定义路由。如需了解详情,请参阅使用默认路由进行路由。
如果您已将默认路由(目标 0.0.0.0/0 或 ::0/0)替换为下一个跃点不是默认互联网网关的自定义路由,则可以满足使用自定义路由的 Cloud Firestore 服务的路由要求。
使用默认路由进行路由
每个 VPC 网络在创建时都会包含 IPv4 默认路由 (0.0.0.0/0)。
默认路由提供了以下目标的 IP 地址的路径:
- 默认网域 (
firestore.goog):136.124.0.0/23 restricted.firestore.goog:199.36.153.2/31
如需了解 Google Cloud 控制台和 Google Cloud CLI 说明,以了解如何在给定网络中检查默认路由的配置,请参阅配置专用 Google 访问通道。
使用自定义路由进行路由
作为默认路由的替代方案,您可以使用自定义静态路由,每个路由都有更具体的目的地,并且每个路由都使用默认互联网网关下一个跃点。路由的目标 IP 地址取决于您选择的网域:
- 默认网域 (
firestore.goog):136.124.0.0/23 restricted.firestore.goog:199.36.153.2/31
如需了解 Google Cloud 控制台和 Google Cloud CLI 说明,以查看给定网络中自定义路由的配置,请参阅配置专用 Google 访问通道。
防火墙配置
您的 VPC 网络的防火墙配置必须允许通过虚拟机访问 Cloud Firestore 服务使用的 IP 地址。隐式 allow egress 规则满足此要求。
在某些防火墙配置中,您需要创建特定的出站允许规则。例如,假设您已创建了一条出站流量拒绝规则,用于阻止流向所有目标(IPv4 为 0.0.0.0)的流量。在这种情况下,您必须为所选网域使用的每个 IP 地址范围创建一条出站流量允许防火墙规则,其优先级高于出站流量拒绝规则:
- 默认网域(
firestore.goog:136.124.0.0/23 restricted.firestore.goog:199.36.153.2/31
如需创建防火墙规则,请参阅创建防火墙规则。 在定义每个出站允许规则的目标时,您可以限制防火墙规则应用的虚拟机。
专用 Google 访问通道配置
满足 VPC 网络中的网络要求后,您可以启用专用 Google 访问通道。对于 Google Cloud 控制台和 Google Cloud CLI 说明,请按照启用专用 Google 访问通道中所述的步骤操作。