本页面介绍了如何配置与 Amazon RDS for Oracle 来源的网络连接,以便使用 Database Migration Service 进行异构 Oracle 到 Cloud SQL for PostgreSQL 迁移。
您可以使用以下三种不同的方法来配置从 Amazon RDS for Oracle 来源进行迁移时所需的网络连接:
- 公共 IP 许可名单
- 正向 SSH 隧道
- 专用 IP 连接。这些方法需要 Cloud VPN 或 Cloud Interconnect:
如需详细了解来源数据库网络连接,请参阅 来源网络连接方法概览。
配置 IP 许可名单连接
如需使用公共 IP 许可名单连接方法,请按以下步骤操作:
- 在 AWS Management Console 中,执行以下步骤:
- 确保您的来源 Amazon RDS 数据库已配置为使用公共 IP 连接。
- 确定端点名称和端口号。您需要在创建连接配置文件时输入这些 值。
如需详细了解如何准备 Amazon RDS for Oracle 实例,请参阅 Amazon RDS 文档中的 连接到 Oracle 数据库实例。
创建一个安全群组,以允许来自 Database Migration Service 进入您的 Amazon RDS VPC 的流量。请参阅 通过创建安全群组提供对 VPC 中数据库实例的访问权限。
确保您允许为创建迁移作业的区域使用所有 Database Migration Service 公共 IP 地址。
- 在稍后的阶段,当您
创建来源连接配置文件时,请执行以下操作:
- 在定义连接详情 部分中, 使用实例的端点名称作为来源数据库 IP。
- 在定义连接方法 部分中,选择 IP 许可名单。
通过正向 SSH 隧道配置连接
如需使用 Secure Shell (SSH) 隧道连接到来源数据库,请按以下步骤操作:
-
启动 Amazon EC2 实例,以用作专用正向 SSH 隧道。 确保在您拥有来源 Amazon RDS for Oracle 的同一 Amazon VPC 中对其进行配置。
如需了解详情,请参阅 Amazon 文档中的 Amazon EC2 使用入门。
-
连接到 EC2 实例并设置 SSH 隧道。
请按以下步骤操作:
- 为 Database Migration Service 创建单独的专用用户账号,以供其
连接:
adduser TUNNEL_ACCOUNT_USERNAME - 限制 Database Migration Service 服务账号的 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
- 为 Database Migration Service 创建单独的专用用户账号,以供其
连接:
- 在稍后的阶段,当您
创建来源连接配置文件时,请执行以下操作:
- 在定义连接详情 部分中, 使用实例的端点名称作为来源数据库 IP。
- 在定义连接方法 部分中, 选择 正向 SSH 隧道。
- 提供 SSH 服务器的公共 IP 地址或主机名。
- 提供您为隧道服务器上的 SSH 连接指定的端口。
- 输入您为 Database Migration Service 创建的用户账号的用户名,以供其连接(即 TUNNEL_ACCOUNT_USERNAME 的值)。
- 从 身份验证方法 下拉菜单中,选择您要与 TUNNEL_ACCOUNT_USERNAME 搭配使用的身份验证方法:
使用 Private Service Connect 接口配置专用连接
借助此连接方法,您可以连接到来源 数据库的专用 IP,而无需占用 VPC 对等互连配额。Private Service Connect 接口是推荐的专用 IP 连接方法。
如需使用此方法,您需要在计划创建网络连接的同一 VPC 网络中配置 Cloud VPN 或 Cloud Interconnect。 如果您无法在拥有 Cloud VPN 或 Cloud Interconnect 的 VPC 网络中创建网络连接,则还需要在 Compute Engine 上使用反向代理虚拟机 (VM) 来建立连接。
如果您无法使用 Cloud VPN 或 Cloud Interconnect,我们建议 您改用 正向 SSH 隧道或 IP 许可名单 连接方法。
如需使用 Private Service Connect 接口连接,请执行以下操作:
-
使用 Cloud VPN 设置与 Amazon RDS for PostgreSQL 实例的直接连接。
如需了解详情,请参阅 Cloud VPN 文档中的在 Google Cloud 和 AWS 之间创建高可用性 VPN 连接。
- 可选:如果您无法在拥有 Cloud VPN 的同一 VPC 网络中创建网络连接,请在 Compute Engine 上创建反向代理虚拟机 (VM),以转发 VPC 之间的连接。
- 在拥有
Cloud VPN 的 VPC 中创建网络连接。请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 网络连接 页面。
- 点击创建网络连接 。
- 输入连接的名称。
- 从网络 菜单中,选择来源所在的 VPC。
-
对于区域,请使用您计划创建目标数据库的同一区域。
Database Migration Service 是一款完全区域性的产品,这意味着与迁移相关的所有实体 (来源和目标连接配置文件、 迁移作业、目标数据库、转换工作区)都必须 保存在单个区域中。
- 从 子网 菜单中,选择一个子网,其中至少有 6 个可供 Database Migration Service 使用的空闲 IP 地址(即
/29范围)。 -
在连接偏好设置 中,选择 接受选定项目的连接。
当您稍后创建专用连接配置时,Database Migration Service 会自动将提供方项目添加到接受的项目 列表中。
- 请勿添加接受的项目 或拒绝的项目 。
- 点击创建网络连接 。
- 在 Database Migration Service 中, 为 Private Service Connect 接口创建专用连接配置。
- 在稍后的阶段,当您
创建来源连接配置文件时,请执行以下操作:
- 在定义连接详情 部分中,输入来源 Amazon RDS 实例的专用 IP。
- 在定义连接方法 部分中, 选择 专用连接。
- 从下拉菜单中,选择您在上一步中创建的专用连接配置。
使用 VPC 对等互连配置专用连接
如需使用与 Amazon RDS for Oracle 来源的专用连接,您需要在计划为 Database Migration Service 创建专用连接配置的同一 VPC 网络中配置 Cloud VPN 或 Cloud Interconnect。如果您无法在拥有 Cloud VPN 或 Cloud Interconnect 的 VPC 网络中创建专用连接配置,则还需要在 Compute Engine 上使用反向代理虚拟机 (VM) 来建立连接。
如果您无法使用 Cloud VPN 或 Cloud Interconnect,我们建议 您改用 正向 SSH 隧道或 IP 许可名单 连接方法。
如需使用与 VPC 对等互连和 Cloud VPN 的专用连接,请按以下步骤操作:
-
使用 Cloud VPN 设置与 Amazon RDS for PostgreSQL 实例的直接连接。
如需了解详情,请参阅 Cloud VPN 文档中的在 Google Cloud 和 AWS 之间创建高可用性 VPN 连接。
- 可选:如果您无法在拥有 Cloud VPN 的同一 VPC 网络中创建专用连接配置,请在 Compute Engine 上创建 反向代理虚拟机 (VM),以转发 VPC 之间的连接。
- 在 Database Migration Service 中, 创建专用连接配置 以与拥有 Cloud VPN 的 VPC 网络进行对等互连。
- 在稍后的阶段,当您
创建来源连接配置文件时,请执行以下操作:
- 在定义连接详情 部分中,输入来源 Amazon RDS 实例的专用 IP。
- 在定义连接方法 部分中, 选择 专用连接。
- 从下拉菜单中,选择您在上一步中创建的专用连接配置。