用于源数据库连接的网络方法

为了将数据从源数据库服务器移至 Cloud SQL for PostgreSQL 目标实例,Database Migration Service 需要连接到您的源实例。该连接可通过公共互联网建立,也可通过项目虚拟私有云 (VPC) 中的一系列专用连接来建立。

本页面简要介绍了每种可用的源数据库连接方法,并提供了建议部分,以帮助您为迁移选择合适的解决方案:

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

方法比较

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

网络方法 优点 缺点
IP 许可清单
  • 最容易设置的连接方法。
  • 当无法通过 Google Cloud中的专用网络访问源数据库时,此方法非常有用。
  • 需要您向公共互联网公开源数据库服务器的 IPv4 地址。这需要采取额外的安全措施。 例如,我们建议您使用 TLS 证书和防火墙规则来保护连接。
  • 配置防火墙规则可能需要 IT 部门的协助。
  • Database Migration Service 不支持在 Oracle Real Application Clusters (RAC) 环境中使用单客户端访问名称 (SCAN) 功能直接连接到数据库。如需了解在此类环境中使用公共 IP 许可清单连接的潜在解决方案,请参阅 排查 Oracle SCAN 错误。
正向 SSH 隧道
  • 比通过公共 IP 并使用 IP 许可清单进行连接更安全。

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

  • 当无法通过 Google Cloud中的专用网络访问源数据库,但您不想将源数据库服务器直接公开到公共互联网时,此方法非常有用。
  • 使用中间服务器(正向 SSH 隧道机器)进行连接可能会导致额外的延迟时间。
  • 您必须设置并维护 forward-ssh 主机服务器。 在整个迁移过程中,服务器必须保持在线状态。
Private Service Connect 接口
  • 使用网络连接建立与来源专用 IP 的连接。 此方法不会消耗 VPC 中的对等互连配额。
  • 最容易配置的来源专用连接方法。
  • 需要设置网络连接并调整防火墙规则。
  • 建立连接后,您将无法修改网络连接。
通过虚拟私有云对等互连实现专用连接 系统会通过 VPC 对等互连建立与源数据库的专用 IP 地址的连接。如果您的 VPC 没有足够的对等互连配额,则可能很难使用此连接方法。在大多数情况下,我们建议您改用 使用 Private Service Connect 接口的专用连接。

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

使用 IP 许可清单连接方法时,Database Migration Service 会尝试建立与源数据库服务器的公开可用 IP 地址的连接。

IP 许可清单连接的要求

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

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

  • Database Migration Service 不支持在 Oracle Real Application Clusters (RAC) 环境中使用单客户端访问名称 (SCAN) 功能直接连接到数据库。如需了解将公共 IP 许可清单连接方法与此类环境搭配使用的潜在解决方案,请参阅 排查 Oracle SCAN 错误。
  • 您需要允许来自 Database Migration Service 公共 IP 地址的传入连接。

  • 可选:IP 许可清单连接默认使用未加密的连接。 我们建议您使用 TLS 证书来保护连接。 Database Migration Service 支持不同的 TLS 类型,以便您根据源数据库可以支持的内容选择最佳解决方案。如需了解详情,请参阅 使用 SSL/TLS 证书加密网络连接。

配置 IP 许可清单连接

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

用于源数据库连接的正向 SSH 隧道

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

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

正向 SSH 隧道的要求

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

您可以在托管源数据库的同一服务器上终止隧道,但我们建议您使用专用隧道服务器。 这样,您就不会将源数据库直接公开到公共互联网。隧道服务器可以是任何可使用 SSH 从互联网访问并可访问源数据库的 Unix 或 Linux 主机。

对于某些连接场景,我们建议您使用 通过 Virtual Private Cloud 对等互连建立专用连接的网络方法,而不是正向 SSH 隧道:

  • 对于位于 Google Cloud内部的自托管来源,Database Migration Service 可以通过专用连接配置访问来源数据库的专用 IP。您无需设置单独的 SSH 服务器即可建立连接。

配置正向 SSH 隧道连接

通过正向 SSH 隧道配置连接性需要执行不同的步骤,具体取决于源数据库类型。有关详情,请参阅:

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

Private Service Connect 接口可让 Database Migration Service 发起到源数据库专用 IP 的连接,而无需为其自己的 IP 地址消耗对等互连配额。而是利用您在 VPC 中创建的网络连接。

一张网络图,展示了通过专用 SSH 隧道服务器和 Private Service Connect 接口实现的高层级连接设置。
图 3. 迁移网络示例:使用 Private Service Connect 接口和 Cloud VPN 为位于其他云产品中的来源提供专用 IP 来源连接。 (点击可放大)
一个网络图,展示了通过专用 SSH 隧道服务器和 Private Service Connect 接口实现的高级连接设置。

Private Service Connect 接口的要求

此连接方法要求您在可访问源数据库的 VPC 网络中创建网络连接。网络连接的子网必须有 6 个可用 IP 地址(也就是说,您必须使用 /29 范围,总共 8 个 IP 地址)。您可以对多个迁移作业使用同一网络连接,前提是您有足够的地址来满足迁移场景的需求:

目的地所需 IP 地址的数量
Cloud SQL 单可用区实例 1 个地址
Cloud SQL 高可用性 (HA) 实例 2 个地址

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

如需将专用 IP 连接与 Private Service Connect 接口搭配使用,您的源数据库专用 IP 必须可从您创建网络连接的虚拟私有云访问。如需详细了解如何为不同的数据库来源配置此专用 IP 连接方法,请参阅:

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

通过此方法,您可以使用虚拟私有云 (VPC) 中的专用 IP 地址连接到来源。您无需向公共互联网公开任何接口即可使用此方法,但它要求您的源数据库 IP 地址或主机名可以从 Google Cloud VPC 访问。

根据您拥有的源数据库,此连接方法可能需要您设置其他网络组件(例如 Cloud VPN 或反向代理虚拟机):

一张网络图,展示了通过专用 SSH 隧道服务器建立的高级连接设置。
图 4. 迁移网络组建和管理示例:通过虚拟私有云对等互连和 Cloud VPN 为 Google Cloud外部的代管式来源提供专用 IP 连接性。(点击可放大)
一张网络图,展示了通过专用 SSH 隧道服务器建立的高级连接设置。

专用 IP 连接的要求

此连接方法最适合可从您的 Google Cloud VPC 网络访问其专用 IP 地址的来源。对于位于 Google Cloud中的自托管来源,您可以使用 Database Migration Service 中的 专用连接配置建立直接对等互连连接。对于其他类型的来源,您可能需要额外的网络组件,例如 Cloud VPN 或 反向代理虚拟机(或两者)。

专用 IP 连接需要满足以下条件:

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

如需将专用 IP 连接与虚拟私有云对等互连搭配使用,您的源数据库专用 IP 必须可从虚拟私有云访问。根据您的网络架构,您可能需要使用其他组件,例如反向代理虚拟机或 Cloud VPN。

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

来源网络连接决策树

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

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

后续步骤