使用反向 SSH 隧道配置连接

您可以通过安全的反向 SSH 隧道建立从目标数据库到源数据库的连接。此方法需要在 项目 Google Cloud 中设置堡垒主机虚拟机,以及一台可以连接到源数据库的机器(例如网络上的 网络)。

Database Migration Service 会在创建迁移时收集所需的信息,并自动生成用于设置所有内容的脚本。

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

设置反向 SSH 隧道

以下步骤在 Database Migration Service 中 创建迁移作业的流程中执行,用于在源数据库和 Cloud SQL 实例之间设置反向 SSH 隧道。提供一些参数后,您 可以在一台 可以同时连接到源数据库和 Cloud SQL 实例 Google Cloud的机器上执行一组 gcloud 命令。

  1. 选择用于在源数据库和 Cloud SQL 实例之间建立连接的虚拟机实例。通常,这是在运行访问新 Cloud SQL 数据库的应用的 VPC 中运行的虚拟机。虚拟机实例充当 SSH 隧道堡垒服务器。

  2. 您可以为此目的使用现有的 Compute Engine 虚拟机实例。

    1. 从列表中选择 Compute Engine 虚拟机实例。

    2. 提供 SSH 隧道可以使用的空闲端口。

  3. 或者,您可以在此步骤中创建新的虚拟机。选择 CREATE A COMPUTE ENGINE VM INSTANCE,生成的脚本将包含创建虚拟机的说明。

    1. 为虚拟机实例提供名称。

    2. 为虚拟机选择机器类型。

    3. 为虚拟机指定子网

  4. 点击查看脚本 以查看生成的脚本。

  5. 在可以同时访问源数据库和 Compute Engine 虚拟机的机器上运行脚本 。该脚本会执行以下操作:

    • 将 Compute Engine 虚拟机配置为 SSH 隧道堡垒服务器。

    • 在源数据库和 VPC 之间建立安全的 SSH 连接。

    • 如果您要创建新的 Compute Engine 虚拟机,请在成功运行脚本后,从脚本输出中复制虚拟机服务器 IP,并将其输入到提供的文本字段中。当您稍后测试或启动迁移作业时,Cloud SQL 实例将根据需要进行更新。

  6. 点击配置并继续 。

  7. 验证迁移作业,以确认该作业已将 数据从源数据库实例正确迁移到目标 Cloud SQL 数据库实例。

  8. 根据您的网络架构,您可能需要在系统中设置其他 VPN 网关。如需了解详情,请参阅 Cloud VPN 文档中的以下 页面: 在 Google Cloud 和 AWS 之间创建高可用性 VPN 连接 或 在 Google Cloud 和 Azure 之间创建高可用性 VPN 连接 。

  9. 配置迁移作业、验证连接并根据需要成功配置 VPN 后,您就可以运行该作业了。