同构 MySQL 迁移的网络连接

本页面简要介绍了与为 Cloud SQL for MySQL 的同构 MySQL 迁移配置网络连接相关的概念:

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

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

对于 Cloud SQL 的同构 MySQL 迁移,Database Migration Service 会连接到目标 Cloud SQL 实例,然后代表该实例管理迁移过程。 是目标实例建立与源实例的连接,但 Database Migration Service 会监督该过程。

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

在为迁移规划网络连接设置时,请务必仔细考虑基础架构要求,包括网络决策可能会对迁移后的数据库实例的最终状态引入哪些限制。例如,如果您想使用专用连接进行网络连接,则需要使用启用了专用 IP 的目标 Cloud SQL 实例。您稍后可以停用 Cloud SQL 实例上的专用 IP。

连接方法可用性

根据您是迁移到新目标实例还是现有目标实例,不同的连接方法可用于不同的源数据库。下表简要介绍了哪些场景支持哪些方法:

源数据库产品 迁移到新目标实例的方法 迁移到现有目标实例的方法
自行托管、Amazon Aurora、Amazon RDS、Microsoft Azure SQL Managed Instance IP 许可名单、反向 SSH 隧道、VPC 对等互连 IP 许可名单、反向 SSH 隧道、VPC 对等互连(需要 PSA 目标实例)、 PSC 接口(需要启用 PSC 的目标实例)
Cloud SQL for MySQL IP 许可名单(不推荐)、专用 VPC 对等互连 IP 许可名单(不推荐)、专用 VPC 对等互连、 PSC 接口(需要启用 PSC 的目标实例)

连接方法比较

每种连接方法都有不同的优势和要求。 使用下表可以一目了然地比较它们,然后在每个方法的专用部分中了解更多详细信息。

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

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

  • 当无法通过中的专用网络 Google Cloud访问源数据库,但您不想将源数据库服务器直接公开到公共互联网时,此方法非常有用。
  • 使用中间服务器(反向 SSH 隧道机器) 进行连接可能会引入额外的延迟。
  • 您必须设置和维护反向 SSH 主机服务器。 服务器必须在整个迁移期间保持在线状态。
Private Service Connect 接口
  • 使用网络连接建立与源专用 IP 的连接。 此方法不会消耗 VPC 中的对等互连配额。
  • 配置最简单的源专用连接方法。
  • 仅支持迁移到现有 Cloud SQL for MySQL 目标。 如果您想使用此方法,需要在 Cloud SQL 中直接创建目标 实例。
  • 需要设置网络连接并调整防火墙规则。
  • 建立连接后,您将无法修改网络连接。
仅适用于 Cloud SQL for MySQL 来源: 专用 VPC 对等互连 此连接方法专用于在 PSA Cloud SQL for MySQL 实例之间迁移,而无需使用共享 VPC。 要求两个实例都是启用了专用 IP 的 PSA 实例。 不支持启用 PSC 的目标。
使用虚拟私有云对等互连的专用连接 连接是通过 VPC 对等互连建立到源 数据库的专用 IP 地址的。如果您的 VPC 没有足够的对等互连 配额,则可能难以使用此连接方法。 对于从 Cloud SQL for MySQL 来源迁移的大多数场景, 我们建议您改用 使用 Private Service Connect 接口的专用连接 。
  • 对于 Google Cloud VPC 之外的来源,您 可能需要使用其他网络组件, 例如 Cloud VPN 或反向代理虚拟机。
  • 您需要启用专用服务访问通道的 虚拟私有云 才能使用虚拟私有云对等互连。
  • 此设置会消耗 VPC 网络中的对等互连配额 。

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

当您使用 IP 许可名单连接方法时,Cloud SQL 会尝试建立与源数据库服务器的公开可用 IP 地址的连接。

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

IP 许可名单连接的要求

从总体上讲,如需使用此连接方法,您需要确保以下事项:

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

  • 您的目标 Cloud SQL 实例必须启用公共 IP。您需要允许来自目标实例的出站公共 IP 的传入连接。

配置 IP 许可名单连接

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

反向 SSH 隧道数据库连接性

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

对于 Cloud SQL 来源或位于 内部 Google Cloud的自行托管解决方案,我们建议您使用 使用 Private Service Connect 接口的专用连接 或 使用 Virtual Private Cloud 对等互连的专用连接方法。

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

反向 SSH 隧道的必要条件

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

此方法需要其他网络组件:

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

配置反向 SSH 隧道连接

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

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

使用此连接方法,您可以连接到源 数据库的专用 IP,而不会消耗 VPC 对等互连配额。Private Service Connect 接口 是推荐的专用 IP 连接方法,但仅当您 迁移到现有实例时才可用。

使用 Private Service Connect 接口时,目标实例不会消耗更多对等互连配额。相反,它会利用 Private Service Connect 接口访问可以访问源数据库的专用 IP 的 Virtual Private Cloud。根据您的网络架构,您可能需要使用其他组件,例如 Cloud VPN 或 Cloud Interconnect。

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

对于从 Cloud SQL for MySQL 实例进行的迁移,需要为源实例启用专用服务访问通道,并与您在其中创建网络连接的虚拟私有云建立对等互连,但目标 Cloud SQL for MySQL 实例不会消耗更多对等互连配额。相反,它会利用 Private Service Connect 接口。

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

Private Service Connect 接口的要求

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

  • 您的目标数据库实例必须是启用了 PSC 的 Cloud SQL for MySQL 实例。

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

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

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

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

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

仅适用于 Cloud SQL for MySQL 来源:专用 VPC 对等互连

此方法专用于在 PSA Cloud SQL for MySQL 实例之间迁移。 在标准网络场景中,使用 Virtual Private Cloud 对等互连连接两个 Cloud SQL 实例需要使用共享 VPC。 对于使用 Database Migration Service 的同构 MySQL 迁移,您可以连接两个 PSA 实例,而无需使用共享 VPC。

专用 VPC 对等互连的要求

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

  • 您的源数据库实例必须是启用了 PSA 的 Cloud SQL for MySQL 实例。

  • 您的目标数据库实例必须是启用了 PSA 的 Cloud SQL for MySQL 实例。

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

    这是 Database Migration Service 与目标 Cloud SQL 实例建立对等互连的网络。您需要有足够的空间来分配所需的 IP 范围。

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

如需详细了解如何为来源 PSA Cloud SQL for MySQL 实例配置专用 VPC 对等互连,请参阅 为 Cloud SQL for MySQL 配置专用 Virtual Private Cloud 对等互连。

使用 VPC 对等互连的专用连接

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

图示:显示同构 MySQL 迁移的虚拟私有云对等互连连接。
图 6.使用 Virtual Private Cloud 对等互连进行网络连接 以进行同构 MySQL 迁移。(点击可放大)
图示:显示同构 MySQL 迁移的虚拟私有云对等互连连接。

使用 VPC 对等互连进行专用 IP 连接的要求

使用 VPC 对等互连进行专用 IP 连接需要满足以下条件:

配置使用 VPC 对等互连的专用 IP 连接

如需使用虚拟私有云对等互连进行专用 IP 连接,必须可以从虚拟私有云访问源数据库的专用 IP。根据您的网络架构,您可能需要使用其他组件,例如 Cloud VPN 或 Cloud Interconnect。

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

您需要 Cloud VPN 或 Cloud Interconnect 才能创建与源数据库的专用 IP 的连接。

网络连接决策树

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

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