发送反馈
使用反向 SSH 隧道配置连接
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
概览
您可以通过安全的反向 SSH 隧道建立从目标数据库到源数据库的连接。此方法需要 Google Cloud 项目中的一个堡垒主机虚拟机,以及与源数据库连接的机器(例如网络上的笔记本电脑)。
重要提示 : 如果您的源在 VPN 内(例如在 AWS 中或您自己的本地 VPN 中),则您的源连接配置文件应使用 VPN IP 地址和端口,而不是源 IP 地址和端口。
Database Migration Service for PostgreSQL 会在创建迁移时收集所需信息,并自动生成用于进行所有设置的脚本。
请参阅以下图表:
设置反向 SSH 隧道
在 创建迁移作业 的 Database Migration Service 流程中,需要执行以下步骤,以便在源数据库和 Cloud SQL 实例之间设置反向 SSH 隧道。提供一些参数后,您需要在同时连接到源数据库和 Google Cloud的机器上执行一组 gcloud
命令。
选择用于在源数据库与 Cloud SQL 实例之间建立连接的虚拟机实例。通常,这是在访问新 Cloud SQL 数据库的应用运行的 VPC 中运行的虚拟机。虚拟机实例充当 SSH 隧道堡垒服务器。
您可以使用现有的 Compute Engine 虚拟机实例来实现此目的。
从列表中选择 Compute Engine 虚拟机实例。
提供 SSH 隧道可用的空闲端口。
注意:为了使反向 SSH 隧道正常运行,请在目标服务器上的 /etc/ssh/sshd_config
文件中将 `GatewayPorts` 参数设置为 `yes`。更新文件后,使用 sudo systemctl restart sshd.service
命令重启 sshd 服务。 如果您不想更改现有虚拟机的配置,请创建新的虚拟机。
或者,您也可以在此步骤创建一个新的虚拟机。选择 CREATE A COMPUTE ENGINE VM INSTANCE
,生成的脚本中会包含创建该文件的说明。
为虚拟机实例提供名称。
为该虚拟机选择机器类型。
为虚拟机指定子网
注意:脚本创建的 Compute Engine 虚拟机实例不受 Database Migration Service 的管理。如果创建了实例,贵组织将需要按标准价格为该实例付费,并负责对其进行管理,包括在不再需要该实例时将其删除。
点击查看脚本 可查看生成的脚本。
默认情况下,该脚本会为 Compute Engine 虚拟机服务器生成一个公共 IP 地址。如果您希望 IP 地址为专用 IP 地址,请执行以下操作:
此外,如果您想在共享 VPC 中的子网上创建堡垒主机虚拟机,请将生成的脚本中的 export SUBNET_NAME
命令更改为指向 /projects/project_name /regions/region_name /subnetworks/subnetwork_name
。
例如:
export SUBNET_NAME=projects/myproject/regions/myregion/subnetworks/mysubnetwork
project_name 是共享 VPC 所在项目的名称。项目包含区域和子网。region_name 和 subnetwork_name 是与 VPC 项目关联的区域和子网的名称。
确保更新源数据库上 pg_hba.conf
文件的复制连接部分或 AWS RDS 安全群组定义,以接受来自 Cloud SQL VPC 的 IP 地址范围的连接。
在同时有权访问源数据库和 Compute Engine 虚拟机的机器上运行脚本 。该脚本会执行以下操作:
将 Compute Engine 虚拟机配置为 SSH 隧道堡垒服务器。
在源数据库和 VPC 之间建立安全的 SSH 连接。
如果您要创建新的 Compute Engine 虚拟机,则在成功运行该脚本后,从脚本输出中复制虚拟机服务器 IP,然后将其输入提供的文本字段中。当您稍后测试或启动迁移作业时,系统会根据需要更新 Cloud SQL 实例。
点击配置并继续 。
验证迁移作业 ,确认其是否已将数据从源数据库实例正确迁移到目标 Cloud SQL 数据库实例。
如果您的源在 VPN 内(例如在 AWS 中或您自己的本地 VPN 中),请参阅
通过 VPN 连接 VPC 部分,详细了解如何配置源 VPN 和 Google Cloud VPN,以便其互相配合。
配置迁移作业、验证连接性,并根据需要成功配置 VPN 后,您就可以运行作业了。
发送反馈
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-01-22。
需要向我们提供更多信息?
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-01-22。"],[],[]]