您可以通过安全的反向 SSH 隧道建立从目标数据库到源数据库的连接。此方法需要 Google Cloud 项目中的堡垒主机虚拟机,以及与源数据库具有连接性的机器(例如网络上的笔记本电脑)。
Database Migration Service 会在创建迁移时收集所需信息,并自动生成用于设置所有内容的脚本。
设置反向 SSH 隧道
在 Database Migration Service 流程中执行以下步骤以创建迁移作业,从而在源数据库与 Cloud SQL 实例之间设置反向 SSH 隧道。提供一些参数后,您可以在同时连接到源数据库和 Google Cloud的机器上执行一组 gcloud 命令。
选择用于在源数据库和 Cloud SQL 实例之间建立连接的虚拟机实例。通常,这是一个在 VPC 中运行的虚拟机,而访问新 Cloud SQL 数据库的应用也在该 VPC 中运行。虚拟机实例用作 SSH 隧道堡垒服务器。
为此,您可以使用现有的 Compute Engine 虚拟机实例。
从列表中选择 Compute Engine 虚拟机实例。
提供 SSH 隧道可以使用的空闲端口。
或者,您也可以在此步骤中创建新的虚拟机。选择
CREATE A COMPUTE ENGINE VM INSTANCE,生成的脚本会包含创建该存储桶的说明。为虚拟机实例提供名称。
为虚拟机选择机器类型。
为虚拟机指定子网
点击查看脚本,查看生成的脚本。
在可同时访问源数据库和 Compute Engine 虚拟机的机器上运行脚本。该脚本会执行以下操作:
将 Compute Engine 虚拟机配置为 SSH 隧道堡垒服务器。
在源数据库和 VPC 之间建立安全的 SSH 连接。
如果您要创建新的 Compute Engine 虚拟机,请在成功运行脚本后,从脚本输出中复制虚拟机服务器 IP,并将其输入到提供的文本字段中。稍后测试或启动迁移作业时,Cloud SQL 实例将根据需要进行更新。
点击配置并继续。
验证迁移作业,确认其已正确将数据从源数据库实例迁移到目标 Cloud SQL 数据库实例。
根据您的网络架构,您可能需要在系统中设置其他 VPN 网关。如需了解详情,请参阅 Cloud VPN 文档中的以下页面:在 Google Cloud 和 AWS 之间创建高可用性 VPN 连接或在 Google Cloud 和 Azure 之间创建高可用性 VPN 连接。
配置迁移作业、验证连接并成功配置 VPN(如有必要)后,您就可以运行作业了。