使用 Azure Front Door 加速和保護 Web 應用程式
Azure Front Door 是全域散發的內容傳遞網路 (CDN),可提供較低的延遲和更快速的 Web 應用程式和內容傳遞。 此外,Front Door 可讓您的內容以最高層級的復原能力提供,並提供各種功能,包括進階應用程式負載平衡器、流量加速和安全性。
請考慮在任何對應公眾的 Web 應用程式前面部署 Front Door。
Azure 上架構良好的解決方案
Azure Well-Architected Framework 說明五個卓越架構要素。 Azure Front Door 使用其內建功能,協助您解決五大要素中的每一個。
效能效益
Front Door 提供數個功能來協助加速應用程式的效能。
- 快取: Front Door 提供強大的內容傳遞網路 (CDN),在網路邊緣快取內容。 幾乎所有 Web 應用程式都包含可快取的內容。 影像和 JavaScript 檔案等靜態資產可快取。 此外,許多 API 會傳回可以快取的回應,即使持續時間短。 快取可協助改善應用程式的效能,並減少應用程式伺服器上的負載。
- 壓縮:許多回應類型都可以壓縮,這可以改善應用程式的響應時間。
- 全域流量加速: Front Door 的全域流量加速功能可協助透過 Microsoft 高速骨幹網路路由傳送要求來改善動態 Web 應用程式的效能。
- TLS 終止:與 Front Door 的連線會在最接近的 Front Door 存在點 (PoP) 終止。 TLS 解密是由 PoP 執行。 進行 TLS 解密時最大的效能影響,在於初始交握。 為了改善效能,進行解密的伺服器會快取 TLS 工作階段識別碼,並管理 TLS 工作階段票證。 如果 TLS 連線在 Front Door PoP 終止,來自相同用戶端的所有要求都可以使用快取的值。 如果在原始伺服器上執行此動作,則每次用戶端的要求傳至不同的伺服器時,用戶端都必須重新驗證。 使用 TLS 票證有助於減輕此問題,但並非所有用戶端都支援此功能,且可能難以設定和管理。
安全性
Front Door 的安全性功能可協助保護您的應用程式伺服器免受數種不同類型的威脅。
- 端對端 TLS:Front Door 支援端對端 TLS 加密。 Azure Front Door TLS/SSL 卸載會終止 TLS 連線、解密 Azure Front Door 上的流量,並在將流量轉送至後端之前重新加密。
- 受控 TLS 憑證:Front Door 可以發行和管理憑證,確保應用程式受到強式加密和信任的保護。
- 自訂 TLS 憑證:如果您需要攜帶自己的 TLS 憑證,Front Door 可讓您使用受控識別來存取金鑰保存庫,其中包含憑證。
- Web 應用程式防火牆:Front Door 的 Web 應用程式防火牆 (WAF) 為您的應用程式提供一系列的安全性功能。 受控規則集會掃描傳入要求是否有可疑內容。 Bot 保護規則會識別和回應來自 Bot 的流量。 地區篩選和速率限制功能可保護您的應用程式伺服器免於非預期的流量。
- 通訊協定封鎖:Front Door 只會接受 HTTP 和 HTTPS 通訊協定上的流量,而且只會處理具有已知
Host
標頭的有效要求。 由於此行為,您的應用程式會受到保護,防止各種通訊協定中許多類型的攻擊。 - DDoS 保護:由於 Front Door 的結構,也可以吸收大量分散式阻斷服務 (DDoS) 攻擊,並防止流量到達您的應用程式。
- Private Link 來源:Private Link 整合可協助您保護後端應用程式,確保流量只能透過 Front Door 及其安全性保護來連線您的應用程式。
當您有嚴格的網路安全性需求時,您可以使用 Azure Front Door 來管理應用程式的輸入 HTTP 和 HTTPS 流量,並使用 Azure 防火牆來控制非 HTTP 和輸出流量。
可靠性
藉由使用 Front Door,您可以建立具有復原性和高可用性的解決方案。
- 負載平衡和容錯移轉:Front Door 是全域負載平衡器。 Front Door 會監視原始伺服器的健康情況,如果原點變成無法使用,Front Door 可以將要求路由傳送至替代原點。 您也可以使用 Front Door 將流量分散到您的原點,以減少任何一部原始伺服器上的負載。
- 任一傳播路由:Front Door 本身具有大量 PoP,每個 PoP 都可以為任何要求提供流量的服務。 任一傳播路由將流量引導至最接近的 Front Door PoP,如果 PoP 無法使用,則用戶端會自動路由傳送至下一個最接近的 PoP。
- 快取:使用 Front Door 快取可減少應用程式伺服器上的負載。 如果您的伺服器無法使用,Front Door 可能會繼續提供快取的回應,直到您的應用程式復原為止。
成本最佳化
Front Door 可協助您降低執行 Azure 解決方案的成本。
- 快取:啟用快取,內容會從全域 Front Door 邊緣節點傳回。 此方法可降低全域頻寬費用並改善效能。
- 壓縮:當 Front Door 壓縮回應時,可以降低解決方案的頻寬費用。
- 將流量分散到原點:使用 Front Door 來減少調整應用程式伺服器的需求,或過度佈建伺服器的流量尖峰容量。 每個 Front Door PoP 都可以傳回快取的內容,如果可用就可以減少應用程式伺服器上的負載。 您也可以將流量分散到多個後端伺服器,減少每個個別伺服器上的負載。
- 共用設定檔:您可以針對許多不同的應用程式使用單一 Front Door 設定檔。 當您在 Front Door 中設定多個應用程式時,您會在每個應用程式之間共用成本,而且可以減少您需要執行的設定。
卓越營運
Front Door 可協助降低執行新式網際網路應用程式的作業負擔,並讓您在不修改應用程式的情況下對解決方案進行某種變更。
- 受控 TLS 憑證:Front Door 可以發行和管理憑證。 此功能表示您不需要管理憑證更新,而且可降低使用無效或過期 TLS 憑證所造成中斷的可能性。
- 萬用字元 TLS 憑證:Front Door 支援萬用字元網域,包括 DNS 和 TLS 憑證,可讓您使用多個主機名稱,而不需針對每個子網域重新設定 Front Door。
- HTTP/2:Front Door 可協助您使用 HTTP/2 支援將舊版應用程式現代化,而不需修改應用程式伺服器。
- 規則引擎:Front Door 規則引擎可讓您變更解決方案的內部結構,而不會影響用戶端。
- 基礎結構即程式碼:您也可以使用基礎結構即程式碼 (IaC) 技術來部署和設定 Front Door,這些技術包括 Bicep、Terraform、ARM 範本、Azure PowerShell 和 Azure CLI。
解決方案架構
當您部署使用 Azure Front Door 的解決方案時,您應該考慮流量如何從用戶端流向 Front Door,以及如何從 Front Door 流向您的原點。
下圖說明使用 Front Door 的一般解決方案結構:
用戶端至 Front Door
來自用戶端的流量會先抵達 Front Door PoP。 Front Door 有大量 PoP 分散在世界各地,任一傳播會將用戶端路由傳送至其最接近的 PoP。
當 Front Door 的 PoP 收到要求時,Front Door 會使用您的自訂網域名稱為要求提供服務。 Front Door 會使用 Front Door 受控 TLS 憑證或自訂 TLS 憑證來執行 TLS 卸載。
PoP 會根據您在 Front Door 設定檔中指定的設定來執行許多功能,包括:
- 保護您的解決方案免於許多類型的 DDoS 攻擊。
- 使用 Front Door WAF 掃描要求是否有已知弱點。
- 傳回快取的回應以改善效能,如果儲存在 Front Door PoP 且對要求有效。
- 壓縮回應以改善效能。
- 直接從 Front Door 傳回 HTTP 重新導向回應。
- 選取最佳原點,根據路由結構接收流量。
- 使用規則引擎修改要求。
Front Door 完成處理輸入要求之後,會直接回應用戶端 (例如,當傳回快取的結果時),或將要求轉送至原點。
Front Door 到原點
Front Door 可以透過兩種不同的方式將流量傳送至您的原點:使用 Private Link,以及使用公用 IP 位址。
Front Door 的進階 SKU 支援使用 Private Link 將流量傳送至某些原點類型。 當您為原點設定 Private Link 時,流量會使用私人 IP 位址。 此方法可用來確保您的原點只接受來自特定 Front Door 執行個體的流量,而且您可以封鎖來自網際網路的流量。
當 Front Door PoP 使用公用 IP 位址將要求傳送至您的原點時,會起始新的 TCP 連線。 由於此行為,您的原始伺服器會看到來自 Front Door IP 位址的要求,而不是來自用戶端。
無論您使用哪一種方法將流量傳送至原點,良好的做法通常是設定原點以預期來自 Front Door 設定檔的流量,以及封鎖不會流經 Front Door 的流量。 如需詳細資訊,請參閱保護針對 Azure Front Door 來源的流量。
回應處理
Front Door 的 PoP 也會處理輸出回應。 回應處理可能包含下列步驟:
- 儲存對 PoP 快取的回應,以加速稍後的要求。
- 使用規則引擎修改回應標頭。
分析與報表
由於 Front Door 會處理所有傳入要求,因此可看見流經您解決方案的所有流量。 您可以使用 Front Door 的報告、計量和記錄,以了解您的流量模式。
提示
當您使用 Front Door 時,原始伺服器可能不會處理某些要求。 例如,Front Door 的 WAF 可能會封鎖某些要求,而且可能會傳回其他要求的快取回應。 使用 Front Door 的遙測來了解解決方案的流量模式。
下一步
了解如何建立 Front Door 設定檔。