有关 Azure Database for PostgreSQL 中的迁移服务的网络指南

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

本文档概述了使用迁移服务将源数据库连接到 Azure Database for PostgreSQL 的各种场景。 每个场景提出了建立成功的迁移连接需要的不同网络要求和配置。 具体细节因实际网络设置以及源和目标环境的要求而异。

该表总结了使用迁移服务将源数据库连接到 Azure Database for PostgreSQL 的场景。 该表基于源环境和目标环境的配置指示了是否支持各个场景。

PostgreSQL 源 目标 支持
具有公共 IP 的本地部署 具有公共访问权限的 Azure Database for PostgreSQL 灵活服务器
通过 VPN/ExpressRoute 且具有专用 IP 的本地数据库 VNet 集成的 Azure Database for PostgreSQL 灵活服务器
具有公共 IP 的 Amazon RDS for PostgreSQL/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 灵活服务器

场景 1:本地源通过公共访问连接到 Azure Database for PostgreSQL

网络步骤:

  • 源数据库服务器必须具有公共 IP 地址。
  • 配置防火墙以允许 PostgreSQL 端口(默认为 5432)上的出站连接。
  • 确保可通过 Internet 访问源数据库服务器。
  • 通过测试从目标 Azure Database for PostgreSQL 到源数据库的连接来验证网络配置,从而确认迁移服务可以访问源数据。

场景 2:专用 IP 本地源通过 Express Route/IPSec VPN 连接到虚拟网络集成的 Azure Database for PostgreSQL

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

网络步骤:

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

场景 3:托管 PostgreSQL 服务 (AWS/GCP) 连接到 Azure Database for PostgreSQL

通过互联网或专用方法连接到 Azure Database for PostgreSQL 的托管服务(AWS、GCP 等)中的 PostgreSQL 数据库的屏幕截图。

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

网络步骤:

  • 公共访问:

    • 如果 AWS、GCP 或其他托管 PostgreSQL 服务中的 PostgreSQL 实例不可公开访问,请修改该实例以允许来自 Azure 的连接。 此操作可以通过在相应的云提供商控制台(例如 AWS 管理控制台、GCP 控制台)中将“可公开访问”设置更改为“是”来完成。
    • 在云提供商的安全设置(例如 AWS 中的安全组或 GCP 中的防火墙规则)中添加入站规则,以允许来自 Azure Database for PostgreSQL 的公共 IP 地址/域的流量。
  • 专用访问

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

场景 4:Azure VM 连接到 Azure Database for PostgreSQL(不同虚拟网络)

此场景描述 Azure VM 与位于不同虚拟网络中的 Azure Database for PostgreSQL 之间的连接。 需要虚拟网络对等互连和适当的 NSG 规则来促进 VNet 之间的流量。

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

网络步骤:

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

场景 5:Azure VM 连接到 Azure PostgreSQL(同一虚拟网络)

当 Azure VM 与 Azure Database for PostgreSQL 位于同一虚拟网络中时,配置非常简单。 NSG 规则应设置为允许 PostgreSQL 端口上的内部流量,且 Azure Database for PostgreSQL 不需要额外的防火墙规则,因为流量保留在 VNet 中。

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

网络步骤:

  • 确保 VM 和 PostgreSQL 服务器位于同一虚拟网络中。
  • 配置 NSG 规则,以允许 PostgreSQL 端口上的虚拟网络中的流量。
  • 由于流量在虚拟网络内,因此 Azure Database for PostgreSQL 不需要其他防火墙规则。

场景 6:Azure Database for PostgreSQL 单一服务器到 VNet 集成的 Azure Database for PostgreSQL 灵活服务器

若要推动实现具有公共访问权限的 Azure Database for PostgreSQL 单一服务器与 Vnet 集成的灵活服务器之间的连接,需要配置单一服务器以允许从部署灵活服务器的子网建立连接。 下文简要概述了设置此连接的步骤:

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

  • 导航到 Azure 门户并打开 PostgreSQL 单一服务器实例。

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

  • 找到“虚拟网络规则”部分,然后选择“添加现有虚拟网络”。

  • 此操作将允许指定哪些虚拟网络可以连接到单一服务器。

    在单个服务器中添加虚拟网络规则的屏幕截图。

配置规则设置:

  • 在显示的配置面板中输入新虚拟网络规则的名称。

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

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

  • 通过选择“确定”确认设置。

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

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

场景 7:具有专用终结点的 Azure Database for PostgreSQL 单一服务器到 VNet 集成的 Azure Database for PostgreSQL 灵活服务器

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

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

  • 在 Azure 门户中,导航到单一服务器实例,然后选择相应专用终结点以查看其虚拟网络和子网详细信息。

  • 访问灵活服务器的“网络”页面,以记下其虚拟网络和子网信息。

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

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

评估 VNet 对等互连要求

  • 如果两者位于不同的 VNet 中,则需要启用虚拟网络对等互连,以便将一个虚拟网络连接到另一个虚拟网络。 如果对等互连位于同一虚拟网络中,但在不同的子网中,则其对等互连是可选的。 确保没有网络安全组 (NSG) 阻止流量从灵活服务器发往单一服务器。

专用 DNS 区域配置

  • 转到灵活服务器上的“网络”页面,检查是否正在使用专用 DNS 区域。 如果是,请在门户中打开此专用 DNS 区域。 在左窗格中,选择“虚拟网络链接”,检查是否已将单一服务器和灵活服务器的虚拟网络添加到此列表中。

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

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

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

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

  • 选择单一服务器专用终结点上的专用 DNS 区域,检查是否已将单一服务器和灵活服务器的 Vnet 添加到“虚拟网络链接”中。 如果未添加,请按照上一步骤中提到的步骤进行操作,将指向单一服务器和灵活服务器的虚拟网络的链接添加到此专用 DNS 区域中。

  • 最终检查是转到单一服务器上的专用终结点的专用 DNS 区域,检查单一服务器是否存在指向专用 IP 地址的一条“A 记录”

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

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

场景 8:具有专用终结点的 Azure Database for PostgreSQL 单一服务器到具有专用终结点的 Azure Database for PostgreSQL 灵活服务器

下面是从具有专用终结点的单一服务器迁移到 Azure PostgreSQL 中具有专用终结点的灵活服务器的基本网络步骤,包括将运行时服务器的虚拟网络与专用终结点配置的集成。 有关运行时服务器的详细信息,请访问迁移运行时服务器

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

    • 访问 Azure 门户并找到 Azure Database for PostgreSQL - 单一服务器实例。
    • 记录单一服务器的专用终结点连接下列出的虚拟网络(虚拟网络)和子网详细信息。

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

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

    • 访问 Azure 门户并找到 Azure Database for PostgreSQL - 灵活服务器实例。
    • 记录灵活服务器的专用终结点连接下列出的虚拟网络(虚拟网络)和子网详细信息。

    具有 PE 的灵活服务器的屏幕截图。

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

    • 访问 Azure 门户并找到迁移运行时服务器,即 Azure Database for PostgreSQL 灵活服务器(VNET 集成)实例。
    • 记录虚拟网络下列出的虚拟网络(虚拟网络)和子网详细信息。

    包含虚拟网络的迁移运行时服务器的屏幕截图。

  • 评估 VNet 对等互连要求

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

    • 验证是否在迁移运行时服务器的网络页上使用了专用 DNS 区域。
    • 确保源 Azure Database for PostgreSQL - 单一服务器和目标 Azure Database for PostgreSQL - 灵活服务器 VNet 均链接到迁移运行时服务器的专用 DNS 区域

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

    • 如果尚未配置,则将专用 DNS 区域附加到单一服务器的专用终结点。
    • 将单一服务器和迁移运行时服务器的虚拟网络链接添加到专用 DNS 区域。
    • 对灵活服务器的专用终结点重复 DNS 区域附件和虚拟网络链接过程。

    源/目标服务器的专用 DNS 区域的屏幕截图。

应用场景 9:具有专用 IP 的 PostgreSQL 源连接到具有专用终结点的 Azure Database for PostgreSQL 灵活服务器

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

  • 建立网络连接

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

    • 访问 Azure 门户并找到迁移运行时服务器,即 Azure Database for PostgreSQL 灵活服务器(VNET 集成)实例。
    • 记录虚拟网络下列出的虚拟网络(虚拟网络)和子网详细信息。
  • 评估 VNet 对等互连要求

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

    • 验证是否在迁移运行时服务器的网络页上使用了专用 DNS 区域。
    • 确保源和目标 Azure Database for PostgreSQL - 灵活服务器 VNet 均链接到迁移运行时服务器的专用 DNS 区域。
    • 如果尚未配置,则将专用 DNS 区域附加到灵活服务器的专用终结点。
    • 将灵活服务器和迁移运行时服务器的虚拟网络链接添加到专用 DNS 区域。

用于进行网络设置的资源