本页面简要介绍了与为从标准同构 PostgreSQL 迁移到 AlloyDB for PostgreSQL 配置网络连接相关的概念。如需了解快速启动迁移连接,请参阅 使用快速启动迁移指南。
网络组件介绍了同构 PostgreSQL 迁移的端到端网络配置。
方法可用性说明了哪些方法可用,具体取决于您的场景。
方法比较提供了可用连接性的比较表。
每种可用连接方法的专用部分:
IP 许可清单描述了与源数据库公共 IP 的网络连接。
反向 SSH 隧道简要介绍了专用 Secure Shell (SSH) 隧道。
通过 Private Service Connect 接口建立专用连接介绍了如何使用网络连接连接到来源专用 IP。
通过云托管虚拟机的 TCP 代理介绍了如何通过中间 Compute Engine 代理虚拟机路由迁移流量。
使用 VPC 对等互连的专用连接介绍了如何通过对等互连的 VPC 网络建立与源数据库的专用 IP 的连接。
在熟悉不同的连接方法及其要求后,您可以使用 决策树图为您的场景选择合适的解决方案。
迁移过程中涉及的网络组件
对于从 PostgreSQL 到 AlloyDB for PostgreSQL 的同构迁移,Database Migration Service 会连接到目标 AlloyDB for PostgreSQL 集群,然后代表该集群管理迁移过程。目标集群会与源实例建立连接,而 Database Migration Service 会监控此过程。
在规划迁移的网络连接设置时,请务必仔细考虑基础架构要求,包括您的网络决策可能会对迁移后的数据库集群的最终状态造成哪些限制。例如,如果您想使用专用连接进行网络连接,则需要使用配置了专用服务访问通道或 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 许可清单 |
|
|
| 反向 SSH 隧道 |
|
|
| Private Service Connect 接口 |
|
|
| 通过云端托管式虚拟机的 TCP 代理 |
|
|
| 通过虚拟私有云对等互连建立专用连接 | 系统会通过 VPC 对等互连建立与源数据库的专用 IP 地址的连接。如果您的 VPC 没有足够的对等互连配额,则可能很难使用此连接方法。对于大多数迁移到现有 AlloyDB for PostgreSQL 集群的场景,我们建议您改用 通过 Private Service Connect 接口建立专用连接。 |
|
用于源数据库连接的 IP 许可清单
使用 IP 许可清单连接方法时,AlloyDB for PostgreSQL 会尝试在 PostgreSQL 端口 5432 上建立与源数据库服务器的公开可用 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 隧道的要求
如需创建连接,您需要在隧道服务器(也称为堡垒主机)上向公共互联网公开 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。
对于从 Cloud SQL for PostgreSQL 实例进行的迁移,您的源实例需要启用专用服务访问通道,并与您创建网络连接的虚拟私有云对等互连,但目标 AlloyDB 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 连接,请参阅:
为 Amazon RDS 和 Amazon Aurora 来源配置 Private Service Connect 接口的专用 IP 连接。
为 Cloud SQL for PostgreSQL 来源配置 Private Service Connect 接口的专用 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 代理连接的要求
此连接方法需要满足以下条件:
- 虚拟私有云网络中的 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。
通过 VPC 对等互连实现专用 IP 连接的要求
通过 VPC 对等互连建立专用 IP 连接需要满足以下条件:
- 您需要拥有 启用了专用服务访问通道的虚拟私有云网络。源数据库的专用 IP 必须可在该网络中访问。
通过 VPC 对等互连配置专用 IP 连接
如需将专用 IP 连接与 Virtual Private Cloud 对等互连搭配使用,您的源数据库专用 IP 必须可从 Virtual Private Cloud 访问。根据您的网络架构,您可能需要使用其他组件,例如 Cloud VPN 或 Cloud Interconnect。
如需详细了解如何为不同的数据库来源配置专用 IP 连接,请参阅:
网络连接决策树
熟悉所有受支持的连接方法及其要求后,您可以按照图表中的问题来帮助您为自己的场景选择合适的连接方法。
后续步骤
如需查看完整的逐步迁移演示,请参阅 开始使用 AlloyDB for PostgreSQL 迁移。
如需配置源数据库前提条件和复制权限,请参阅 配置源数据库。