Compartilhar via

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

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

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

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

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

网络步骤:

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

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

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

网络步骤:

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

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

一张 PostgreSQL 数据库(例如,从 Amazon 或 Google)的截图,通过互联网或私有方法连接到 Azure Database for 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 地址或域的流量。
  • Private access

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

Azure VM(私有访问)到 Azure Database for PostgreSQL(不同虚拟网络)

此方案描述Azure Virtual Machines实例与位于不同虚拟网络中的Azure Database for PostgreSQL灵活服务器之间的连接。 虚拟网络对等互联和合适的网络安全组规则是实现 VNet 间流量所必需的。

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

网络步骤:

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

Azure 虚拟机连接到 Azure Database for PostgreSQL(同一虚拟网络)

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

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

网络步骤:

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

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

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

  • 建立网络连接:

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

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

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

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

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