什么是 Azure 应用程序网关 v2?

应用程序网关 v2 是应用程序网关的最新版本。 它提供了相较于应用程序网关 v1 的优势,例如性能增强、自动缩放、区域冗余和静态 VIP。

重要

应用程序网关 V1 的弃用于 2023 年 4 月 28 日宣布。 如果使用应用程序网关 V1 SKU,请立即开始规划到 V2 的迁移,并在 2026 年 4 月 28 日前完成到应用程序网关 v2 的迁移。 在此日期之后不支持 v1 服务。

关键功能

v2 SKU 包括以下增强功能:

  • TCP/TLS 代理(预览版):Azure 应用程序网关现在还支持第 4 层(TCP 协议)和 TLS(传输层安全性)代理。 此功能目前处于公开预览状态。 有关详细信息,请参阅应用程序网关 TCP/TLS 代理概述

  • 自动缩放:凭借自动缩放 SKU,应用程序网关或 WAF 部署可根据不断变化的流量负载模式横向扩展或缩减。 自动缩放还无需在预配期间要求选择部署大小或实例计数。 此 SKU 提供真正的弹性。 在 Standard_v2 和 WAF_v2 SKU 中,应用程序网关可同时在固定容量(自动缩放已禁用)和已启用自动缩放的模式下进行操作。 固定容量模式对具有一致性和可预测工作负荷的方案非常有用。 应用程序流量会出现差异的应用程序可以受益于自动缩放模式。

  • 区域冗余:应用程序网关或 WAF 部署可跨多个可用性区域,因此不需要使用流量管理器在每个区域中单独预配应用程序网关实例。 可以选择一个或多个区域来部署应用程序网关实例,以便更灵活地应对区域故障。 应用程序的后端池可以通过类似方式分布在多个可用性区域中。

    仅当 Azure 区域可用时,区域冗余才可用。 在其他区域中,支持所有其他功能。 有关详细信息,请参阅 Azure 中的区域和可用性区域

  • 静态 VIP:应用程序网关 v2 SKU 支持独占形式的静态 VIP 类型。 静态 VIP 可确保与应用程序网关关联的 VIP 在部署的生命周期内不会更改(即使是在重启之后)。 必须使用应用程序网关 URL 通过应用程序网关将域名路由到应用服务,因为 v1 没有静态 VIP。

  • 标头重写:应用程序网关允许使用 v2 SKU 添加、删除或更新 HTTP 请求和响应标头。 有关详细信息,请参阅使用应用程序网关重写 HTTP 标头

  • Key Vault 集成:应用程序网关 v2 支持与密钥保管库集成,以获取附加到支持 HTTPS 的侦听器的服务器证书。 有关详细信息,请参阅使用 Key Vault 证书实现 TLS 终止

  • 相互身份验证 (mTLS):应用程序网关 v2 支持对客户端请求进行身份验证。 有关详细信息,请参阅应用程序网关中的相互身份验证概述

  • Azure Kubernetes 服务入口控制器:应用程序网关 v2 入口控制器允许将 Azure 应用程序网关用作 Azure Kubernetes 服务 (AKS) 的入口(称为 AKS 群集)。 有关详细信息,请参阅什么是应用程序网关入口控制器

  • 专用链接:v2 SKU 通过使用专用终结点提供来自其他区域和订阅的其他虚拟网络的专用连接。

  • 性能增强:v2 SKU 提供的 TLS 卸载性能比 Standard/WAF SKU 高达 5 倍。

  • 缩短部署和更新时间:与标准/WAF SKU 相比,v2 SKU 缩短了部署和更新时间。 更快的时间还包括 WAF 配置更改。

自动缩放区域的示意图。

注意

此处列出的一些功能依赖于 SKU 类型。

SKU 类型

应用程序网关 v2 在两个 SKU 下可用:

  • 基本(预览版):基本 SKU 专为流量和 SLA 要求较低且不需要高级流量管理功能的应用程序而设计。 有关如何注册应用程序网关基本 SKU 的公共预览版的信息,请参阅注册预览版
  • Standard_v2 SKU:Standard_v2 SKU 专为运行生产工作负载和高流量而设计。 它还包括自动缩放,可自动调整实例数以满足流量需求。

下表显示了“基本”和“Standard_v2”之间的比较。

功能 功能 基本 SKU(预览版) 标准 SKU
可靠性 SLA 99.9 99.95
功能 - 基本 HTTP/HTTP2/HTTPS
Websocket
公用/专用 IP
Cookie 亲和性
基于路径的相关性
通配符
多站点
KeyVault
区域
标头重写


















功能 - 高级 AKS(通过 AGIC)
URL 重写
mTLS
专用链接
仅专用1
TCP/TLS 代理





缩放 最大。 每秒连接数
侦听器数
后端池数
每个池的后端服务器数
规则数
2001
5
5
5
5
625001
100
100
1200
400
容量单位 每个计算单位每秒连接数
吞吐量
持久新连接数
10
2.22 Mbps
2500
50
2.22 Mbps
2500

1基于使用 RSA 2048 位密钥 TLS 证书估计。

定价

使用 v2 SKU 时,消耗量驱动定价模型,且不再附加到实例计数或大小。 若要了解详细信息,请参阅了解定价

不受支持的区域

目前,Standard_v2 和 WAF_v2 SKU 在以下区域中不可用:

  • 中国东部
  • 中国北部
  • US DoD 东部
  • US DoD 中部

从 v1 迁移到 v2

PowerShell 库中提供了一个 Azure PowerShell 脚本,以帮助你从 v1 应用程序网关/WAF 迁移到 v2 自动缩放 SKU。 此脚本可帮助你从 v1 网关复制配置。 流量迁移仍由你负责。 有关详细信息,请参阅将 Azure 应用程序网关从 v1 迁移到 v2

v1 SKU 与 v2 SKU 之间的功能比较

下表比较了每个 SKU 提供的功能。

功能 v1 SKU v2 SKU
自动缩放
区域冗余
静态 VIP
Azure Kubernetes 服务 (AKS) 入口控制器
Azure 密钥保管库集成
重写 HTTP(S) 标头
增强的网络控制(仅限 NSG、路由表、专用 IP 前端)
基于 URL 的路由
多站点托管
相互身份验证 (mTLS)
支持专用链接
流量重定向
Web 应用程序防火墙 (WAF)
WAF 自定义规则
WAF 策略关联
传输层安全性 (TLS)/安全套接字层 (SSL) 终止
端到端 TLS 加密
会话相关性
自定义错误页
WebSocket 支持
HTTP/2 支持
连接清空
代理 NTLM 身份验证
基于路径的规则编码
DHE 密码

注意

自动缩放 v2 SKU 现在支持默认运行状况探测,以自动监视其后端池中所有资源的运行状况,并突出显示被视为运行不正常的后端成员。 对于不使用任何自定义探测配置的后端,系统会自动配置默认的运行状况探测。 若要了解详细信息,请参阅应用程序网关中的 运行状况探测

与 v1 SKU 的差异

此部分介绍 v2 SKU 与 v1 SKU 不同的功能和限制。

差异 详细信息
在同一子网上混合使用 Standard_v2 和标准应用程序网关 不支持
应用程序网关子网上的用户定义路由 (UDR) 有关支持的方案的信息,请参阅应用程序网关配置概述
入站端口范围的 NSG 对于 Standard_v2 SKU,为 - 65200 到 65535
对于标准 SKU,为 - 65503 到 65534
公共预览版中的 v2 SKU 不需要。
有关详细信息,请参阅常见问题解答
Azure 诊断中的性能日志 不支持。
应当使用 Azure 指标。
FIPS 模式 当前不支持。
基于路径的规则编码 不支持。
V2 在路由之前解码路径。 例如,V2 将/abc%2Fdef视为与/abc/def相同。
分块文件传输 在 Standard_V2 配置中,关闭请求缓冲以支持分块文件传输。
在 WAF_V2 中,无法关闭请求缓冲,因为它必须查看整个请求以检测和阻止任何威胁。 因此,建议的替代方法是为受影响的 URL 创建路径规则,并将禁用的 WAF 策略附加到该路径规则。
Cookie 亲和性 当前 V2 不支持在会话亲和性 Set-Cookie 中追加域,这意味着客户端不能将 Cookie 用于子域。
Microsoft Defender for Cloud 集成 尚不可用。

注册预览版

运行以下 Azure CLI 命令,注册应用程序网关基本 SKU 的预览版。

Set-AzContext -Subscription "<your subscription ID>"
Get-AzProviderFeature -FeatureName AllowApplicationGatewayBasicSku -ProviderNamespace "Microsoft.Network"
Register-AzProviderFeature -FeatureName AllowApplicationGatewayBasicSku -ProviderNamespace Microsoft.Network 

取消注册预览版

若要从基本 SKU 的公共预览版中取消注册:

  1. 从订阅中删除应用程序网关基本 SKU 的所有实例。
  2. 运行以下 Azure CLI 命令:
Set-AzContext -Subscription "<your subscription ID>"
Get-AzProviderFeature -FeatureName AllowApplicationGatewayBasicSku -ProviderNamespace "Microsoft.Network"
Unregister-AzProviderFeature -FeatureName AllowApplicationGatewayBasicSku -ProviderNamespace Microsoft.Network 

后续步骤

可以根据自己的需求和环境,使用 Azure 门户、Azure PowerShell 或 Azure CLI 创建测试性应用程序网关。