本文可帮助你为工作负荷选择正确的Azure负载均衡服务。 它比较了 Azure 负载均衡器、应用程序网关和 Azure Front Door 在区域和全局流量分布方面的差异。 它还说明了何时合并它们。
本文介绍的内容
应用程序传递包括网络到达网络外围后如何在后端资源之间分配流量。 本文介绍第 4 层和第 7 层负载均衡和全局流量加速。 它还涵盖在三个主要Azure负载均衡服务之间进行选择的决策条件。
注释
本文是对 互联网入口:将应用程序公开到互联网 的补充,重点介绍流量 如何到达您的网络。 本文 重点介绍如何平衡 流量并将其传送到应用程序后端。
谁需要本文
如果你符合以下情况,请阅读本文:
- 托管需要跨多个后端实例实现高可用性的 Web 应用程序或 API。
- 需要对 HTTP/S 流量使用 SSL/TLS 卸载、基于 URL 的路由或 Web 应用程序防火墙 (WAF) 保护。
- 跨多个Azure区域分配流量,以便进行性能或灾难恢复。
- 运行需要区域负载均衡和运行状况探测的非 HTTP 工作负载(TCP/UDP)。
- 想要了解哪种负载均衡器符合流量类型、地理范围和安全要求。
直接转移焦点: 许多重新托管的内部应用只需要区域负载均衡器。 向客户发布应用时,添加面向 Internet 的交付服务。
现代化重点:按应用类型选择交付方式:对于全球 Web 应用,使用 Azure Front Door;对于非 Web 应用,使用位于主动-主动区域终结点前端的 Traffic Manager。
跨云重点:将其他云中的负载均衡器映射到 Azure 中的对应服务(例如,将 AWS ALB 映射到 Application Gateway,将 NLB 映射到 Azure 负载均衡器),并通过中心防火墙后的辐射虚拟网络进行交付。
Azure服务和功能
下表汇总了三个主要Azure负载均衡服务。
| Service | 它提供的内容 | 何时使用它 | 关键约束 |
|---|---|---|---|
| Azure 标准负载均衡器 | 区域中的第 4 层(TCP/UDP)负载均衡。 网络虚拟设备的运行状况探测、区域冗余、出站 SNAT 规则和 HA 端口。 | 虚拟机规模集、AKS 内部流量、非 HTTP/S 区域性工作负载以及 NVA 高可用性。 | 无 SSL/TLS 终止;无 WAF;无基于 URL 的路由;仅限区域范围。 |
| Azure 应用程序网关 | 第 7 层(HTTP/HTTPS)区域负载均衡。 SSL/TLS 终止、基于 URL 路径的路由、多站点托管、基于 Cookie 的会话相关性和可选的 WAF 集成。 | 需要 SSL 卸载、URL 路由、WebSocket 支持或 WAF 保护的区域 Web 应用程序。 | 仅限区域;需要专用子网;不适合全局路由或 CDN 方案。 |
| Azure Front Door | 全局任播负载均衡和 CDN。 边缘 TLS 终止、集成式 WAF、源站健康探测、流量分流,以及覆盖全球 190 多个接入点(PoP)的缓存。 | 全局 Web 应用程序、多区域主动-主动部署、CDN 和缓存以及全局 WAF 强制实施。 | 仅支持 HTTP/S;源站必须可公开访问,或可通过 专用链接(高级层)访问。 |
区域冗余
区域冗余可保护应用程序交付层免受数据中心故障的影响。 每个服务以不同的方式处理可用性区域:
- 默认情况下,标准负载均衡器(公共)是区域冗余的,因为标准公共 IP 地址默认为区域冗余配置。 即使一个可用性区域发生故障,流量也会继续流动。 标准负载均衡器(内部)需要显式区域冗余前端配置:创建前端 IP 时必须选择多个区域。
- 在跨多个可用性区域部署实例时,应用程序网关 v2 支持区域冗余。 在部署期间指定区域。 区域冗余应用程序网关将实例分散到所选区域中,如果单个区域脱机,则保持可用性。
- Azure Front Door作为全局任意广播服务,天然具备区域冗余能力。 其超过 190 个边缘 PoP 跨全球多个区域,因此没有单一区域或区域故障影响全球流量路由。
Autoscaling
每个服务处理扩缩容的方式各不相同:
- 应用程序网关 v2 (Standard_v2层和WAF_v2层)支持基于流量负载的自动缩放。 配置最小和最大实例计数,网关在这些边界内缩放。 定价使用容量单位:每秒新连接的复合度量值、永久性连接和吞吐量。 为生产工作负载将最小实例数设置为至少 2 个,以避免在流量高峰期间出现冷启动延迟。
- Azure Front Door作为一项托管的全球服务,会自动扩展。 不需要容量规划或实例大小调整。
- 标准负载均衡器无需手动干预或配置更改即可扩展到数百万个 TCP/UDP 流。 它是一个完全托管的平台服务,没有实例概念。
健康探测
这三个服务都使用运行状况探测来检测不正常的后端,并停止将流量路由到它们:
- 标准负载均衡器支持 TCP、HTTP 和 HTTPS 运行状况探测。 配置探测间隔和异常阈值,以控制故障转移速度。 较短的间隔可以更快地检测故障,但会生成更多的探测流量。
-
应用程序网关使用 HTTP/HTTPS 健康探测,并可自定义路径、主机名和响应匹配条件。 自定义探针可用于验证应用程序逻辑(例如,检查用于验证数据库连接的
/health端点)。 - Front Door 对源站执行 HTTP/HTTPS 运行状况探测。 它支持可配置的探测路径、间隔和响应代码匹配。 Front Door 从多个 PoP 对源站进行探测,实现分布式运行状况验证。
如何选择
以程图总结了用于选择Azure负载均衡服务的主要决策路径。
使用以下决策表为方案选择正确的负载均衡服务。
我需要哪个负载均衡器?
| 我需要... | Use |
|---|---|
| 在单个区域中对 TCP/UDP 流量进行负载均衡 | Azure 标准负载均衡器:具有运行状况探测、区域冗余和 HA 端口的第 4 层分布。 |
| 终止 SSL/TLS、按 URL 路径或主机名路由,并为区域 Web 应用添加 WAF | Azure 应用程序网关:第 7 层区域负载均衡,集成 WAF(v2 SKU)。 |
| 对 HTTP/S 流量进行全局路由,通过边缘缓存降低延迟,或实现跨区域故障转移 | Azure Front Door:提供全球任播,以及 CDN、WAF 和多区域源站运行状况探测。 |
关键约束比较
| Service | 层 | Scope | 密钥限制 |
|---|---|---|---|
| 标准负载均衡器 | 第 4 层 (TCP/UDP) | 区域 | 无应用程序感知:无法检查 HTTP 标头、URL 或 Cookie。 |
| 应用程序网关 | 第 7 层 (HTTP/HTTPS) | 区域 | 需要专用子网(建议使用 24 个):无法全局路由流量。 |
| Front Door | 第 7 层 (HTTP/HTTPS) | 全球 | 源站必须是公开可访问的,或可通过 专用链接 访问(仅限高级层);不支持 TCP/UDP。 |
合并服务
许多生产体系结构将多个负载均衡服务组合在一个链中。 每个服务各司其职:
- Front Door + 应用程序网关: 使用 Front Door 进行全局流量分发和边缘 WAF,然后路由到区域应用程序网关实例,以便进行基于 URL 路径的路由和后端池管理。 Front Door Premium 可以通过专用链接连接到应用程序网关,使应用程序网关保持私密。 此模式适用于多个区域,其中每个区域都有复杂的 URL 路由要求。
- Front Door + 负载均衡器:使用 Front Door 进行全局 HTTP/HTTPS 分发,并在其后端使用内部 标准负载均衡器,以便在区域内的虚拟机规模集或 NVA 之间分发流量。 Front Door 处理全局路由和缓存,而负载均衡器为计算实例提供第 4 层分布。
- 应用程序网关 + 负载均衡器:在同一部署中使用应用程序网关进行前端的 HTTP/HTTPS 流量管理,并为非 HTTP 后端层(数据库、消息队列)使用负载均衡器。 这使第 7 层智能能力保留在边缘,同时在内部采用轻量级的第 4 层流量分发。
路由功能
了解路由功能有助于缩小选择范围:
| Capability | 标准负载均衡器 | 应用程序网关 | Front Door |
|---|---|---|---|
| 基于 URL 路径的路由 | 否 | 是的 | 是的 |
| 多站点(主机标头)路由 | 否 | 是的 | 是的 |
| 基于 Cookie 的会话关联 | 否 | 是的 | 是的 |
| 加权流量分流 | 否 | 否 | 是的 |
| 地理路由 | 否 | 否 | 是的 |
| SSL/TLS 卸载 | 否 | 是的 | 是的 |
| WebSocket 支持 | 透传 | 是的 | 是的 |
| HTTP/2 支持 | 否 | 是的 | 是的 |
Tip
Application Gateway v2 可在最小和最大实例数之间自动缩放,即使在没有流量时,也至少需要为最低容量付费。 将最小实例计数设置为基线负载,而不是峰值,并允许自动缩放吸收峰值。 对最低配置进行过度预配,是导致可避免的应用程序网关成本的常见原因。
设计注意事项
平移迁移应用交付设计重点
- 使用内部 Azure 负载均衡器来处理重新托管的应用各层之间的东西向流量,与该应用原本依赖的负载均衡方式保持一致。
- 仅对暴露到互联网的应用添加公网交付服务;许多已迁移的内部工作负载并不需要。
- 在初始重新托管期间,保持交付设计简单且单区域。
- 在流量到达工作负载之前,先将所有入站互联网流量通过中心防火墙进行路由。
将应用程序交付设计重点现代化
- 按应用类型选择:对于全球 Web 应用,请选择 Azure Front Door(边缘终止、WAF);对于需要基于 DNS 的区域分发的非 Web 应用,请选择 Azure 流量管理器。
- 跨区域部署主动/主动架构,并将流量分配到每个区域的公共端点,前置由中心防火墙承担 SNAT 和 DNAT 功能。
- 在某个区域内,使用应用程序网关实现第 7 层路由和 TLS 终止;在需要全局交付时,将其置于 Front Door 后端。
- 不要为同一流部署 Front Door 和流量管理器;根据应用是 Web 还是非 Web 选择一个。
跨云应用程序交付设计重点
- 将其他云中的流量分发服务映射到 Azure:将 AWS Application 负载均衡器 或 Google Cloud Application Load Balancing 映射到 Azure 应用程序网关,并将网络负载均衡器映射到 Azure 负载均衡器。
- 在辐射网络中部署第 7 层流量分发(带 WAF 的应用程序网关),并避免将公共 IP 直接分配给虚拟机。
- 让公共入站流量在到达已迁移的工作负载之前,先通过受保护的枢纽防火墙。
- 当工作负荷运行在多个 Azure 区域时,使用 Front Door 或流量管理器进行多区域分发。
先决条件
在实现应用程序交付服务之前:
- 部署的虚拟网络: 至少需要一个包含子网的虚拟网络。 有关子网规划指南,请参阅 虚拟网络和子网设计 。
- 标识的工作负荷流量类型: 了解工作负荷是使用 HTTP/HTTPS(第 7 层)还是 TCP/UDP(第 4 层)。 这决定了主要负载均衡器的选择。
- 定义的地理范围: 确定用户是位于单个区域还是全局分发。 全球用户群体可受益于 Front Door 的任播加速。
- 应用程序网关的子网容量: 应用程序网关需要一个没有其他资源的专用子网。 一个 /24 子网最多可支持 125 个实例,外加 5 个 Azure 预留地址。
安全注意事项
负载均衡服务是安全外围的一部分。 它们是处理传入流量的第一个组件,这使得其安全配置至关重要。 遵循以下做法来保护应用程序传递层。
Web 应用程序防火墙 (WAF)
为所有生产环境 Web 工作负载在应用程序网关或 Front Door 上以 防护模式 启用 WAF。 检测模式仅记录威胁而不阻止威胁。 在初始优化期间使用它来识别误报,然后在生产流量流之前切换到“预防”模式。
WAF 可防范常见的 Web 攻击,包括:
- SQL 注入和跨站点脚本 (XSS)
- 协议异常和请求走私
- 机器人和爬虫(启用机器人保护规则)
- 通过托管规则集的 OWASP 前 10 个漏洞
应用程序网关 WAF 和 Front Door WAF 使用相同的规则引擎,但范围不同。 应用程序网关 WAF 可保护区域部署,而 Front Door WAF 在流量到达任何源之前,会在全局边缘强制实施策略。 有关详细的 WAF 优化和规则集配置,请参阅Web 应用程序防火墙。
DDoS 防护
与负载均衡服务关联的所有公共 IP 地址都应启用Azure DDoS 防护。 标准负载均衡器公共前端 IP 和应用程序网关公共 IP 是批量攻击的主要目标。 这些 IP 表示应用程序的入口点。
Azure DDoS 防护提供:
- 通过自适应优化进行始终启用的流量监视。
- 当流量超过阈值时,自动攻击缓解。
- 通过 Azure Monitor 实现攻击遥测和警报。
- 针对 DDoS 攻击触发的资源扩缩容提供费用保护(服务抵扣金)。
有关 DDoS 保护规划和配置,请参阅 DDoS 保护。
到源站的 专用链接(Front Door Premium)
Azure Front Door Premium 支持到源站的 专用链接 连接。 此功能消除了对可公开访问的后端服务器的需求。 Front Door 不是通过公共互联网,而是通过 Azure 主干网络连接到源站。 在以下情况下使用 专用链接 源站:
- 您的后端是内部服务,不应分配公网 IP 地址。
- 只需锁定对 Front Door 流量的源访问。
- 合规性要求禁止应用程序服务器上的公共终结点。
- 你想要删除公开来源的攻击面。
支持的专用链接源包括应用服务、Azure 存储、应用程序网关、内部标准负载均衡器以及具有 专用链接 服务的自定义源。
有关 专用链接 体系结构模式,请参阅Azure PaaS 服务的专用访问。
Important
Front Door 标准层不支持到源站的 专用链接。 只有 Front Door Premium 才提供此功能。
相互 TLS (mTLS)
应用程序网关 v2 支持使用双向 TLS 对后端进行身份验证。 当后端服务器需要来自网关的基于证书的客户端身份验证时,请使用 mTLS。 此身份验证增加了一层信任验证。 后端可以确认流量从合法的应用程序网关实例到达,而不是来自绕过网关的攻击者。
相关文章
- Internet 入口:向 Internet 公开应用程序:流量如何到达Azure网络外围。
- 虚拟网络和子网设计:子网规划,包括应用程序网关专用子网大小调整。
- 对 Azure PaaS 服务的私有访问:专用链接 模式,包括使用 Front Door Premium 连接到源站。
- 跨区域连接:使用 Front Door 作为全局入口点的多区域体系结构。
- 互联网出站连接:SNAT、出站规则和 NAT 网关,适用于来自负载均衡后端的出站流量。
Learn more
- 什么是Azure 负载均衡器?
- 什么是Azure 应用程序网关?
- 什么是 Azure Front Door?
- Azure 负载均衡器中的可靠性
- 应用程序网关基础结构配置
- 使用 Azure Front Door Premium 中的 专用链接 确保源站安全
后续步骤
Tip
自行探索? 返回到 概述导航器 ,按功能查找下一篇文章。
接下来是直接迁移过程中的下一步:
控制出站 Internet 流量:通过中心防火墙集中出站访问,并关闭默认出站。
现代化之旅的下一步:
设置与 PaaS 服务的私有连接:为 AKS、ASE 和托管数据库工作负载在每个辐射型 VNet 中创建 专用链接 子网。
跨云之旅的下一步:
保护跨云传输路径:在安全虚拟中心部署Azure 防火墙以检查所有跨云和 Internet 绑定的流量。