在与 MongoDB 兼容的 Firestore 中配置 Private Google Access
本页介绍如何在与 MongoDB 兼容的 Firestore 中启用和配置专用 Google 访问通道。
关于具有 MongoDB 兼容性的 Firestore 中的专用 Google 访问通道
默认情况下,当 Compute Engine 虚拟机缺少分配给其网络接口的外部 IP 地址时,它只能将数据包发送到其他内部 IP 地址目的地。您只需在虚拟机网络接口使用的子网上启用专用 Google 访问通道,就可以允许这些虚拟机连接到 Firestore(兼容 MongoDB)服务使用的外部 IP 地址集。
适用的服务和协议
本指南中的说明仅适用于具有 MongoDB 兼容性的 Firestore。
与 MongoDB 兼容的 Firestore 使用的默认网域和 VIP 网域及其 IP 范围仅支持 TcpProxy MongoDB 协议。不支持所有其他协议。
网络要求
如果满足以下所有条件,则虚拟机接口可以使用专用 Google 访问通道将数据包发送到 Google API 和服务的外部 IP 地址:
虚拟机接口连接到启用了专用 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 存储分区。如需了解详情,请参阅查看使用情况报告页面。
配置摘要
下表汇总了在与 MongoDB 兼容的 Firestore 中配置专用 Google 访问通道的不同方式。如需了解更详细的说明信息,请参阅网络配置。
网域选项 | IP 范围 | DNS 配置 | 路由配置 | 防火墙配置 |
---|---|---|---|---|
默认网域 (
如果您没有为 |
136.124.0.0/23
|
您通过兼容 MongoDB 的 Firestore 服务的公共 IP 地址访问该服务,因此无需进行特殊的 DNS 配置。 |
检查您的 VPC 网络是否可以将流量路由到具有 MongoDB 兼容性的 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 访问通道访问具有 MongoDB 兼容性的 Firestore。
DNS 配置
与其他 Google API 不同,与 MongoDB 兼容的 Firestore API 使用不同的域名和 IP 地址进行专用 Google 访问通道:
restricted.firestore.goog
允许通过 API 访问与 MongoDB 兼容的 Firestore API。IP 地址:
199.36.153.2
和199.36.153.3
。由于与 MongoDB 兼容的 Firestore 符合 VPC Service Controls 标准,因此您可以在 VPC Service Controls 场景中使用此网域。
如需为与 MongoDB 兼容的 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 地址范围连接到与 MongoDB 兼容的 Firestore 服务:
136.124.0.0/23
。这些 IP 地址可公开路由,但从 VPC 网络中的虚拟机到这些地址的路径仍保留在 Google 网络中。Google 不会在互联网上向
restricted.firestore.goog
网域使用的任何 IP 地址发布路由。因此,此网域只能通过 VPC 网络中的虚拟机或连接到 VPC 网络的本地系统访问。
如果您的 VPC 网络包含其下一个跃点是默认互联网网关的默认路由,则您可以使用该路由访问 Firestore with MongoDB compatibility 服务,而无需创建自定义路由。如需了解详情,请参阅使用默认路由进行路由。
如果您已将默认路由(目标 0.0.0.0/0
或 ::0/0
)替换为下一个跃点不是默认互联网网关的自定义路由,则可以满足使用自定义路由的 Firestore 与 MongoDB 兼容性服务的路由要求。
使用默认路由进行路由
每个 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 网络的防火墙配置必须允许通过虚拟机访问具有 MongoDB 兼容性的 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 访问通道中所述的步骤操作。