Azure 专用链接使你可以为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 灵活服务器中专用终结点的跨功能可用性矩阵。
| 功能 / 特点 | 可用性 | 注释 |
|---|---|---|
| 高可用性 | 是的 | 按设计运作。 |
| 只读副本 | 是的 | 按设计运作。 |
| 具有虚拟终结点的只读副本 | 是的 | 按设计运作。 |
| 时间点还原 | 是的 | 按设计运作。 |
| 允许通过防火墙规则来实现公共和互联网访问 | 是的 | 按设计运作。 |
| 主要版本升级 | 是的 | 按设计运作。 |
| Microsoft Entra 身份验证 | 是的 | 按设计运作。 |
| 包含 PGBouncer 的连接池 | 是的 | 按设计运作。 |
| 专用终结点 DNS | 是的 | 按设计和记录的方式运作。 |
| 使用客户管理的密钥进行加密 | 是的 | 按设计运作。 |
只能在Azure Database for PostgreSQL引入对专用链接的支持后创建的服务器配置专用终结点。 必须将网络模式配置为不使用虚拟网络集成,而是公共访问。
如果将网络模式配置为不使用虚拟网络集成,但公共访问,则无法为在该日期之前创建的服务器配置专用终结点。 虚拟网络集成创建的服务器上当前不支持使用专用终结点。
从对等互联虚拟网络中的 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 现在成为一个 CNAME 记录,以 servername.postgres.database.chinacloudapi.cn 的形式,指向以下格式之一的 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 集成
通常,在部署中心虚拟网络的同一Azure订阅中集中托管专用 DNS 区域。 这种集中托管做法是由跨环境 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灵活服务器。
疑难解答
将专用链接终结点与Azure Database for PostgreSQL灵活服务器一起使用时,由于配置错误或网络约束,可能会出现连接问题。 若要排查这些问题,请验证专用终结点、DNS 配置、网络安全组(NSG)和路由表的设置。 系统地解决这些问题有助于识别和解决常见问题,确保无缝连接和安全访问数据库。
基于专用终结点的网络的连接问题
如果在使用基于专用终结点的网络时遇到连接问题,请检查以下方面:
- 验证 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指标和警报。
限制和注意事项
您只能为在引入专用链接功能之后创建的服务器配置专用终结点。 使用虚拟网络(VNet)集成的服务器不符合专用终结点配置的条件。
Azure网络约束,而不是数据库服务本身,会限制专用终结点的数量。 具体而言,它们限制可注入到 VNet 的给定子网中的专用终结点数量。
虚拟机可以通过专用终结点连接到数据库,前提是它们已在同一虚拟网络中正确配置,或者已配置适当的路由。
相关内容
- Azure 门户
- Azure CLI