使用专用链接的 Azure Database for PostgreSQL 灵活服务器网络设置
使用 Azure 专用链接时,可以创建适用于 Azure Database for PostgreSQL - 灵活服务器的专用终结点,以将其引入虚拟网络中。 除目前已随 Azure Database for PostgreSQL - 灵活服务器正式发布的现有网络功能(通过虚拟网络集成提供)之外,还引入了该功能。
采用专用链接,虚拟网络与服务之间的流量将遍历 Microsoft 主干网络。 不再需要向公共 Internet 公开服务。 可以在虚拟网络中创建自己的专用链接服务,并将其交付给客户。 使用专用链接的设置和使用体验在 Azure PaaS、客户自有服务和共享合作伙伴服务中是一致的。
注意
专用链接仅适用于具有公共访问网络的服务器。 无法为进行专用访问的服务器(虚拟网络集成)创建该链接。
只能为专用链接功能发布后创建的服务器配置专用链接。 专用链接功能发布之前已存在的任何服务器都不能设置专用链接。
专用链接通过两种 Azure 资源类型向用户公开:
- 专用终结点 (Microsoft.Network/PrivateEndpoints)
- 专用链接服务 (Microsoft.Network/PrivateLinkServices)
专用终结点
专用终结点向资源添加网络接口,为其提供从虚拟网络分配的专用 IP 地址。 将其应用后,可以通过虚拟网络与该资源建立专用通信。 若要查看支持专用链接功能的 PaaS 服务列表,请查看“专用链接”文档。 专用终结点是特定虚拟网络和子网中的专用 IP 地址。
同一个公共服务实例可由不同虚拟网络或子网中的多个专用终结点引用,即使它们具有重叠的地址空间也是如此。
专用链接的主要优点
专用链接提供以下优势:
- Azure 平台上的专用访问服务:使用专用终结点将虚拟网络连接到可用作 Azure 中的应用程序组件的所有服务。 服务提供商可以在自己的虚拟网络中呈现其服务。 使用者可以在其本地虚拟网络中访问这些服务。 专用链接平台处理使用者与服务之间通过 Azure 主干网络进行的连接。
- 本地网络和对等互连的网络:使用专用终结点通过 Azure ExpressRoute 专用对等互连、虚拟专用网 (VPN) 隧道和对等互连的虚拟网络从本地访问 Azure 中运行的服务。 无需配置 ExpressRoute Microsoft 对等互连或遍历 Internet 即可访问服务。 专用链接可让客户安全地将工作负荷迁移到 Azure。
- 防范数据泄露:专用终结点映射到 PaaS 资源的某个实例,而不是映射到整个服务。 使用者只能连接到特定的资源。 对服务中任何其他资源的访问将遭到阻止。 此机制可以防范数据泄露风险。
- 区域市场宣传:以私密方式连接到在其他区域中运行的服务:使用者的虚拟网络可以位于区域 A。它可以连接到区域 B 中专用链接后面的服务。
将专用链接与 Azure Database for PostgreSQL - 灵活服务器配合使用的用例
客户端可以从以下位置连接到专用终结点:
- 相同的虚拟网络。
- 同一区域或跨区域的对等互连虚拟网络。
- 跨区域的网络到网络连接。
客户端还可以使用 ExpressRoute、专用对等互连或 VPN 隧道从本地进行连接。 以下简化示意图显示了常见用例。
将专用链接与 Azure Database for PostgreSQL - 灵活服务器配合使用时存在的限制和支持的功能
下面是 Azure Database for PostgreSQL - 灵活服务器中专用终结点的跨功能可用性对照表。
功能 | 可用性 | 备注 |
---|---|---|
高可用性 | 是 | 按符合设计的方式运作。 |
只读副本 | 是 | 按符合设计的方式运作。 |
使用虚拟终结点的只读副本 | 是 | 按符合设计的方式运作。 |
时间点还原 | 是 | 按符合设计的方式运作。 |
允许通过防火墙规则进行公共/Internet 访问 | 是 | 按符合设计的方式运作。 |
主版本升级 | 是 | 按符合设计的方式运作。 |
Microsoft Entra 身份验证 | 是 | 按符合设计的方式运作。 |
通过 PGBouncer 使用连接池 | 是 | 按符合设计的方式运作。 |
专用终结点 DNS | 是 | 按符合设计以及已记录的方式运作。 |
使用客户管理的密钥进行加密 | 是 | 按符合设计的方式运作。 |
从对等互联虚拟网络中的 Azure VM 进行连接
配置虚拟网络对等互连,以便从对等互连的虚拟网络中的 Azure 虚拟机 (VM) 建立与 Azure Database for PostgreSQL - 灵活服务器的连接。
从网络到网络环境中的 Azure VM 进行连接
配置网络到网络 VPN 网关连接,以便从另一区域或订阅中的 Azure VM 与 Azure Database for PostgreSQL 灵活服务器实例建立连接。
通过 VPN 从本地环境进行连接
若要建立从本地环境到 Azure Database for PostgreSQL 灵活服务器的连接,请选择并实施以下选项之一:
网络安全和专用链接
使用专用终结点时,流量将受到保护,只能发送到专用链接资源。 平台会验证网络连接,仅允许那些到达指定的专用链接资源的连接。 要访问同一 Azure 服务中的其他子资源,需要更多具有相应目标的专用终结点。 例如,对于 Azure 存储,需要单独的专用终结点来访问文件和 blob 子资源。
专用终结点为 Azure 服务提供了可访问的专用 IP 地址,但不一定会限制公共网络对它的访问。 但所有其他 Azure 服务都需要额外的访问控制。 这些控制为资源提供了一个额外的网络安全层,提供保护以帮助防止访问与专用链接资源关联的 Azure 服务。
专用终结点支持网络策略。 网络策略启用了对网络安全组 (NSG)、用户定义的路由 (UDR) 的支持。 有关为专用终结点启用网络策略的详细信息,请参阅管理专用终结点的网络策略。
专用链接和 DNS
使用专用终结点时,需要连接到同一 Azure 服务,但使用的是专用终结点 IP 地址。 要建立密切的终结点连接,需要完成单独的域名系统 (DNS) 设置才能将专用 IP 地址解析为资源名称。
专用 DNS 区域在没有自定义 DNS 解决方案的情况下在虚拟网络中提供域名解析。 将专用 DNS 区域链接到每个虚拟网络,以便向该网络提供 DNS 服务。
专用 DNS 区域为每个 Azure 服务提供单独的 DNS 区域名称。 例如,如果在上一个映像中为存储帐户 Blob 服务配置了专用 DNS 区域,则 DNS 区域名称为 privatelink.blob.core.chinacloudapi.cn
。 查看 Azure 文档,以了解所有 Azure 服务专用 DNS 区域名称的更多信息。
注意
仅当使用下表中建议的命名方案时,专用终结点专用 DNS 区域配置才会自动生成:privatelink.postgres.database.chinacloudapi.cn
。
在新预配的公共访问(注入的非虚拟网络)服务器上,DNS 布局将发生更改。 服务器的 FQDN 现在将以 servername.postgres.database.chinacloudapi.cn
格式成为 CName 记录,该记录将指向以下格式之一的 A 记录:
- 如果服务器具有链接了默认专用 DNS 区域的专用终结点,则 A 记录将采用此格式:
server_name.privatelink.postgres.database.chinacloudapi.cn
。 - 如果服务器没有专用终结点,则 A 记录将采用此格式:
server_name.rs-<15 semi-random bytes>.postgres.database.chinacloudapi.cn
。
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 集成
专用 DNS 区域通常集中托管在部署中心虚拟网络的同一 Azure 订阅中。 这种集中托管做法是由跨界 DNS 名称解析以及中心 DNS 解析的其他需求(如 Microsoft Entra)驱动的。 在大多数情况下,只有网络和标识管理员有权管理区域中的 DNS 记录。
在这种体系结构中,配置了以下组件:
- 本地 DNS 服务器为每个专用终结点公共 DNS 区域配置了条件转发器,这些转发器指向托管在中心虚拟网络中的专用 DNS 解析程序。
- 托管在中心虚拟网络中的专用 DNS 解析程序使用 Azure 提供的 DNS (168.63.129.16) 作为转发器。
- 中心虚拟网络必须链接到 Azure 服务的专用 DNS 区域名称(例如对于 Azure Database for PostgreSQL 灵活服务器,为
privatelink.postgres.database.chinacloudapi.cn
)。 - 所有 Azure 虚拟网络都使用中心虚拟网络中托管的专用 DNS 解析程序。
- 专用 DNS 解析程序对于客户的企业域并没有权威性,因为它只是一个转发器(例如 Microsoft Entra 域名),因此它应该具有指向客户企业域的出站终结点转发器,并指向本地 DNS 服务器或部署在 Azure 中且对此类区域具有权威性的 DNS 服务器。
专用链接和网络安全组
默认情况下,虚拟网络中的子网禁用网络策略。 若要利用 UDR 和 NSG 支持等网络策略,必须为子网启用网络策略支持。 此设置仅适用于子网中的专用终结点。 此设置会影响子网中的所有专用终结点。 对于子网中的其他资源,将根据 NSG 中的安全规则控制访问。
只能为 NSG、UDR 或两者启用网络策略。 有关详细信息,请参阅管理专用终结点的网络策略。
什么是专用终结点?中列出了 NSG 和专用终结点的限制。
重要
防范数据泄露:专用终结点映射到 PaaS 资源的某个实例,而不是映射到整个服务。 使用者只能连接到特定的资源。 对服务中任何其他资源的访问将遭到阻止。 此机制提供对数据泄露风险的基础防范。
将专用链接与防火墙规则结合使用
将专用链接与防火墙规则结合使用时,可能会出现以下情况和结果:
如果不配置任何防火墙规则,则默认情况下,流量无法访问 Azure Database for PostgreSQL 灵活服务器。
如果配置公共流量或服务终结点并创建专用终结点,则不同类型的传入流量将由相应类型的防火墙规则授权。
如果在不配置任何公共流量或服务终结点的情况下创建专用终结点,则只能通过专用终结点访问 Azure Database for PostgreSQL 灵活服务器。 如果不配置公共流量或服务终结点,则在拒绝或删除所有已批准的专用终结点后,任何流量都无法访问 Azure Database for PostgreSQL 灵活服务器。
排查基于专用终结点的网络的连接问题
如果在使用基于专用终结点的网络时遇到连接问题,请检查以下方面:
- 验证 IP 地址分配:检查专用终结点是否分配了正确的 IP 地址,并且不与其他资源冲突。 有关专用终结点和 IP 的详细信息,请参阅管理 Azure 专用终结点。
- 检查 NSG:查看专用终结点子网的 NSG 规则,以确保允许必要的流量,并且不存在冲突的规则。 有关 NSG 的详细信息,请参阅网络安全组。
- 验证路由表配置:确保路由表与专用终结点子网关联,并且连接的资源已正确配置相应的路由。
- 使用网络监视和诊断:使用 Azure 网络观察程序通过连接监视器或数据包捕获等工具来监视和诊断网络流量。 有关网络诊断的详细信息,请参阅 Azure 网络观察程序是什么?。
有关排查专用终结点问题的详细信息,另请参阅排查 Azure 专用终结点连接问题。
排查基于专用终结点的网络的 DNS 解析问题
如果在使用基于专用终结点的网络时遇到 DNS 解析问题,请检查以下方面:
- 验证 DNS 解析:检查专用终结点使用的 DNS 服务器或服务以及连接的资源是否正常运行。 确保专用终结点的 DNS 设置准确。 有关专用终结点和 DNS 区域设置的详细信息,请参阅 Azure 专用终结点的专用 DNS 区域值。
- 清除 DNS 缓存:清除专用终结点或客户端计算机上的 DNS 缓存,以确保检索到最新的 DNS 信息并避免不一致错误。
- 分析 DNS 日志:查看 DNS 日志中是否有错误消息或异常模式,例如 DNS 查询失败、服务器错误或超时。 有关 DNS 指标的详细信息,请参阅 Azure DNS 指标和警报。
相关内容
了解如何在 Azure 门户或 Azure CLI 中使用专用访问(VNet 集成)选项创建 Azure Database for PostgreSQL 灵活服务器。