0Pricing
Azure Fundamentals · 课时

Azure Front Door:全球负载均衡

设置 Azure Front Door,使用基于延迟的路由将 HTTP 流量分配到不同区域的多个后端池,并在运行状况探测失败时自动故障转移。

Azure Front Door:全球负载均衡 是 CoddyKit 上的免费 Azure Fundamentals 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Azure Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Azure Fundamentals 课程共包含 4 节课。

什么是 Azure Front Door

Azure Front Door 是一种在第 7 层(HTTP/HTTPS)运行的全球分布式应用程序交付网络。它利用任播网络,将客户端请求路由到多个 Azure 区域中速度最快的可用后端源站:流量会在距离最近的边缘 PoP 进入 Azure 主干网络,而不是通过公共互联网传输到您的源站。Front Door 在单个服务中提供全球负载均衡、SSL 卸载、CDN 缓存和内置 Web Application Firewall。

Azure Front Door Standard 与 Premium

Azure Front Door 提供两个层级。Standard 包括 CDN 缓存、带托管 TLS 的自定义域、规则引擎和基本 WAF。Premium 增加了高级 WAF(包含托管规则集,包括 Microsoft Default 和 OWASP 规则集)、Bot 防护、安全报告、Private Link 集成(通过专用终结点将流量发送到源站,无需公共 IP)以及 Azure Defender 集成。大多数生产 Web 应用程序都会使用 Premium,以获得 WAF 和 Private Link 功能。

Front Door 概念:源站和源站组

在 Front Door 中,源站是一个后端服务器,可以是 App Service、公共 IP、Blob Storage 静态网站或任何 HTTP(S) 终结点。多个源站会组成源站组。负载均衡和运行状况探测设置按源站组进行配置。例如,您可以创建一个源站组,其中包含位于美国东部和美国西部的 App Service 后端。Front Door 会根据优先级、权重或延迟在组内路由请求,并根据运行状况探测结果自动移除运行状况不佳的源站。

# Create a Front Door profile (Standard tier)
az afd profile create \
  --profile-name myFrontDoor \
  --resource-group myRG \
  --sku Standard_AzureFrontDoor

运行状况探测与故障转移

运行状况探测是 Front Door PoPs 定期发送到每个源站的 HTTP/HTTPS 请求,用于测量延迟并验证源站是否正常运行。您可以配置探测路径、协议、间隔,以及在源站被标记为运行状况不佳之前所需的连续失败次数。当源站未通过运行状况探测时,Front Door 会自动将其从路由池中移除,所有新请求都会发送到其余运行状况正常的源站。这无需人工干预即可实现自动故障转移。

# Add an origin group with health probe settings
az afd origin-group create \
  --profile-name myFrontDoor \
  --resource-group myRG \
  --origin-group-name myOriginGroup \
  --probe-path '/healthz' \
  --probe-protocol Https \
  --probe-interval-in-seconds 30 \
  --sample-size 4 \
  --successful-samples-required 3

负载均衡方法

Front Door 支持在源站组内使用三种负载均衡方法。基于延迟的路由(默认)会将每个请求发送到从客户端最近 PoP 测得往返时间最低的源站,非常适合追求性能的场景。加权会根据分配的权重分发流量(例如将 80% 的流量发送到主源站,20% 发送到辅助源站),适用于金丝雀部署。优先级会将所有流量发送到优先级最高的源站,只有在主源站运行状况不佳时才会故障转移到优先级较低的源站,非常适合主动-被动 DR。

路由与基于路径的路由

Front Door 中的路由会将域名和 URL 路径模式映射到源站组。您可以创建多个路由来实现基于路径的路由:例如,/api/* 路由到后端 API App Service,/static/* 路由到启用了积极 CDN 缓存的 Blob Storage 源站,而 /* 路由到 Web 前端。每个路由都可以独立配置缓存、压缩和转发协议。

# Create a route mapping a custom domain to an origin group
az afd route create \
  --profile-name myFrontDoor \
  --resource-group myRG \
  --endpoint-name myEndpoint \
  --route-name myRoute \
  --origin-group myOriginGroup \
  --patterns-to-match '/*' \
  --forwarding-protocol HttpsOnly \
  --https-redirect Enabled

自定义域与 TLS

Front Door 会为您与终结点关联的每个自定义域提供托管 TLS 证书,该证书由 DigiCert 自动颁发,并会在到期前自动续订,无需额外付费。您可以通过添加一条 CNAME 记录,将根域名或子域名指向 Front Door 终结点,以验证域所有权。您也可以使用存储在 Azure Key Vault 中的自有证书。Front Door 会在边缘 PoP 终止 TLS,与在源站终止 TLS 相比,可以降低 TLS 握手延迟。

规则引擎

规则引擎(在 Standard/Premium 中称为规则集)允许您根据请求属性修改路由行为:可以匹配 URL 路径、查询字符串、请求方法、HTTP 标头、地理位置或设备类型。操作包括重定向 URL、转发到其他源站组、修改请求/响应标头,或覆盖缓存设置。一个常见用途是在请求到达源站之前,通过重定向规则将所有 HTTP 流量重定向到 HTTPS,从而强制使用 HTTPS。

源站的 Private Link 集成

在 Premium 层级中,Front Door 可以通过Private Link而不是公共互联网连接到源站。这意味着您的 App Service 或 Blob Storage 源站不需要公共 IP,来自 Front Door PoPs 的流量会通过 Microsoft 的专用主干网络传输到您 VNet 中的专用终结点。您可以在门户中或通过 CLI 批准 Private Link 连接请求。完成后,Front Door 与源站之间的流量将不再经过公共互联网,因此无需在源站上配置入站防火墙规则。

会话关联

会话关联(也称为粘性会话)可确保来自同一客户端的请求在整个会话期间持续路由到同一源站。Front Door 通过基于 Cookie 的机制实现这一点:它会在第一次响应中设置会话 Cookie,后续携带该 Cookie 的请求都会固定到同一源站。与均匀分配负载相比,会话关联牺牲了一定的负载均衡效果,但当状态存储在源站服务器本地而不是共享缓存或数据库中时,可以提高应用程序兼容性。

使用指标监视 Front Door

Front Door 会向 Azure Monitor 发出指标,包括请求总数、源站运行状况百分比、请求命中率、源站延迟以及按操作统计的 WAF 请求数。您可以根据这些指标创建警报规则,以便在源站运行状况低于阈值或 WAF 拦截数意外激增时收到通知。Front Door 还会在 Premium 层级提供内置报告,显示按地理位置划分的流量、请求最多的 URL 以及 WAF 匹配的规则。

快速检查

测试您对本课程中 Microsoft Azure Fundamentals (AZ-900) 概念的理解。

课程回顾

在本课程中,您学习了:Azure Front Door 利用任播网络和基于运行状况探测的故障转移,将 HTTP 流量路由到全球范围内速度最快的可用源站;路由和基于路径的路由可以将不同的 URL 路径定向到不同的后端;Premium 层级增加了 Private Link 源站和高级 WAF 功能。接下来,我们将学习如何将 Web Application Firewall 连接到 Front Door 以提升安全性。

常见问题解答

「Azure Front Door:全球负载均衡」课时是免费的吗?

是的 — 「Azure Front Door:全球负载均衡」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Azure Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Azure Fundamentals 课程共包含 4 节课。

「Azure Front Door:全球负载均衡」这节课中我会学到什么?

设置 Azure Front Door,使用基于延迟的路由将 HTTP 流量分配到不同区域的多个后端池,并在运行状况探测失败时自动故障转移。 你通过在浏览器中直接运行的动手代码来练习 Azure Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Azure Fundamentals 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Azure Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「Azure Front Door:全球负载均衡」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Azure Fundamentals 课中编写并运行代码吗?

能。每节 Azure Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Azure CDN 配置文件和终结点
  2. Azure Front Door:全球负载均衡
  3. Front Door 上的 Web 应用程序防火墙
  4. 使用 CDN 规则优化性能
← 返回 Azure Fundamentals