网络方法

概览

如需使用 Database Migration Service 将数据从源数据库迁移到目标数据库,您必须在两个数据库之间建立连接。

来源连接

Database Migration Service 支持 IP 许可名单、转发 SSH 隧道和 VPC 对等互连网络连接方法。

使用下表中的信息可以帮助您确定最适合特定工作负载的方法。

网络方法 说明 优点 缺点
IP 许可名单

工作原理是将源数据库服务器配置为允许来自 Database Migration Service 的公共 IP 地址的传入连接。

  • 易配置
  • 源数据库向公共 IP 地址公开。
  • 默认情况下,连接未加密。必须在源数据库上启用 SSL 才能加密连接。
  • 配置防火墙可能需要 IT 部门的帮助。
转发 SSH 隧道

通过转发 SSH 隧道经由公共网络在 Database Migration Service 和来源之间建立加密连接。

详细了解 SSH 隧道

  • 安全
  • 带宽有限
  • 您必须设置和维护堡垒主机。
VPC 对等互连 工作原理是创建专用连接配置。Database Migration Service 会使用此配置通过专用网络与数据源进行通信。此通信通过 Virtual Private Cloud (VPC) 对等互连连接进行。
  • 安全专用通道
  • 易配置
  • 需要在数据库与 Google Cloud之间建立专用网络连接(VPN、互连等)。

目标位置连接

使用 Private Service Connect 建立与 Cloud SQL 目标数据库的专用连接。

使用 IP 许可名单配置连接

为了让 Database Migration Service 将数据从源数据库转移到目标位置,Database Migration Service 需要先连接到此数据库。

配置此连接的一种方法是使用 IP 许可名单。当源数据库位于 Google Cloud 外部且具有外部可访问的 IPv4 地址和 TCP 端口时,最适合使用公共 IP 连接。

如果源数据库位于 Google Cloud外部,则将 Database Migration Service 的公共 IP 地址添加为来源网络上的入站防火墙规则。一般来说(您的特定网络设置可能不同),请执行以下操作:

  1. 打开源数据库机器的网络防火墙规则。

  2. 创建入站规则。

  3. 将源数据库的 IP 地址设置为 Database Migration Service 的 IP 地址

  4. 将协议设置为 TCP

  5. 将与 TCP 协议关联的端口设置为 1521

  6. 保存防火墙规则,然后退出。

使用 SSH 隧道

第 1 步:选择终止隧道的主机

要为您的数据库设置 SSH 隧道访问权限,第一步是选择将用于终止隧道的主机。隧道可以在数据库主机本身或单独的主机(隧道服务器)上终止。

使用数据库服务器

终止数据库上的隧道具有操作简单这一优势。由于涉及的主机少了一个,因此没有额外的机器及其相关费用。缺点是数据库服务器可能位于无法通过互联网直接访问的受保护的网络上。

使用隧道服务器

终止单独服务器上的隧道的优势是,可以防止通过互联网访问您的数据库服务器。如果隧道服务器被破解,则只需一步即可从数据库服务器中移除。建议您从隧道服务器中移除所有不必要的软件和用户,并使用入侵检测系统 (IDS) 等工具密切监控该服务器。

隧道服务器可以是任何具备下列特点的 Unix/Linux 主机:

  1. 可以通过 SSH 从互联网访问。
  2. 可以访问数据库。

第 2 步:创建 IP 许可名单

为数据库设置 SSH 隧道访问权限的第二步是,允许网络流量通过 SSH(通常在 TCP 端口 22 上)到达隧道服务器或数据库主机。

允许来自创建 Database Migration Service 资源的每个地区 IP 地址的网络流量。

第 3 步:使用 SSH 隧道

在连接配置文件配置中提供隧道详细信息。如需了解详情,请参阅创建连接配置文件

为了对 SSH 隧道会话进行身份验证,Database Migration Service 需要使用隧道账号的密码,或者使用唯一私钥。要使用唯一私钥,您可以使用 OpenSSL 命令行工具生成一个密钥对(由一个私钥和一个公钥组成)。

私钥由 Database Migration Service 安全存储为连接配置文件配置的一部分。您必须将公钥手动添加到堡垒主机的 ~/.ssh/authorized_hosts 文件中。

设置与源数据库的专用连接

专用连接是您的 VPC 网络与 Database Migration Service 的专用网络之间的连接,使 Database Migration Service 能够使用内部 IP 地址与内部资源进行通信。使用专用连接会在 Database Migration Service 网络上建立专用连接,这意味着其他客户无法共享此连接。

如果源数据库位于 Google Cloud外部,则专用连接可让 Database Migration Service 通过 VPN 或互连与您的数据库通信。

创建专用连接配置后,单个配置可以处理单个区域内项目中的所有迁移。

概括地说,建立专用连接需要:

  • 现有 Virtual Private Cloud (VPC)
  • 最小 CIDR 块为 /29 的可用 IP 范围

如果您的项目使用的是共享 VPC,则还需要启用 Database Migration Service API 和 Google Compute Engine API,并向宿主项目上的 Database Migration Service 服务账号授予权限。

详细了解如何为源数据库创建专用连接配置

设置与目标数据库的专用连接

Database Migration Service 使用 Private Service Connect 以专用方式连接到目标 Cloud SQL 实例。您可以将数据库 TCP 端口公开给传入的安全连接,同时通过在项目中设置服务附件来控制哪些人可以访问数据库。

详细了解如何为目标数据库创建专用连接配置