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

使用专用链接的 Azure Database for PostgreSQL 灵活服务器网络设置

使用 Azure 专用链接时,可以创建适用于 Azure Database for PostgreSQL 灵活服务器的专用终结点,以将其引入虚拟网络中。 除已随 Azure Database for PostgreSQL 灵活服务器正式发布的现有网络功能(由 VNET 集成提供)之外,还引入了该功能。 采用专用链接,虚拟网络与服务之间的流量将遍历 Microsoft 主干网络。 不再需要向公共 Internet 公开服务。 可以在虚拟网络中创建自己的专用链接服务,并将其交付给客户。 使用 Azure 专用链接的设置和使用体验在 Azure PaaS、客户自有服务和共享合作伙伴服务中是一致的。

专用链接通过两种 Azure 资源类型向用户公开:

  • 专用终结点 (Microsoft.Network/PrivateEndpoints)
  • 专用链接服务 (Microsoft.Network/PrivateLinkServices)

专用终结点

专用终结点向资源添加网络接口,为其提供从 VNET(虚拟网络)分配的专用 IP 地址。 应用后,可以通过虚拟网络 (VNET) 与该资源建立专用通信。 若要查看支持专用链接功能的 PaaS 服务列表,请查看“专用链接”文档。 专用终结点是特定 VNet 和子网中的专用 IP 地址

同一个公共服务实例可由不同 VNet/子网中的多个专用终结点引用,即使它们具有重叠的地址空间也是如此。

Azure 专用链接提供以下优势

  • Azure 平台上的专用访问服务:使用专用终结点将虚拟网络连接到可用作 Azure 中的应用程序组件的所有服务。 服务提供商可在自己的虚拟网络中呈现其服务,而使用者可在其本地虚拟网络中访问这些服务。 专用链接平台处理使用者与服务之间通过 Azure 主干网络进行的连接。

  • 本地网络和对等互连的网络:使用专用终结点通过 ExpressRoute 专用对等互连、VPN 隧道和对等互连的虚拟网络从本地访问 Azure 中运行的服务。 无需配置 ExpressRoute Microsoft 对等互连或遍历 Internet 即可访问服务。 专用链接可让客户安全地将工作负荷迁移到 Azure。

  • 防范数据泄露:专用终结点映射到 PaaS 资源的某个实例,而不是映射到整个服务。 使用者只能连接到特定的资源。 对服务中任何其他资源的访问将遭到阻止。 此机制可以防范数据泄露风险。

  • 全球覆盖:以私密方式连接到在其他区域中运行的服务。 使用者的虚拟网络可以位于区域 A,而且可以连接到区域 B 中专用链接后面的服务。

客户端可以通过以下方式连接到专用终结点:同一 VNet;同一区域中或跨区域的对等互连 VNet;或者跨区域的 VNet 到 VNet 连接。 此外,客户端可以使用 ExpressRoute、专用对等互连或 VPN 隧道从本地进行连接。 以下简化示意图显示了常见用例。

显示 Azure 专用链接如何与专用终结点配合使用的关系图。

Azure Database for PostgreSQL 灵活服务器中专用终结点的跨功能可用性对照表。

功能 可用性 说明
高可用性 (HA) 按符合设计的方式运作
只读副本 按符合设计的方式运作
使用虚拟终结点的只读副本 按符合设计的方式运作
时间点还原 (PITR) 按符合设计的方式运作
允许通过防火墙规则进行公共/Internet 访问 按符合设计的方式运作
主版本升级(MVU) 按符合设计的方式运作
Microsoft Entra 身份验证(Entra Auth) 按符合设计的方式运作
通过 PGBouncer 使用连接池 按符合设计的方式运作
专用终结点 DNS 按符合设计以及已记录的方式运作
使用客户管理的密钥 (CMK) 进行加密 按符合设计的方式运作

从对等互联虚拟网络中的 Azure VM 进行连接

配置虚拟网络对等互连,以便从对等互连的虚拟网络中的 Azure VM 建立与 Azure Database for PostgreSQL 灵活服务器的连接。

从 VNet 到 VNet 环境中的 Azure VM 进行连接

配置 VNet 到 VNet VPN 网关连接,以便从另一区域或订阅中的 Azure VM 与 Azure Database for PostgreSQL 灵活服务器实例建立连接。

通过 VPN 从本地环境进行连接

若要建立从本地环境到 Azure Database for PostgreSQL 灵活服务器实例的连接,请选择并实施以下选项之一:

使用专用终结点时,流量将受到保护,只能发送到专用链接资源。 平台会验证网络连接,仅允许那些到达指定的专用链接资源的连接。 要访问同一 Azure 服务中的其他子资源,需要更多具有相应目标的专用终结点。 例如,对于 Azure 存储,需要单独的专用终结点来访问文件和 blob 子资源。

专用终结点为 Azure 服务提供了可访问的专用 IP 地址,但不一定会限制公共网络对它的访问。 但所有其他 Azure 服务都需要额外的访问控制。 这些控制为资源提供了一个额外的网络安全层,提供保护以帮助防止访问与专用链接资源关联的 Azure 服务。

专用终结点支持网络策略。 网络策略启用对网络安全组 (NSG)、用户定义的路由 (UDR) 和应用程序安全组 (ASG) 的支持。 有关为专用终结点启用网络策略的详细信息,请参阅管理专用终结点的网络策略。 若要将 ASG 与专用终结点配合使用,请参阅使用专用终结点配置应用程序安全组 (ASG)

使用专用终结点时,需要连接到同一 Azure 服务,但使用的是专用终结点 IP 地址。 要建立密切的终结点连接,需要完成单独的域名系统 (DNS) 设置才能将专用 IP 地址解析为资源名称专用 DNS 区域在没有自定义 DNS 解决方案的情况下在虚拟网络中提供域名解析。 将专用 DNS 区域链接到每个虚拟网络,以便向该网络提供 DNS 服务

专用 DNS 区域为每个 Azure 服务提供单独的 DNS 区域名称。 例如,如果为上图中的存储帐户 Blob 服务配置了专用 DNS 区域,则 DNS 区域名称为“privatelink.blob.core.windows.net”。 请查看此处的 Microsoft 文档,详细查看所有 Azure 服务的专用 DNS 区域名称。

注意

只有在使用建议的命名方案 (privatelink.postgres.database.azure.com) 时,才会自动生成专用终结点专用 DNS 区域配置。在新预配的公共访问(非 VNET 注入)服务器上,存在临时 DNS 布局更改。 服务器的 FQDN 现在为 CName,解析为 A 记录,格式为 servername.privatelink.postgres.database.azure.com。 在不久的将来,仅当在服务器上创建专用终结点时,此格式才适用。

Azure 和本地资源的混合 DNS

域名系统 (DNS) 是整个登陆区域体系结构中的关键设计主题。 有些组织可能希望使用其在 DNS 方面的现有投资,而有些组织则可能希望采用本机 Azure 功能来满足其所有 DNS 需求。 可以将 Azure DNS 专用解析程序服务与 Azure 专用 DNS 区域配合使用来进行跨界名称解析。 DNS 专用解析程序可以将 DNS 请求转发到另一个 DNS 服务器,并提供可供外部 DNS 服务器转发请求的 IP 地址。 因此,外部本地 DNS 服务器能够解析位于专用 DNS 区域中的名称。

有关配合使用专用 DNS 解析器和本地 DNS 转发器将 DNS 流量转发到 Azure DNS 的详细信息,请参阅此文档以及此文档。 所述的解决方案允许扩展已有 DNS 解决方案的本地网络来解析 Azure 中的资源。 Microsoft 体系结构。

专用 DNS 区域通常集中托管在部署中心 VNet 的同一个 Azure 订阅中。 这种集中托管做法是由跨界 DNS 名称解析以及中心 DNS 解析的其他需求(如 Active Directory)驱动的。 在大多数情况下,只有网络和标识管理员有权管理区域中的 DNS 记录。

在此类体系结构中,会配置以下设置:

  • 本地 DNS 服务器为每个专用终结点公共 DNS 区域配置了条件转发器,这些转发器指向托管在中心 VNet 中的专用 DNS 解析程序。
  • 托管在中心 VNet 中的专用 DNS 解析程序使用 Azure 提供的 DNS (168.63.129.16) 作为转发器。
  • 中心 VNet 必须链接到 Azure 服务的专用 DNS 区域名称(例如,对于 Azure Database for PostgreSQL 灵活服务器,名称为 privatelink.postgres.database.azure.com)
  • 所有 Azure VNet 都使用中心 VNet 中托管的专用 DNS 解析程序。
  • 由于专用 DNS 解析程序对于客户的企业域并没有权威性,它只是一个转发器(例如 Active Directory 域名),因此它应该具有指向客户企业域的出站终结点转发器,并指向本地 DNS 服务器或部署在 Azure 中且对此类区域具有权威性的 DNS 服务器。

默认情况下,虚拟网络中的子网禁用网络策略。 要利用由用户定义的路由和网络安全组支持等网络策略,必须为子网启用网络策略支持。 此设置仅适用于子网中的专用终结点。 此设置会影响子网中的所有专用终结点。 对于子网中的其他资源,将根据网络安全组的安全规则控制访问。

只能为网络安全组或用户定义的路由启用网络策略,或者同时为两者启用网络策略。 有关详细信息,请参阅 Azure 文档

此处列出了网络安全组 (NSG) 和专用终结点的限制

重要

防范数据泄露:专用终结点映射到 PaaS 资源的某个实例,而不是映射到整个服务。 使用者只能连接到特定的资源。 对服务中任何其他资源的访问将遭到阻止。 此机制提供对数据泄露风险的基础防范。

将专用链接与防火墙规则结合使用时,可能会出现以下情况和结果:

  • 如果不配置任何防火墙规则,则默认情况下,任何流量都将无法访问 Azure Database for PostgreSQL 灵活服务器实例。

  • 如果配置公共流量或服务终结点并创建专用终结点,则不同类型的传入流量将由相应类型的防火墙规则授权。

  • 如果在不配置任何公共流量或服务终结点的情况下创建专用终结点,则只能通过专用终结点访问 Azure Database for PostgreSQL 灵活服务器实例。 如果不配置公共流量或服务终结点,则在拒绝或删除所有已批准的专用终结点后,任何流量都无法访问 Azure Database for PostgreSQL 灵活服务器实例。

排查基于专用终结点的网络的连接问题

下面是检查使用基于专用终结点的网络是否遇到连接问题的基本方面:

  1. 验证 IP 地址分配:检查专用终结点是否分配了正确的 IP 地址,并且不与其他资源冲突。 有关专用终结点和 IP 的详细信息,请参阅此文档
  2. 检查网络安全组 (NSG):查看专用终结点子网的 NSG 规则,以确保允许必要的流量,并且不存在冲突的规则。 有关 NSG 的详细信息,请参阅此文档
  3. 验证路由表配置:确保路由表与专用终结点子网关联,并且连接的资源已正确配置相应的路由。
  4. 使用网络监视和诊断:利用 Azure 网络观察程序通过连接监视器或数据包捕获等工具来监视和诊断网络流量。 有关网络诊断的详细信息,请参阅此文档

指南中还提供了有关专用故障排除的更多详细信息

排查基于专用终结点的网络的 DNS 解析问题

以下是检查使用基于专用终结点的网络是否遇到 DNS 解析问题的基本方面:

  1. 验证 DNS 解析:检查专用终结点使用的 DNS 服务器或服务以及连接的资源是否正常运行。 确保专用终结点的 DNS 设置准确。 有关专用终结点和 DNS 区域设置的详细信息,请参阅此文档
  2. 清除 DNS 缓存:清除专用终结点或客户端计算机上的 DNS 缓存,以确保检索到最新的 DNS 信息并避免不一致错误。
  3. 分析 DNS 日志:查看 DNS 日志中是否有错误消息或异常模式,例如 DNS 查询失败、服务器错误或超时。 有关 DNS 指标的详细信息,请参阅此文档

后续步骤

  • 了解如何在 Azure 门户Azure CLI 中使用专用访问(VNet 集成)选项创建 Azure Database for PostgreSQL 灵活服务器实例。