配置与 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 数据库实例。

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

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

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

通过正向 SSH 隧道配置连接

如需使用 Secure Shell (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. 输入您为 Database Migration Service 创建的用户的用户名(即 TUNNEL_ACCOUNT_USERNAME 的值)。
    6. 从身份验证方法下拉菜单中,选择要与 TUNNEL_ACCOUNT_USERNAME 搭配使用的身份验证方法:
      • 如果您想使用用户密码,请选择密码,然后在表单中输入 TUNNEL_ACCOUNT_USERNAME 密码。
      • 如果您将 SSH 服务器配置为使用基于密钥的身份验证,请选择私钥/公钥对,然后上传 您使用 ssh-keygen 命令生成的私钥。

使用 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 接口所需的权限,请让管理员针对您的项目向 迁移过程中涉及的以下账号授予所需的 IAM 角色

  • 执行迁移的用户账号:
  • 如果您需要在与 Database Migration Service 不同的项目中创建网络连接或其底层子网(例如,如果您使用共享 VPC 宿主项目),则需要向 Database Migration Service 服务账号 (service-PROJECT_NUMBER@gcp-sa-datamigration.) 授予以下角色: Compute Network Viewer (roles/compute.networkViewer)

如需详细了解如何授予角色,请参阅 管理访问权限。

这些预定义角色包含使用 Database Migration Service 执行同构 SQL Server 迁移所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需使用 Database Migration Service 执行同构 SQL Server 迁移,您需要拥有以下权限:

  • 执行迁移的用户账号:
    • datamigration.*
    • compute.networkAttachments.create
    • compute.networkAttachments.get
    • compute.networkAttachments.list
    • compute.networkAttachments.update
    • compute.networkAttachments.delete
  • Database Migration Service 服务账号:
    • compute.networkAttachments.get
    • compute.networkAttachments.update
    • compute.subnetworks.get
    • compute.subnetworks.list

您也可以使用 自定义角色或其他 预定义角色来获取这些权限。

如需使用 Private Service Connect 接口连接,请执行以下操作:

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

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

  2. 可选:如果您无法在 Cloud VPN 所在的同一 VPC 网络中创建网络连接,请 在 Compute Engine 上创建反向代理虚拟机 (VM),以在 VPC 之间转发连接。
  3. 在 Cloud VPN 所在的 VPC 中创建网络连接。请按以下步骤操作:
    1. 在 Google Cloud 控制台中,前往网络连接页面。

      前往“网络连接”

    2. 点击创建网络连接。
    3. 输入连接名称。
    4. 从网络菜单中,选择来源所在的 VPC。
    5. 对于区域,请使用您计划创建目标数据库的同一区域。

      Database Migration Service 是一款完全区域性的产品,这意味着与迁移相关的所有实体(源和目标连接配置文件、迁移作业、目标数据库、转换工作区)都必须保存在单个区域中。

    6. 从子网菜单中,选择一个子网,其中至少有 6 个可供 Database Migration Service 使用的空闲 IP 地址(即 /29 范围)。
    7. 在连接偏好设置中,选择接受选定项目的连接。

      当您稍后 创建专用连接配置时,Database Migration Service 会自动将提供方项目添加到接受的项目列表中。

    8. 请勿添加接受的项目或拒绝的项目。
    9. 点击创建网络连接。
  4. 在 Database Migration Service 中, 为 Private Service Connect 接口创建专用连接配置。
  5. 在稍后阶段,当您 创建来源连接配置文件时,请执行以下操作:
    1. 在定义连接详情部分中,输入源 Amazon RDS 实例的专用 IP。
    2. 在定义连接方法部分中,选择专用连接。
    3. 从下拉菜单中,选择您在上一步中创建的专用连接配置。

使用 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. 在定义连接方法部分中,选择专用连接。
    3. 从下拉菜单中,选择您在上一步中创建的专用连接配置。