网络连接选项

概览

如需使用 Datastream 创建从源数据库到目标位置的数据流,您必须与源数据库建立连接。

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

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

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

工作原理是将源数据库服务器配置为允许来自 Datastream 的外部 IP 地址的传入连接。如需查找您所在地区的 IP 地址,请参阅 IP 许可名单和地区

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

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

详细了解 SSH 隧道

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

使用 IP 许可名单配置连接

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

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

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

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

  2. 创建入站规则。

  3. 将源数据库的 IP 地址设置为 Datastream 的 IP 地址

  4. 将协议设置为 TCP

  5. 设置与 TCP 协议关联的端口。默认值如下:

    • 1521(对于 Oracle 数据库)
    • 3306(对于 MySQL 数据库)
    • 5432对于 PostgreSQL 数据库
    • 1433(适用于 SQL Server 数据库)
  6. 保存防火墙规则,然后退出。

使用 SSH 隧道

以下步骤介绍了如何使用转发 SSH 隧道设置与来源数据库的连接。

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

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

使用数据库服务器

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

使用隧道服务器

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

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

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

第 2 步:创建 IP 许可名单

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

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

第 3 步:使用 SSH 隧道

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

为了对 SSH 隧道会话进行身份验证,DataStream 需要使用隧道账号的密码,或者使用唯一私钥。要使用唯一的私钥,您可以使用 OpenSSH 或 OpenSSL 命令行工具生成密钥。

Datastream 在 Datastream 连接配置文件配置中安全地存储私钥。您必须将公钥手动添加到堡垒主机的 ~/.ssh/authorized_keys 文件中。

生成私钥和公钥

您可以使用以下方法生成 SSH 密钥:

  • ssh-keygen:用于生成 SSH 密钥对的 OpenSSH 命令行工具。

    实用标志:

    • -t:指定要创建的密钥类型,例如:

      ssh-keygen -t rsa

      ssh-keygen -t ed25519

    • -b:指定要创建的密钥中的密钥长度,例如:

      ssh-keygen -t rsa -b 2048

    • -y:读取私密 OpenSSH 格式文件,并将 OpenSSH 公钥输出到标准输出。

    • -f:指定密钥文件的文件名,例如:

      ssh-keygen -y [-f KEY_FILENAME]

    如需详细了解支持的标志,请参阅 OpenBSD 文档

您可以使用以下方法生成 PEM 私钥:

  • openssl genpkey:用于生成 PEM 私钥的 OpenSSL 命令行工具。

    实用标志:

    • algorithm:指定要使用的公钥算法,例如:

      openssl genpkey -algorithm RSA

    • -out:指定密钥输出到的文件名,例如:

      openssl genpkey -algorithm RSA -out PRIVATE_KEY_FILENAME.pem

    如需详细了解支持的标志,请参阅 OpenSSL 文档

使用专用连接

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

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

创建专用连接配置后,单个配置可以处理单个地区内项目中所有数据流。

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

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

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

详细了解如何创建专用连接配置

后续步骤