你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

有关 Azure Database for PostgreSQL 中的迁移服务的网络方案

适用于: Azure Database for PostgreSQL 灵活服务器

本文概述了在 Azure Database for PostgreSQL 中使用迁移服务将源数据库连接到 Azure Database for PostgreSQL 实例的各种方案。 每个方案都有不同的网络要求和配置,目的是成功建立迁移连接。 具体细节因实际网络设置以及源环境和目标环境的要求而异。

下表汇总了迁移方案。 该表基于源环境和目标环境的配置指示了是否支持各个方案。

PostgreSQL 源 目标 支持
在本地使用公共 IP 地址 具有公共访问权限的 Azure Database for PostgreSQL 灵活服务器
通过虚拟专用网 (VPN) 或 Azure ExpressRoute 在本地使用专用 IP 地址 虚拟网络 (VNet) 集成的 Azure Database for PostgreSQL 灵活服务器
具有公共 IP 地址的适用于 PostgreSQL 的 Amazon 关系数据库服务 (Amazon RDS) 或 Amazon Aurora PostgreSQL 具有公共访问权限的 Azure Database for PostgreSQL 灵活服务器
可通过 VPN 或 ExpressRoute 进行专用访问的 Amazon RDS for PostgreSQL 或 Amazon Aurora PostgreSQL VNet 集成的 Azure Database for PostgreSQL 灵活服务器
Google Cloud SQL for PostgreSQL 具有公共访问权限的 Azure Database for PostgreSQL 灵活服务器
通过 VPN 或 ExpressRoute 进行专用访问的 Google Cloud SQL for PostgreSQL VNet 集成的 Azure Database for PostgreSQL 灵活服务器
PostgreSQL 安装在相同虚拟网络或不同虚拟网络中的 Azure 虚拟机 (VM) 上 VNet 集成的 Azure Database for PostgreSQL 灵活服务器(位于相同虚拟网络或不同虚拟网络中)
具有公共访问权限的 Azure Database for PostgreSQL 单一服务器 VNet 集成的 Azure Database for PostgreSQL 灵活服务器
具有专用终结点的 Azure Database for PostgreSQL 单一服务器 VNet 集成的 Azure Database for PostgreSQL 灵活服务器
具有专用终结点的 Azure Database for PostgreSQL 单一服务器 具有专用终结点的 Azure Database for PostgreSQL 灵活服务器
具有专用访问权限的 PostgreSQL 源 具有专用终结点的 Azure Database for PostgreSQL 灵活服务器
具有专用访问权限的 PostgreSQL 源 具有公共访问权限的 Azure Database for PostgreSQL 灵活服务器

本地(公共 IP)到灵活服务器(公共访问)

网络步骤:

  1. 确保源数据库服务器具有公共 IP 地址。
  2. 配置防火墙以允许 PostgreSQL 端口(默认端口为 5432)上的出站连接。
  3. 确保可通过 Internet 访问源数据库服务器。
  4. 通过验证从 Azure Database for PostgreSQL 的目标实例到源数据库的连接性来测试设置。 确认迁移服务可以访问源数据。

本地(专用 IP)到 VNet 集成的灵活服务器(ExpressRoute 或 VPN)

屏幕截图显示本地数据中心通过 ExpressRoute 或 Azure VPN 网关连接到 Azure。本地 PostgreSQL 服务器通过安全链接连接到 Azure Database for PostgreSQL。

网络步骤:

  1. 设置站点到站点 VPN 或 ExpressRoute 实例,以便在本地网络和 Azure 之间建立安全可靠的连接。
  2. 配置 Azure 虚拟网络,以允许从本地 IP 地址范围进行的访问。
  3. 设置网络安全组规则,以允许 PostgreSQL 端口(默认端口为 5432)上来自本地网络的流量。
  4. 通过验证从 Azure Database for PostgreSQL 的目标实例到源数据库的连接性来测试设置。 确认迁移服务可以访问源数据。

托管 PostgreSQL 服务(公共 IP)到灵活服务器(公共/专用访问)

屏幕截图显示通过 Internet 或专用方法连接到 Azure Database for PostgreSQL 的托管服务(例如,Amazon 或 Google 的托管服务)中的 PostgreSQL 数据库。

云提供商(例如 AWS 或 GCP)中的源 PostgreSQL 数据库必须具有公共 IP 地址或到 Azure 的直接连接。

网络步骤:

  • 公共访问权限

    1. 如果 Amazon Web Services (AWS)、Google Cloud Platform (GCP) 或其他托管 PostgreSQL 服务中的 PostgreSQL 实例不可公开访问,请修改该实例以允许来自 Azure 的连接。 在云提供商的控制台中(例如,在 AWS 管理控制台或 Google Cloud 控制台中),更改设置以允许公共可访问性。
    2. 在云提供商的安全设置(例如 AWS 中的安全组或 GCP 中的防火墙规则)中添加入站规则,以允许来自 Azure Database for PostgreSQL 公共 IP 地址或域的流量。
  • 专用访问权限

    1. 使用从云提供商(Azure ExpressRoute、AWS Direct Connect、GCP 互连)到 Azure 的 ExpressRoute、IPsec VPN 或等效的专用连接服务建立安全连接。
    2. 在源云提供商的安全设置(例如 AWS 安全组或 GCP 防火墙规则)中添加一条入站规则,以允许来自 Azure Database for PostgreSQL 公共 IP 地址/域或 PostgreSQL 端口(默认端口为 5432)上的 Azure 虚拟网络中的 IP 地址范围的流量。
    3. 创建在 Azure 中与 Azure Database for PostgreSQL 实例位于同一区域的虚拟网络。 设置网络安全组,以允许到默认端口 5432 上的源云提供商的 PostgreSQL 实例的 IP 地址的出站连接。
    4. 在 Azure 中设置网络安全组规则,以允许从云提供商(例如 AWS 或 GCP)到 Azure Database for PostgreSQL IP 地址范围的传入连接。
    5. 在托管的 PostgreSQL 服务(例如 AWS、GCP 或 Heroku)和 Azure Database for PostgreSQL 中测试 PostgreSQL 实例之间的连接,以确保没有网络问题发生。

Azure VM(专用访问)连接到 Azure Database for PostgreSQL(不同虚拟网络)

此方案描述 Azure 虚拟机实例与不同虚拟网络中的 Azure Database for PostgreSQL 实例之间的连接性。 需要虚拟网络对等互连和适当的网络安全组规则来推动实现 VNet 之间的通信。

一个虚拟网络中的 Azure VM 连接到另一个虚拟网络中的 Azure Database for PostgreSQL 的屏幕截图。

网络步骤:

  1. 在两个 VNet 之间设置虚拟网络对等互连,以启用直接网络连接。
  2. 配置网络安全组规则,以允许 PostgreSQL 端口上的 VNet 之间的流量。

Azure VM 到 Azure Database for PostgreSQL(同一虚拟网络)

当 Azure VM 与 Azure Database for PostgreSQL 实例位于同一虚拟网络中时,配置非常简单。 设置网络安全组规则,以允许 PostgreSQL 端口上的内部流量。 由于流量保持在虚拟网络中,因此不需要其他防火墙规则。

同一虚拟网络中的 Azure VM 直接连接到 Azure Database for PostgreSQL 实例的屏幕截图。

网络步骤:

  1. 确保 VM 和 PostgreSQL 服务器位于同一虚拟网络中。
  2. 配置网络安全组规则,以允许 PostgreSQL 端口上的虚拟网络中的流量。

单一服务器(公共访问)到 VNet 集成的灵活服务器

若要推动实现具有公共访问权限的 Azure Database for PostgreSQL 单一服务器实例与 VNet 集成的灵活服务器之间的连接,请配置单一服务器以允许从部署灵活服务器的子网建立连接。

下文简要概述了设置此连接的步骤:

将 VNet 规则添加到单一服务器:

  1. 在 Azure 门户中,转到 Azure Database for PostgreSQL 单一服务器实例。

  2. 转到“连接安全性”设置。

  3. 在“虚拟网络规则”部分,选择“添加现有虚拟网络”。

    指定哪个虚拟网络可以连接到单一服务器。

    为单一服务器添加虚拟网络规则的屏幕截图。

配置规则设置:

  1. 在配置窗格中,输入新虚拟网络规则的名称。

  2. 选择灵活服务器所在的订阅。

  3. 选择虚拟网络以及与灵活服务器关联的特定子网。

  4. 选择“确定”以确认设置

    允许灵活服务器子网的屏幕截图。

完成这些步骤后,单一服务器会被设置为接受来自灵活服务器的子网的连接,从而在两个服务器之间实现安全通信。

单一服务器(专用终结点)到 VNet 集成的灵活服务器

若要推动实现从具有专用终结点的 Azure Database for PostgreSQL 单一服务器实例到 VNet 集成的灵活服务器的连接,请执行以下步骤:

获取专用终结点详细信息:

  1. 在 Azure 门户中,转到 Azure Database for PostgreSQL 单一服务器实例。 选择专用终结点以查看其虚拟网络和子网详细信息。

  2. 转到灵活服务器的“网络”窗格。 记下服务器的虚拟网络和子网信息。

    单一服务器的专用终结点连接的屏幕截图。

    屏幕截图显示单一服务器的专用终结点的虚拟网络和子网详细信息。

评估 VNet 对等互连要求:

如果两个服务器位于不同的 VNet 中,则必须启用虚拟网络对等互连,以连接虚拟网络。 如果服务器位于同一虚拟网络中,但在不同的子网中,则对等互连是可选的。 确保没有网络安全组阻止流量从灵活服务器发往单一服务器。

配置专用 DNS 区域:

  1. 转到灵活服务器的“网络”窗格,检查是否已配置专用 DNS 区域。 如果在使用专用 DNS 区域,请转到门户中的专用 DNS 区域。 在左窗格上,选择“虚拟网络链接”,检查单一服务器和灵活服务器的虚拟网络是否显示在此列表中

    链接到专用 DNS 区域的虚拟网络的屏幕截图。

    如果未使用专用 DNS 区域,请选择“添加”按钮,为单一服务器和灵活服务器的 VNet 创建指向此专用 DNS 区域的链接

  2. 转到单一服务器的专用终结点,然后选择“DNS 配置”窗格。 检查专用 DNS 区域是否已附加到此终结点。 如果未附加,请选择“添加配置”按钮,附加专用 DNS 区域

    屏幕截图显示与专用终结点配合使用的专用 DNS 区域。

  3. 选择单个服务器的专用终结点上的专用 DNS 区域。 检查单一服务器和灵活服务器的 VNet 是否显示在虚拟网络链接中。 如果未显示在其中,请完成前面描述的步骤,将单一服务器和灵活服务器的虚拟网络链接添加到此专用 DNS 区域。

  4. 若要进行最终检查,请转到单一服务器上的专用终结点的专用 DNS 区域,检查是否为单一服务器设置了一条指向专用 IP 地址的“A 记录”

    屏幕截图显示分配给专用终结点的专用 IP 地址。

完成这些步骤会使 Azure Database for PostgreSQL 灵活服务器实例能够连接到 Azure Database for PostgreSQL 单一服务器实例。

单一服务器(专用终结点)到灵活服务器(专用终结点)

本部分介绍从具有专用终结点的单一服务器迁移到 Azure Database for PostgreSQL 中具有专用终结点的灵活服务器的基本网络步骤。 它包括运行时服务器虚拟网络与专用终结点的集成。 有关详细信息,请参阅迁移运行时服务器

  • 收集单一服务器的专用终结点详细信息:

    1. 在 Azure 门户中,转到 Azure Database for PostgreSQL 单一服务器实例。
    2. 记录单一服务器的专用终结点连接下列出的虚拟网络和子网详细信息。

    具有 PE 的单一服务器的屏幕截图。

  • 收集灵活服务器的专用终结点详细信息:

    1. 在 Azure 门户中,转到 Azure Database for PostgreSQL 灵活服务器实例。
    2. 记录灵活服务器的专用终结点连接下列出的虚拟网络和子网详细信息。

    具有专用终结点的灵活服务器的屏幕截图。

  • 收集迁移运行时服务器的 VNet 详细信息:

    1. 在 Azure 门户中,转到迁移运行时服务器。 即转到 VNet 集成的 Azure Database for PostgreSQL 灵活服务器实例。
    2. 记录虚拟网络下列出的虚拟网络和子网详细信息。

    屏幕截图显示具有虚拟网络的迁移运行时服务器。

  • 评估 VNet 对等互连要求:

    1. 如果服务器位于不同的 VNet 中,则启用虚拟网络对等互连。 如果服务器位于同一虚拟网络中,但在不同的子网中,则不需要对等互连。
    2. 确保没有网络安全组阻止源服务器、迁移运行时服务器和目标服务器之间的流量。
  • 专用 DNS 区域配置:

    1. 转到灵活服务器的“网络”窗格,检查是否已配置专用 DNS 区域

    2. 如果在使用专用 DNS 区域,请转到门户中的专用 DNS 区域。 在左窗格上,选择“虚拟网络链接”,检查单一服务器和灵活服务器的虚拟网络是否显示在此列表中

      运行时服务器的专用 DNS 区域的屏幕截图。

    3. 将专用 DNS 区域附加到单一服务器的专用终结点(如果尚未对其进行配置):

      1. 将单一服务器和迁移运行时服务器的虚拟网络链接添加到专用 DNS 区域。
      2. 对灵活服务器的专用终结点重复 DNS 区域附件和虚拟网络链接过程。

      屏幕截图显示包含源服务器和目标服务器的专用 DNS 区域。

或者,当自定义 DNS 服务器或自定义 DNS 命名空间正在使用时,可以使用自定义 FQDN/IP 字段,而不是链接专用 DNS 区域。 借助此设置,可以直接解析 FQDN 或 IP,而无需专用 DNS 区域集成。

PostgreSQL 源(专用 IP)到灵活服务器(专用终结点)

本部分介绍将 PostgreSQL 数据库从基于云的 PostgreSQL 服务、本地设置或 VM(所有这些都有专用 IP 地址)迁移到使用专用终结点保护的 Azure Database for PostgreSQL 灵活服务器实例的网络步骤。 迁移可确保在专用网络空间中使用 Azure VPN 或 ExpressRoute 进行本地连接和虚拟网络对等互连或使用 VPN 进行云到云迁移的安全数据传输。 有关详细信息,请参阅迁移运行时服务器

  • 建立网络连接:

    1. 对于本地源,请设置站点到站点 VPN 或设置 ExpressRoute 以将本地网络连接到 Azure 的虚拟网络。
    2. 对于 Azure VM、Amazon 实例或 Google Compute Engine,请确保虚拟网络对等互连、VPN 网关或 ExpressRoute 实例已到位,以确保与 Azure 的虚拟网络建立安全连接。
  • 收集迁移运行时服务器的 VNet 详细信息:

    1. 在 Azure 门户中,转到迁移运行时服务器。 即转到 VNet 集成的 Azure Database for PostgreSQL 灵活服务器实例。
    2. 记录虚拟网络下列出的虚拟网络和子网详细信息。
  • 评估 VNet 对等互连要求:

    1. 如果服务器位于不同的 VNet 中,则启用虚拟网络对等互连。 如果服务器位于同一虚拟网络中,但在不同的子网中,则不需要对等互连。
    2. 确保没有网络安全组阻止源服务器、迁移运行时服务器和目标服务器之间的流量。
  • 专用 DNS 区域配置:

    1. 在迁移运行时服务器的“网络”窗格中,确认正在使用专用 DNS 区域。
    2. 确保源和目标灵活服务器的 VNet 都链接到迁移运行时服务器的专用 DNS 区域。
    3. 将专用 DNS 区域附加到灵活服务器的专用终结点(如果尚未对其进行配置)。
    4. 将灵活服务器和迁移运行时服务器的虚拟网络链接添加到专用 DNS 区域。

或者,当自定义 DNS 服务器或自定义 DNS 命名空间正在使用时,可以使用自定义 FQDN/IP 字段,而不是链接专用 DNS 区域。 借助此设置,可以直接解析 FQDN 或 IP,而无需专用 DNS 区域集成。