你当前正在访问 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/ExpressRoute 且具有专用 IP 的本地数据库 VNet 集成的 Azure Database for PostgreSQL 灵活服务器
具有公共 IP 的 AWS RDS for PostgreSQL 具有公共访问权限的 Azure Database for PostgreSQL 灵活服务器
通过 VPN/ExpressRoute 且具有专用访问权限的 AWS RDS for PostgreSQL VNet 集成的 Azure Database for PostgreSQL 灵活服务器
安装了 PostgreSQL 的 Azure VM(位于相同/不同的 VNet 中) VNet 集成的 Azure Database for PostgreSQL 灵活服务器(位于相同/不同的 VNet 中)
具有公共访问权限的 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 灵活服务器 已在未来版本中规划
具有专用访问权限的本地部署/Azure VM/AWS 具有专用终结点的 Azure Database for PostgreSQL 灵活服务器 已在未来版本中规划
具有专用访问权限的本地部署/Azure VM/AWS 具有公共访问权限的 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:AWS RDS for PostgreSQL 连接到 Azure Database for PostgreSQL

AWS RDS for PostgreSQL 通过 Internet 或直接连接服务(如 Express Route 或 AWS Direct Connect)连接到 Azure Database for PostgreSQL 的屏幕截图。

另一个云提供商 (AWS) 中的源数据库必须具有公共 IP 或直接连接到 Azure。

网络步骤:

  • 公共访问:

    • 如果 AWS RDS 实例不可公开访问,则可以修改该实例以允许来自 Azure 的连接。 这可以通过 AWS 管理控制台来完成,方法是将“可公开访问”设置更改为“是”。
    • 在 AWS RDS 安全组中添加一条入站规则,以允许来自 Azure Database for PostgreSQL 的公共 IP 地址/域的流量。
  • 专用访问

    • 使用 Express Route 或 VPN 建立从 AWS 到 Azure 的安全连接。
    • 在 AWS RDS 安全组中添加一条入站规则,以允许来自 Azure Database for PostgreSQL 的公共 IP 地址/域或 PostgreSQL 端口(默认为 5432)上的 Azure 虚拟网络中的 IP 地址范围的流量。
    • 创建 Azure Database for PostgreSQL 所在的 Azure 虚拟网络。 配置虚拟网络的网络安全组 (NSG),允许到 PostgreSQL 端口上的 AWS RDS 实例的 IP 地址的出站连接。
    • 在 Azure 中设置 NSG 规则,以允许来自云提供商 AWS RDS IP 范围的传入连接。
    • 测试 AWS RDS 与 Azure Database for 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 单一服务器实例。

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

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

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

    在单一服务器中添加 vnet 规则的屏幕截图。

配置规则设置:

  • 在显示的配置面板中,为这一新的 VNet 规则输入一个名称。

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

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

  • 单击“确定”以确认这些设置。

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

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

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

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

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

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

  • 访问灵活服务器的“网络”边栏选项卡,以记下其 VNet 和子网信息。

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

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

评估 VNet 对等互连要求

  • 如果两个服务器位于不同的 VNet 中,则需要启用 VNet 对等互连以建立从一个 Vnet 到另一个 Vnet 的连接。 如果两个服务器位于同一 VNet 的不同子网中,则不需要对等互连。 请确保没有网络安全组 (NSG) 阻止流量从灵活服务器发往单一服务器。

专用 DNS 区域配置

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

    链接到专用 DNS 区域的 vnet 的屏幕截图。

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

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

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

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

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

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

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

网络设置资源