本页介绍了如何配置与自托管 Oracle 源的网络连接,以便使用 Database Migration Service 进行异构 Oracle 到 AlloyDB for PostgreSQL 迁移。
您可以通过以下三种不同的方法为从自托管 Oracle 源进行迁移配置必要的网络连接:
配置 IP 许可名单连接
如需使用公共 IP 许可名单连接方法,请按以下步骤操作:
- 确保您的源数据库具有可从公共互联网访问的 IP 地址。您无需使用 IP 地址即可连接。 如果您有与 IP 地址关联的 DNS 记录,可以改用该记录。
- 在源数据库服务器上创建入站防火墙规则,以接受来自 Database Migration Service 的连接。使用以下配置:
- 对于规则类型,请使用
port
。 - 对于允许的 IP 地址范围,请添加您创建迁移作业的区域的所有 Database Migration Service 公共 IP 地址。
- 将协议设置为
TCP
。 - 将与规则关联的端口号设置为源数据库监听传入连接的端口。此端口号与您需要在来源连接配置文件中输入的端口号相同。
Oracle 服务器默认使用
1521
端口。
配置防火墙规则的步骤因您使用的服务器软件而异。如需了解详情,请参阅防火墙产品的文档。
- 对于规则类型,请使用
- 在后续阶段,当您 创建来源连接配置文件时,在定义连接方法部分中,选择 IP 许可名单。
配置通过正向 SSH 隧道的连接
如需使用安全外壳 (SSH) 隧道连接到源数据库,请按以下步骤操作:
- 创建一个虚拟机 (VM),用于在 Database Migration Service 与源数据库之间打开隧道。隧道服务器可以是任何具备下列特点的 Unix/Linux 主机:
- 可以通过 SSH 从公共互联网访问。
- 可以访问源数据库的专用 IP 地址。
在 SSH 服务器上,创建一个用户账号,供数据库迁移服务用于连接到 SSH 隧道。
例如,在 Ubuntu 系统上,您可以使用以下命令:
- 创建用户账号:
adduser TUNNEL_ACCOUNT_USERNAME
- 限制用户账号的 Shell 访问权限,以提高安全性:
usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
- 创建用户账号:
确定您希望 Database Migration Service 在连接到隧道时使用哪种身份验证方法。
您可以使用密码,也可以生成
PEM
格式的 SSH 密钥,以便在创建源连接配置文件时将其上传到 Database Migration Service。- 如果您想使用密码,则无需额外配置任何内容。记住您为 TUNNEL_ACCOUNT_USERNAME 账号创建的密码。
- 如果您想使用基于密钥的身份验证,则需要生成一个公钥/私钥对。例如,您可以使用
ssh-keygen
实用程序:- 生成密钥对:
ssh-keygen -m PEM -f YOUR_KEY_NAME
- 将公钥 (
YOUR_KEY_NAME.pub
) 复制到隧道服务器上的~/.ssh/
目录。 - 保存私钥。您稍后需要在创建源连接配置文件时将其上传到 Database Migration Service。
- 生成密钥对:
- 修改
/etc/ssh/sshd_config
文件以配置前向 SSH 隧道,使其符合贵组织的要求。 我们建议您使用以下设置:# Only allow the Database Migration Service user to connect. AllowUsers TUNNEL_ACCOUNT_USERNAME # Send keep-alive packets every 60 seconds to ensure that # the tunnel doesn't close during the migration ServerAliveInterval=60 # Optional: Force key-based authentication PasswordAuthentication no # Enables Database Migration Service to connect from a different host PermitTunnel yes GatewayPorts yes
- 运行
ssh
命令以启动隧道。在使用下面的任何命令数据之前,请先进行以下替换:
- 将 TUNNEL_SERVER_SSH_PORT 替换为服务器监听 SSH 连接的端口号。
- 将 SOURCE_DATABASE_PRIVATE_IP 替换为源数据库的专用 IP 地址。SSH 服务器需要能够访问该 IP。
- 将 SOURCE_DATABASE_PORT 替换为源数据库监听连接的端口号。Oracle 上 TCP 连接的默认端口号为
1433
。 - 将 USERNAME 替换为将运行隧道的用户账号的名称。此账号与 TUNNEL_ACCOUNT_USERNAME 是两个不同的账号。
- 将 TUNNEL_SERVER_PUBLIC_IP 替换为 SSH 隧道服务器的公网 IP 地址。
ssh -N -L \ TUNNEL_SERVER_SSH_PORT:SOURCE_DATABASE_PRIVATE_IP:SOURCE_DATABASE_PORT \ USERNAME@TUNNEL_SERVER_PUBLIC_IP
- 在 SSH 隧道上创建入站防火墙规则,以接受来自您创建迁移作业的区域的 Database Migration Service 公共 IP 地址的连接。
- 在后续阶段,当您
创建来源连接配置文件时,请执行以下操作:
- 在定义连接详情部分中,输入来源 Oracle 实例的专用 IP。
- 在定义连接方法部分中,选择转发 SSH 隧道。
- 提供 SSH 服务器的公共 IP 地址或主机名。
- 提供您在隧道服务器上为 SSH 连接指定的端口。
- 输入您为数据库迁移服务创建的用户的用户名(即 TUNNEL_ACCOUNT_USERNAME 的值),以便以该用户名进行连接。
- 从Authentication method(身份验证方法)下拉菜单中,选择要与 TUNNEL_ACCOUNT_USERNAME 用户一起使用的身份验证方法:
- 如果您想使用用户密码,请选择密码,然后在表单中输入 TUNNEL_ACCOUNT_USERNAME 密码。
- 如果您已将 SSH 服务器配置为使用基于密钥的身份验证,请选择私钥/公钥对,然后上传
您使用
ssh-keygen
命令生成的私钥。
使用 VPC 对等互连配置专用连接
此连接方法要求您能够从 VPC 访问源数据库 IP 地址或主机名。 Google Cloud 位于 Google Cloud之外网络中的自托管来源可能需要您使用额外的网络组件,例如 Cloud VPN 或 Cloud Interconnect。
对于 Google Cloud中的自托管来源
如需针对托管在 Compute Engine 虚拟机上的数据库源 Oracle 数据库使用与虚拟私有云对等的专用连接,请按以下步骤操作:
- 确保为分配了 IP 地址的虚拟机所在的 Virtual Private Cloud 网络配置了专用服务访问通道。如需了解详情,请参阅 配置专用服务访问通道。
- 在 Database Migration Service 中, 创建专用连接配置,以与您在 Compute Engine VM 上托管 Oracle 数据库的 VPC 网络建立对等互连。
- 在后续阶段,当您
创建来源连接配置文件时,请执行以下操作:
- 在定义连接详情部分中,输入托管 Oracle 数据库的 Compute Engine 虚拟机的 IP 地址。
您可以在 Google Cloud 控制台中 查看虚拟机的 IP 地址。
- 在定义连接方法部分中,选择专用连接(VPC 对等互连)。
- 从下拉菜单中,选择您在上一步中创建的专用连接配置。
- 在定义连接详情部分中,输入托管 Oracle 数据库的 Compute Engine 虚拟机的 IP 地址。
对于 Google Cloud之外的自托管来源
如需针对位于Google Cloud之外的网络中的自托管 Oracle 源数据库使用专用连接与虚拟专用云对等互连,请按以下步骤操作:
-
使用 Cloud VPN 设置与 Oracle 源的直接连接。
根据您的网络架构,您可能需要在系统中设置其他 VPN 网关。如需了解详情,请参阅 Cloud VPN 文档中的 创建连接到对等 VPN 网关的高可用性 VPN 网关。
- 可选:如果您无法在包含 Cloud VPN 的 VPC 网络中创建专用连接配置,请 在 Compute Engine 上创建反向代理虚拟机 (VM),以转发 VPC 之间的连接。
- 在 Database Migration Service 中, 创建专用连接配置,以与您部署 Cloud VPN 的 VPC 网络建立对等互连。
- 在后续阶段,当您
创建来源连接配置文件时,请执行以下操作:
- 在定义连接详情部分中,输入 Oracle 源的专用 IP。
- 在定义连接方法部分中,选择专用连接(VPC 对等互连)。
- 从下拉菜单中,选择您在上一步中创建的专用连接配置。
后续步骤
如需详细了解来源数据库网络连接,请参阅 来源网络连接方法概览。
如需完整了解分步迁移过程,请参阅 Oracle 到 AlloyDB for PostgreSQL 迁移指南。