标准同构 PostgreSQL 迁移的网络连接

本页面简要介绍了与为从标准同构 PostgreSQL 迁移到 AlloyDB for PostgreSQL 配置网络连接相关的概念。如需了解快速启动迁移连接,请参阅 使用快速启动迁移指南。

在熟悉不同的连接方法及其要求后,您可以使用 决策树图为您的场景选择合适的解决方案。

迁移过程中涉及的网络组件

对于从 PostgreSQL 到 AlloyDB for PostgreSQL 的同构迁移,Database Migration Service 会连接到目标 AlloyDB for PostgreSQL 集群,然后代表该集群管理迁移过程。目标集群会与源实例建立连接,而 Database Migration Service 会监控此过程。

PostgreSQL 迁移流程概览
图 1. Database Migration Service for PostgreSQL 迁移期间的数据移动。(点击可放大)
PostgreSQL 迁移流程概览

在规划迁移的网络连接设置时,请务必仔细考虑基础架构要求,包括您的网络决策可能会对迁移后的数据库集群的最终状态造成哪些限制。例如,如果您想使用专用连接进行网络连接,则需要使用配置了专用服务访问通道或 Private Service Connect 的目标 AlloyDB for PostgreSQL 集群。

连接方法可用性

不同的源数据库可以使用不同的连接方法,具体取决于您是要迁移到新的目标集群还是现有的目标集群。下表概述了哪种场景支持哪种方法:

源数据库产品 迁移到新目标集群的方法 迁移到现有目标集群的方法
自行托管 IP 许可清单、反向 SSH 隧道、VPC 对等互连、通过云托管式虚拟机的 TCP 代理 IP 许可清单、反向 SSH 隧道、VPC 对等互连(需要 PSA 目标集群)、通过云托管式虚拟机的 TCP 代理、PSC 接口(需要启用 PSC 的目标集群)
Amazon Aurora、Amazon RDS IP 许可清单、反向 SSH 隧道、VPC 对等互连 IP 许可清单、反向 SSH 隧道、VPC 对等互连(需要 PSA 目标集群)、PSC 接口(需要启用 PSC 的目标集群)
Cloud SQL for PostgreSQL IP 许可清单(不推荐)、VPC 对等互连、通过云端托管式虚拟机的 TCP 代理 IP 许可清单(不推荐)、VPC 对等互连、通过云端托管式虚拟机的 TCP 代理、PSC 接口(需要启用了 PSC 的目标集群)

连接方法比较

每种连接方法都有不同的优势和要求。 您可以使用下表快速比较这些方法,然后在专门介绍每种方法的部分中了解更多详情。

网络方法 优点 缺点
IP 许可清单
  • 最容易设置的连接方法。
  • 当无法通过 Google Cloud中的专用网络访问源数据库时,此方法非常有用。
  • 需要您向公共互联网公开源数据库服务器的 IPv4 地址。这需要采取额外的安全措施。 例如,我们建议您使用 TLS 证书和防火墙规则来保护连接。
  • 配置防火墙规则可能需要网络安全或 IT 部门的协助。
反向 SSH 隧道
  • 比通过公共 IP 并使用 IP 许可清单进行连接更安全。

    初始连接是通过公共互联网上的 Secure Shell (SSH) 端口建立的。连接处于活跃状态后,所有流量都会通过安全的专用隧道传输到 PostgreSQL 端口 5432。

  • 当您的源数据库无法通过 Google Cloud中的专用网络访问,但您不想将源数据库服务器直接公开到公共互联网时,此方法非常有用。
  • 使用中间服务器(反向 SSH 隧道机器)进行连接可能会导致额外的延迟。
  • 您必须设置和维护反向 SSH 主机服务器。 在整个迁移过程中,服务器必须保持在线状态。
Private Service Connect 接口
  • 使用网络连接建立与来源专用 IP 的连接。 此方法不会消耗 VPC 中的对等互连配额。
  • 最简单且推荐配置的来源专用连接方法。
  • 仅支持迁移到现有的 AlloyDB for PostgreSQL 目标集群。 如果您想使用此方法,则需要直接在 AlloyDB for PostgreSQL 中创建目标集群。
  • 需要设置网络连接并调整防火墙规则。
  • 建立连接后,您将无法修改网络连接。
通过云端托管式虚拟机的 TCP 代理
  • 当由于 VPC 对等互连不具有传递性而无法进行直接路由时(例如,从使用旧版提供方网络架构的 Cloud SQL for PostgreSQL 来源迁移时,或桥接单独的 VPC 网络时),桥接专用连接。
  • Database Migration Service 会自动生成一个设置脚本,用于部署和配置代理虚拟机。
  • 您必须设置和维护 Compute Engine 代理虚拟机,这可能会产生额外的计算费用。
通过虚拟私有云对等互连建立专用连接 系统会通过 VPC 对等互连建立与源数据库的专用 IP 地址的连接。如果您的 VPC 没有足够的对等互连配额,则可能很难使用此连接方法。对于大多数迁移到现有 AlloyDB for PostgreSQL 集群的场景,我们建议您改用 通过 Private Service Connect 接口建立专用连接。

用于源数据库连接的 IP 许可清单

使用 IP 许可清单连接方法时,AlloyDB for PostgreSQL 会尝试在 PostgreSQL 端口 5432 上建立与源数据库服务器的公开可用 IP 地址的连接。

显示同构迁移的公共 IP 许可清单连接的图表。
图 2. 同构 PostgreSQL 迁移的 IP 许可清单网络连接图。(点击可放大)
显示同构迁移的公共 IP 许可清单连接的图表。

IP 许可清单连接的要求

概括来讲,如需使用此连接方法,您需要确保以下事项:

  • 您必须向公共互联网公开源数据库 IP 地址(直接公开,或通过域名服务器 (DNS) 使用公开认可的主机名公开)。

  • 您的 AlloyDB for PostgreSQL 目标主实例必须启用出站公共 IP。您的源数据库必须允许来自目标主实例的两个出站公共 IP 地址的传入连接。

配置 IP 许可清单连接

配置公共 IP 连接需要执行不同的步骤,具体取决于源数据库类型。有关详情,请参阅:

反向 SSH 隧道数据库连接

此连接方法是公共网络连接和专用网络连接的混合。连接本身是通过 Secure Shell (SSH) 端口建立到隧道主机服务器的公共 IP 地址。连接处于活动状态后,所有流量都会通过安全隧道传输到源数据库的专用 IP 地址(端口 5432)。

对于位于 Google Cloud内部的 Cloud SQL 数据源或自托管式解决方案,我们建议您使用 通过 Private Service Connect 接口建立专用连接或 通过虚拟私有云对等互连建立专用连接的方法。

一张网络图,展示了通过专用 SSH 服务器建立的高层级连接设置。
图 3. 迁移网络示例:通过 SSH 隧道建立源连接。(点击可放大)
一张网络图,展示了通过专用 SSH 服务器建立的高层级连接设置。

反向 SSH 隧道的要求

如需创建连接,您需要在隧道服务器(也称为堡垒主机)上向公共互联网公开 SSH 端口。建立连接后,所有流量都会通过专用隧道连接进行路由。

此方法需要额外的网络组件:

  • Google Cloud 中的虚拟机 (VM),用作反向 SSH 机器。
  • 网络中可连接到源数据库的其他机器。

配置反向 SSH 隧道连接

Database Migration Service 可以生成设置脚本来创建反向 SSH 虚拟机,但完整的端到端流程因源数据库类型而异。如需了解详情,请参阅 配置反向 SSH 连接。

使用 Private Service Connect 接口的专用连接

通过此连接方法,您可以连接到源数据库的专用 IP,而无需消耗 VPC 对等互连配额。Private Service Connect 接口是推荐的专用 IP 连接方法,但仅在 迁移到现有集群时可用。

使用 Private Service Connect 接口时,目标集群不会消耗更多对等互连配额。而是利用 Private Service Connect 接口连接到可以访问源数据库专用 IP 的虚拟私有云。根据您的网络架构,您可能需要使用其他组件,例如 Cloud VPN 或 Cloud Interconnect。

显示 Private Service Connect 与 Cloud VPN 连接的图表,用于同构迁移。
图 4. 使用 Private Service Connect 接口的网络连接,用于从 Google Cloud外部的来源进行同构迁移。(点击可放大)
显示 Private Service Connect 与 Cloud VPN 连接以进行同构迁移的示意图。

对于从 Cloud SQL for PostgreSQL 实例进行的迁移,您的源实例需要启用专用服务访问通道,并与您创建网络连接的虚拟私有云对等互连,但目标 AlloyDB for PostgreSQL 集群不会消耗更多对等互连配额。而是利用 Private Service Connect 接口。

显示使用 Private Service Connect 接口进行迁移的网络连接的示意图。
图 5. 使用 Private Service Connect 接口进行网络连接,以便从 Cloud SQL for PostgreSQL 进行同构迁移。(点击可放大)
显示使用 Private Service Connect 接口进行迁移的网络连接的示意图。

Private Service Connect 接口的要求

此连接方法需要满足以下条件:

  • 目标数据库集群必须是已启用 PSC 的 AlloyDB for PostgreSQL 集群。

  • 您需要拥有 启用了专用服务访问通道的虚拟私有云网络。

    这是您在其中创建网络连接的网络。源数据库的 IP 必须可从该虚拟私有云访问。例如,对于 Cloud SQL for PostgreSQL 来源,这是您与启用了 PSA 的来源 Cloud SQL 实例对等互连的网络。

使用 Private Service Connect 接口配置专用 IP 连接

如需通过 Private Service Connect 接口使用专用 IP 连接,您的源数据库专用 IP 必须可从您的虚拟私有云访问。根据您的网络架构,您可能需要使用其他组件,例如 Cloud VPN 或 Cloud Interconnect。

如需详细了解如何为不同的数据库来源配置专用 IP 连接,请参阅:

通过云端托管式虚拟机的 TCP 代理

如果您想通过虚拟私有云对等互连使用专用连接,但非传递性 VPC 对等互连会阻止源数据库与目标 AlloyDB for PostgreSQL 集群之间的直接路由,则可以使用此连接方法。

这种情况最常见于从使用旧版提供方网络架构的 Cloud SQL for PostgreSQL 实例迁移到配置了专用服务访问通道 (PSA) 的目标 AlloyDB for PostgreSQL 集群。由于这两项服务位于不同的 Google 管理的提供方网络中,并且 VPC 对等互连不具有传递性,因此流量无法直接在它们之间流动。当自托管源数据库和目标 AlloyDB for PostgreSQL 集群位于不同的对等互连 VPC 网络中,或者企业安全政策要求通过单个静态内部 IP 地址路由迁移流量时,也适用此方法。

VPC 网络中的中间 Compute Engine 虚拟机充当桥梁,接受来自目标 AlloyDB for PostgreSQL 主实例的端口 5432 上的传入复制连接,并将其转发到源数据库。

使用 TCP 代理虚拟机的专用数据库连接的架构图。
图 6. 由 TCP 代理虚拟机提供的专用连接。(点击可放大)
使用 TCP 代理虚拟机的专用数据库连接的架构图。

TCP 代理连接的要求

此连接方法需要满足以下条件:

  • 虚拟私有云网络中的 Compute Engine 虚拟机,与目标 AlloyDB for PostgreSQL 集群对等互连,用于运行 TCP 代理容器。
  • 从代理虚拟机到源数据库实例的网络可达性。

配置 TCP 代理连接

当您在 Google Cloud 控制台中创建迁移作业时,Database Migration Service 会收集所需参数并生成一个 gcloud 脚本,该脚本会在您的 VPC 中创建 Compute Engine 代理容器虚拟机和必要的入站流量防火墙规则。如需查看分步说明,请参阅 使用 TCP 代理通过云托管虚拟机配置连接。

通过 VPC 对等互连建立专用连接

通过此方法,您可以使用 Virtual Private Cloud (VPC) 中的专用 IP 地址连接到来源。您无需向公共互联网公开任何接口即可使用此方法,但它要求可以从 Google Cloud VPC 访问源数据库 IP 地址或主机名。对于位于 Google Cloud外部的来源,您可能需要其他网络组件,例如 Cloud VPN 或 Cloud Interconnect。

显示同构 PostgreSQL 迁移的虚拟私有云对等互连连接的图表。
图 7. 通过虚拟私有云对等互连实现网络连接,以进行同构 PostgreSQL 迁移。(点击可放大)
显示同构 PostgreSQL 迁移的虚拟私有云对等互连连接的图表。

通过 VPC 对等互连实现专用 IP 连接的要求

通过 VPC 对等互连建立专用 IP 连接需要满足以下条件:

通过 VPC 对等互连配置专用 IP 连接

如需将专用 IP 连接与 Virtual Private Cloud 对等互连搭配使用,您的源数据库专用 IP 必须可从 Virtual Private Cloud 访问。根据您的网络架构,您可能需要使用其他组件,例如 Cloud VPN 或 Cloud Interconnect。

如需详细了解如何为不同的数据库来源配置专用 IP 连接,请参阅:

网络连接决策树

熟悉所有受支持的连接方法及其要求后,您可以按照图表中的问题来帮助您为自己的场景选择合适的连接方法。

包含引导性问题的决策树图,可帮助您选择合适的连接方法。
图 8. 来源网络连接决策树。

后续步骤