配置与 Amazon RDS for Oracle 源的网络连接

本页介绍了如何配置与 Amazon RDS for Oracle 来源的网络连接,以便使用 Database Migration Service 将异构 Oracle 迁移到 Cloud SQL for PostgreSQL。

您可以使用以下三种不同的方法来配置从 Amazon RDS for Oracle 源进行迁移所需的网络连接:

如需详细了解来源数据库网络连接,请参阅 来源网络连接方法概览

配置 IP 许可名单连接

如需使用公共 IP 许可名单连接方法,请按以下步骤操作:

  1. 在 AWS 管理控制台中,执行以下步骤:
    1. 确保您的源 Amazon RDS 数据库已配置为支持公共 IP 连接。
    2. 确定端点名称和端口号。您需要在创建连接配置文件时输入这些值。

    如需详细了解如何准备 Amazon RDS for Oracle 实例,请参阅 Amazon RDS 文档中的 连接到 Oracle DB 实例

  2. 创建一个安全组,允许从 Database Migration Service 到 Amazon RDS VPC 的流量。请参阅 通过创建安全群组向 VPC 中的数据库实例授予访问权限

    请务必为您创建迁移作业的区域允许所有 Database Migration Service 公共 IP 地址

  3. 在后续阶段,当您 创建来源连接配置文件时,请执行以下操作:
    1. 指定连接详情部分,为源数据库 IP 使用实例的端点名称。
    2. 定义连接方法部分中,选择 IP 许可名单

配置通过正向 SSH 隧道的连接

如需使用安全外壳 (SSH) 隧道连接到源数据库,请按以下步骤操作:

  1. 启动一个 Amazon EC2 实例,将其用作专用正向 SSH 隧道。 请确保您在源 Amazon RDS for Oracle 所在的 Amazon VPC 中进行配置。

    如需了解详情,请参阅 Amazon 文档中的 Amazon EC2 使用入门

  2. 连接到您的 EC2 实例并设置 SSH 隧道。 请按以下步骤操作:
    1. 为 Database Migration Service 创建一个单独的专用用户账号,以便其以以下身份进行连接:
      adduser TUNNEL_ACCOUNT_USERNAME
    2. 限制 Database Migration Service 账号的 shell 访问权限,以提高安全性:
      usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
    3. 确定您希望 Database Migration Service 在连接到隧道时使用哪种身份验证方法。

      您可以使用简单的密码,也可以生成 PEM 格式的 SSH 密钥,以便在创建源连接配置文件时将其上传到 Database Migration Service。

      • 如果您想使用密码,则无需额外配置任何内容。记住您为 TUNNEL_ACCOUNT_USERNAME 账号创建的密码。
      • 如果您想使用基于密钥的身份验证,则需要生成一个公钥/私钥对。例如,您可以使用 ssh-keygen 实用程序:
        1. 生成密钥对:
              ssh-keygen -m PEM -f YOUR_KEY_NAME
              
        2. 将公钥 (YOUR_KEY_NAME.pub) 复制到隧道服务器上的 ~/.ssh/ 目录。
        3. 保存私钥。您稍后需要在创建源连接配置文件时将其上传到 Database Migration Service。
    4. 修改 /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
    5. 运行 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
  3. 在后续阶段,当您 创建来源连接配置文件时,请执行以下操作:
    1. 指定连接详情部分,为源数据库 IP 使用实例的端点名称。
    2. 定义连接方法部分中,选择转发 SSH 隧道
    3. 提供 SSH 服务器的公共 IP 地址或主机名。
    4. 提供您在隧道服务器上为 SSH 连接指定的端口。
    5. 输入您为数据库迁移服务创建的用户的用户名(即 TUNNEL_ACCOUNT_USERNAME 的值),以便以该用户名进行连接。
    6. Authentication method(身份验证方法)下拉菜单中,选择要与 TUNNEL_ACCOUNT_USERNAME 搭配使用的身份验证方法:
      • 如果您想使用用户密码,请选择密码,然后在表单中输入 TUNNEL_ACCOUNT_USERNAME 密码。
      • 如果您已将 SSH 服务器配置为使用基于密钥的身份验证,请选择私钥/公钥对,然后上传 您使用 ssh-keygen 命令生成的私钥

使用 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 与专用连接搭配使用,请按以下步骤操作:

  1. 使用 Cloud VPN 设置与 Amazon RDS for PostgreSQL 实例的直接连接。

    如需了解详情,请参阅 Cloud VPN 文档中的 在 Google Cloud 和 AWS 之间创建高可用性 VPN 连接

  2. 可选:如果您无法在包含 Cloud VPN 的 VPC 网络中创建专用连接配置,请 在 Compute Engine 上创建反向代理虚拟机 (VM),以转发 VPC 之间的连接。
  3. 在 Database Migration Service 中, 创建专用连接配置,以与您部署 Cloud VPN 的 VPC 网络建立对等互连。
  4. 在后续阶段,当您 创建来源连接配置文件时,请执行以下操作:
    1. 定义连接详情部分中,输入源 Amazon RDS 实例的专用 IP。
    2. 定义连接方法部分中,选择专用连接(VPC 对等互连)
    3. 从下拉菜单中,选择您在上一步中创建的专用连接配置。