本文介绍如何通过专用网络连接而不是公共 Internet 连接到 Azure 平台即服务(PaaS)资源。 了解服务终结点、专用终结点和专用链接之间的差异,以便可以选择符合安全性和连接要求的方法。
本文介绍的内容
专用 PaaS 访问可将公共互联网从 Azure 虚拟网络与 Azure PaaS 服务(如 Azure 存储、Azure SQL 数据库 和 Azure 密钥保管库)之间的数据路径中移除。 本文介绍连接选项及其权衡,以及如何确定用于每个工作负荷的方法。
注释
专用终结点需要 DNS 集成才能将服务 FQDN 解析为专用 IP 地址。 本文介绍内联 DNS 要求,但对于完整的 DNS 体系结构,包括混合转发、Azure DNS专用解析程序以及 DNS 安全性,请参阅 DNS 安全性和专用名称解析。
谁需要本文
如果满足以下一个或多个条件,请阅读本文:
- 你的工作负载必须通过专用网络路径访问 Azure PaaS 服务,而不是通过公共终结点。
- 需要根据安全性、成本和可管理性在服务终结点和专用终结点之间做出决定。
- 需要限制对特定 PaaS 资源的访问,以减少数据外泄风险。
- 需要规划专用 PaaS 连接的 DNS、子网容量或混合可访问性。
Tip
按照场景路径操作? 在页面顶部选择你的方案,以获取定制指南。 以下核心指南适用于所有读者。
直接转移焦点:除非已迁移应用的部分已使用 Azure PaaS 服务,否则请跳过本文。 大多数直接迁移的工作负载仍运行在 IaaS(VM、托管磁盘、标准网络)上,并且在初始迁移阶段不需要使用 专用链接。 稍后在开始为单个工作负荷组件采用 PaaS 服务时返回到本文。
如果你符合以下情况,请阅读本文:
- 已迁移的工作负载已使用 Azure PaaS 服务(例如 Azure SQL 数据库 或 Azure 存储)。
- 想了解在直接迁移之后,何时开始将 专用链接 作为分阶段现代化的一部分来使用。
- 需要规划子网容量,以便将来采用专用终结点。
现代化关注点:每个辐射型 VNet 中的 专用链接 子网都至关重要。 AKS、应用服务环境(ASE)和托管数据库工作负载需要专用 PaaS 连接才能满足合规性要求,并防止通过公共 Internet 泄露数据。
如果你符合以下情况,请阅读本文:
- 将敏感或管控数据存储在 Azure PaaS 服务中,并且必须限制对专用网络路径的访问。
- 需要在每个辐射型 VNet 中创建专用的 专用链接 子网,供应用团队使用。
- 希望通过确保 PaaS 与特定资源实例的连接范围来防止数据外泄。
- 正在设计生产工作负荷,其中 PaaS 服务必须可通过 VPN 或 ExpressRoute 从本地网络访问。
- 需要了解服务终结点与专用终结点之间的成本、DNS 和安全权衡。
跨云焦点:本文会在建立跨云传输和连接后变得相关,除非目标体系结构已包含具有专用终结点Azure PaaS。 准备好保护 PaaS 访问路径时,在优化期间返回到本文。
如果你符合以下情况,请阅读本文:
- 在迁移过程中,使用支持专用终结点的 Azure Migrate。
- 计划将 Azure PaaS 服务作为迁移后目标体系结构的一部分。
- 在将专用终结点与跨云设计集成之前,需要了解专用终结点的工作原理。
Azure服务和功能
下表介绍了Azure中可用于专用 PaaS 连接的服务和功能。
| 服务或功能 | 它提供的内容 | 何时使用它 |
|---|---|---|
| 公共终结点(默认值) | 通过其公共完全限定域名(FQDN)通过 Internet 访问 Azure PaaS 服务。 不需要额外的配置。 | 仅用于开发/测试环境。 不建议用于处理敏感数据的生产工作负载。 |
| 服务终结点 | 将虚拟网络标识扩展到 Azure PaaS 服务。 流量保持在微软主干网络内。 PaaS 服务将 VNet 视为流量源。 不创建专用 IP 地址。 | 低外泄风险。 比专用链接更简单的设置。 当专用链接不适用于特定服务时非常有用。 免费。 |
| 专用终结点/Azure 专用链接 | 创建一个网络接口,使其在虚拟网络中具有一个私有 IP 地址,并映射到特定的 PaaS 资源实例。 流量保留在Microsoft主干上,永远不会遍历公共 Internet。 需要 DNS 集成。 | 生产工作负荷。 敏感数据。 合规性。 数据外泄防护。 对于新设计,优先选择它而不是服务终结点。 |
| 专用链接服务 | 将自己的服务私下公开给其他虚拟网络或Microsoft Entra租户中的使用者。 使用方可在自己的 VNet 中创建专用终结点以访问你的服务,而无需进行 VNet 对等互连。 | ISV 或内部平台团队向不应具有主机虚拟网络网络级别访问权限的使用者发布服务。 |
| VNet 集成(应用服务、函数) | 允许 App Service 或 Azure Functions 通过虚拟网络路由出站流量。 仅限出站:不提供入站专用连接。 | 当应用服务或 Azure Functions 需要通过专用终结点访问 VNet 中的私有资源(例如数据库或内部 API)时。 |
如何选择
使用本节中的决策表为工作负荷选择正确的连接方法。
服务终结点与专用终结点对比
下表比较了限制 PaaS 访问专用网络路径的两种最常见方法。
| 因子 | 服务终结点 | 私有终结点 |
|---|---|---|
| 流量路径 | Microsoft 骨干网络 目标仍使用其公共 IP 地址。 | Microsoft 骨干网络 目标使用 VNet 中的私有 IP 地址。 |
| VNet 中的专用 IP | No. 源 IP 会变为私有 IP(VNet 地址),但该服务会解析到其公共 IP。 | Yes. 您的子网中的具有专用 IP 的网络接口映射到特定资源。 |
| 所需的 DNS 更改 | No. DNS 解析保持不变。 | Yes. 需要专用 DNS 区域,以便服务 FQDN 解析为专用 IP。 |
| 数据外泄防护 | 有限。 在 VNet 级别应用于服务类型的所有实例(例如,所有Azure 存储帐户)。 | 强。 访问权限的范围限定为特定的资源实例。 只有已映射的资源可以通过该端点访问到。 |
| 本地访问 | 无法从本地网络访问。 解决方法:将公共或 NAT IP 地址添加到Azure服务的 IP 防火墙规则。 | 可通过 VPN 或 ExpressRoute 从本地访问,因为终结点具有可路由的专用 IP 地址。 |
| Cost | 免费。 不收取额外费用。 | 按每个端点每小时收费,外加数据处理费用。 |
何时使用哪种方法
| 情景 | 建议的方法 | 为什么 |
|---|---|---|
| 开发/测试,低数据敏感度 | 具有服务防火墙的公共终结点 | 最简单的设置。 按 IP 允许列表限制访问。 无需额外费用或 DNS 更改。 |
| 简单的 VNet 限制,低外泄风险 | 服务终结点 | 免费。 快速启用。 在不需要资源级访问范围控制时适用。 |
| 生产工作负荷、敏感数据、合规性 | 私有终结点 | 最强的数据外泄防护。 可在本地部署环境中运行。 支持从任何连接的网络进行基于 DNS 的解析。 |
| 将自己的服务私下发布到其他租户 | 专用链接服务 | 使用者在其 VNet 中创建专用终结点。 不需要 VNet 对等互连。 支持审批工作流和可见性控制。 |
| 应用服务或函数应用需要访问 VNet 资源 | VNet 集成 | 仅支持出站连接。 需要将子网委派给 Microsoft.Web/serverFarms。 与专用终结点结合使用,确保对 PaaS 服务进行安全数据访问。 |
具有专用链接源的Azure Front Door
Azure Front Door Premium 支持 专用链接 源站,你可以使用它通过专用连接将 Front Door 连接到后端服务(应用服务、存储或内部负载均衡器)。 Front Door 与源站之间的流量始终保留在 Microsoft 主干网络中,你还可以完全关闭对源站的公共访问。 这种模式是在 Azure 各项网络服务中,针对 专用链接 文档记录最为广泛的集成模式。
根据需要将 Front Door Premium 与 专用链接 源配合使用:
- 使用 Web 应用程序防火墙(WAF)保护进行全局负载均衡。
- 与源站的专用连接,无需将其暴露给公共互联网。
- 后端流量经由专用路径传输的集中式 TLS 终止。
用于出站访问的 VNet 集成
VNet 集成不提供入站专用连接。 它使 App Service 或 Azure Functions 能够通过你的虚拟网络路由出站调用。 这意味着你的应用可以访问专用终结点后面的资源或访问 VNet 专用服务。 VNet 集成要求使用委托给 Microsoft.Web/serverFarms 的专用子网。
在应用程序需要时将 VNet 与专用终结点集成组合在一起:
- 通过专用 IP 调用Azure SQL 数据库或Azure 存储。
- 访问部署在辐射型虚拟网络中的内部 API 或服务。
- 通过网络虚拟设备(NVA)路由出站流量以进行检查。
设计注意事项
大多数直接迁移项目都会将引入 专用链接 推迟到后续阶段。 你的直接优先级是迁移 VM 并建立基本连接。 在以下情况下,请考虑使用 专用链接:
- 单个工作负荷组件已使用 PaaS:如果提升的应用程序连接到Azure SQL 数据库或Azure 存储,请为该特定服务添加专用终结点。 无需一次性转换所有 PaaS 访问。
- 合规性要求专用连接: 某些受管制工作负荷需要从第一天起的专用数据路径。 在这种情况下,应在迁移期间创建专用终结点,而不是在迁移完成后创建。
- 现在就规划子网容量:即使暂缓使用专用链接,也应在每个辐射网络中预留一个 /27 或 /28 子网,以便将来部署专用终端节点。 稍后对子网空间进行改造比预先保留更困难。
对于大多数直接迁移,请跳过详细的专用链接实现,并在 PaaS 采用开始时返回到本文。
在每个辐射型 VNet 中创建一个专用链接子网。 应用团队使用此子网为其应用程序使用的 PaaS 服务创建专用终结点:
- 每个辐射分支的专用链接子网:根据该辐射分支中的工作负载所需的 PaaS 服务数量来确定每个子网的大小(每个专用终结点需要一个 IP)。 在 Azure 保留 5 个地址后,/27(32 个地址)最多支持 27 个专用终结点。
- 应用管理员决定 PaaS 连接: IT 团队提供子网和 DNS 基础结构。 应用团队根据应用程序要求为其特定的 PaaS 资源(Azure SQL、密钥保管库、存储)创建专用终结点。
-
将 DNS 区域集中在中心网络中:专用 DNS 区域(例如
privatelink.database.chinacloudapi.cn)位于连接订阅中,并链接到所有辐射 VNet。 此方法可确保名称解析一致,并避免拆分脑 DNS。 - 关闭 PaaS 资源上的公共访问: 创建专用终结点后,关闭目标 PaaS 资源上的公共网络访问。 否则,流量仍可以通过 Internet 访问服务,从而破坏专用连接的目的。
- 结合 VNet 集成:应用服务和 Azure Functions 使用 VNet 集成将出站调用经由辐射虚拟网络(VNet)进行路由,并通过同一 VNet 或对等互连 VNet 中的专用终结点访问 PaaS 服务。
Azure Migrate 设备支持专用终结点连接,可为迁移控制平面流量提供安全保障。 除此之外,将 专用链接 规划推迟到迁移后优化阶段:
- Azure Migrate专用终结点:在迁移过程中,Azure Migrate设备可以使用专用终结点与Azure Migrate项目进行通信。 这种方法可使迁移控制流量不经过公共互联网。
- 暂缓大规模部署 专用链接:优先关注跨云中转连接。 将工作负载迁移到 Azure 并稳定运行后,再将 PaaS 服务的专用终结点规划为单独的一轮优化。
- 保留子网空间:即使现在跳过专用链接,也会为每个分支中的子网保留一个子网,供将来使用专用终结点。 以后采用 Azure PaaS 服务的跨云工作负荷需要此容量。
先决条件
在实现专用 PaaS 访问之前,请确认你已具备以下资源和知识:
- 至少包含一个子网的已部署虚拟网络。 专用终结点需要具有可用 IP 地址的子网。 有关虚拟网络设计,请参阅 虚拟网络和子网。
- Azure PaaS 服务,用于私下连接。 该服务必须支持服务终结点或 专用链接 中的一种。 请参阅你的服务的Azure 专用链接 可用性文档。
- 了解 DNS 基础结构。 专用终结点需要专用 DNS 区域。 如果使用自定义 DNS 服务器,则需要指向Azure DNS的条件转发器(168.63.129.16)。 有关 DNS 设计模式,请参阅 相关资源中专用终结点的 DNS 集成文章。
- IP 地址规划。 每个专用终结点使用子网中的一个专用 IP 地址。 相应地规划子网大小。 有关指南,请参阅 IP 地址规划 。
安全注意事项
专用 PaaS 连接直接影响数据外泄状况、DNS 可靠性和网络策略强制实施。 设计实现时,请考虑以下指南。
防止数据外泄
专用终结点提供最强的外泄保护,因为每个终结点都映射到单个资源实例。 VNet 中的用户或应用程序只能访问为专用终结点配置的特定存储帐户或数据库。 它们无法将数据重定向到同一服务类型的不同实例。
相比之下,服务终结点会限制 VNet 级别的访问,但适用于服务类型的所有实例。 例如,Azure 存储的服务终结点意味着,VNet 可以访问任何允许访问的 Azure 存储帐户,而不仅仅是你预期的帐户。 这一缺陷使服务终结点无法满足将数据外泄视为合规性关注点的环境需求。
DNS 区域配置
专用终结点依赖于正确的 DNS 解析才能正常运行。 创建专用终结点时,请配置专用 DNS 区域(例如, privatelink.blob.core.chinacloudapi.cn Azure Blob 存储),以便服务 FQDN 解析为专用 IP 而不是公共 IP。
配置 DNS 区域时出现错误可能会导致:
- 解析到公共 IP 地址的应用程序,完全绕过专用终结点。
- 本地客户端无法访问专用 IP,因为未配置条件转发器。
- 某些客户端私下解决的拆分脑 DNS 问题,而另一些客户端则公开解决。
集中共享服务或连接订阅中的专用 DNS 区域,并将其链接到需要解析的所有虚拟网络。 创建专用终结点时,使用Azure Policy强制实施专用 DNS 区域集成。
专用终结点子网上的网络策略
现在,专用终结点子网已支持网络安全组(NSG)和用户定义路由(UDR)。 默认情况下禁用此支持,并且必须为每个子网显式启用。 启用网络策略后:
- 可以应用 NSG 规则来控制哪些源可以访问专用终结点。
- 可以使用 UDR 将专用终结点流量通过网络虚拟设备进行路由,以便检查。
- 可以在应用程序安全组(ASG)规则中引用专用终结点。
在生产环境中的专用终结点子网上启用网络策略,以便在虚拟网络中的所有子网中保持一致的安全态势。
Important
为 PaaS 服务配置专用终结点后,请关闭该服务上的公用网络访问。 如果仍启用公共访问,流量仍可以通过 Internet 访问服务,从而破坏专用连接的目的。
用于常见服务的专用 DNS 区域
下表列出了常用Azure PaaS 服务所需的专用 DNS 区域。
| Azure服务 | 专用 DNS 区域 |
|---|---|
| Azure Blob 存储 | privatelink.blob.core.chinacloudapi.cn |
| Azure SQL 数据库 | privatelink.database.chinacloudapi.cn |
| Azure 密钥保管库 | privatelink.vaultcore.chinacloudapi.cn |
| Azure Cosmos DB | privatelink.documents.azure.cn |
| Azure App 服务 | privatelink.chinacloudsites.cn |
Tip
在 Azure 门户中创建专用终结点时,它通常会自动创建关联的专用 DNS 区域。 删除专用终结点并不总是删除区域或其虚拟网络链接。 定期检查孤立的专用终结点和专用 DNS 区域。 它们会增加名称解析配置的成本和混乱。
用于 PaaS 访问的网络安全边界
专用链接 控制流量如何经由专用 IP 地址到达 PaaS 服务。 网络安全外围(NSP)控制允许 哪些 网络和资源与该服务通信。 NSP 在 PaaS 资源(如 Azure 存储、Azure SQL 数据库 和 Azure 密钥保管库)周围添加显式边界:外围中的资源会自由通信,而默认情况下,除非访问规则允许它,否则从外部访问会被拒绝。 当需要 PaaS 级数据外泄保护时,在高安全性设计中将 NSP 与专用终结点一起使用。 有关 NSP 适合跨安全级别的位置,请参阅概述中的 安全状况矩阵 。
相关文章
- 虚拟网络和子网:专用终结点部署的子网设计。
- IP 地址规划:终结点接口的专用 IP 分配。
- 混合连接和本地连接:通过 ExpressRoute 或 VPN 从本地访问专用终结点。
- 保护互联网入站流量:使用带有 专用链接 源站的 Azure Front Door Premium 实现安全入口模式。
- 专用链接 DNS 安全性:专用终结点的 DNS 区域命名和混合 DNS 解析。
Learn more
- 什么是Azure 专用链接?
- 什么是专用终结点?
- 虚拟网络服务终结点
- 什么是 Azure 专用链接服务?
- 管理专用终结点的网络策略
- Azure 专用链接 DNS 集成
- 应用服务的虚拟网络集成
- Azure Front Door 专用链接 源站
后续步骤
Tip
自行探索? 返回到 概述导航器 ,按功能查找下一篇文章。
接下来是直接迁移过程中的下一步:
出站互联网访问:控制已迁移的工作负载如何通过集中式出站路径访问互联网。
现代化之旅的下一步:
出站互联网访问:将所有分支网络的出站流量都通过中心防火墙路由,以实现一致且由 IT 统一管理的控制。