使用 函數在邊緣自訂 - Amazon CloudFront

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 函數在邊緣自訂

使用 Amazon CloudFront,您可以撰寫自己的程式碼,以自訂 CloudFront 分發處理 HTTP 請求和回應的方式。程式碼會靠近檢視器 (使用者) 執行,以將延遲降至最低,而且您不必管理伺服器或其他基礎設施。您可以撰寫程式碼可以操作流經 CloudFront 的請求和回應,執行基本身分驗證和授權,在邊緣產生 HTTP 回應等。

您撰寫並附加至 CloudFront 分發的程式碼就稱為邊緣函數。CloudFront 提供兩種撰寫和管理邊緣函數的方式:

CloudFront Functions

您可以在 JavaScript 中撰寫輕量型函數,以進行大規模、延遲敏感的 CDN 自訂。CloudFront Functions 執行時間環境提供低於一毫秒的啟動時間,可立即擴展以每秒處理數百萬個要求,並且非常安全。CloudFront Functions 是 CloudFront 的原生功能,這表示您可以在 CloudFront 中完全建置、測試和部署程式碼。

Lambda@Edge

Lambda@Edge 是 的延伸AWS Lambda,為複雜的函數提供強大且靈活的運算,並提供更接近瀏覽者的完整應用程式邏輯,而且非常安全。Lambda@Edge 函數在 Node.js 或 Python 執行階段環境中執行。您可以將它們發佈到單一 AWS 區域,但當您將函數與 CloudFront 分佈建立關聯時,Lambda@Edge 會自動將程式碼複寫到全世界。

如果您在 CloudFront AWS WAF 上執行 ,則可以對 CloudFront Functions 和 Lambda@Edge 使用 AWS WAF 插入的標頭。這適用於檢視器和原始伺服器請求和回應。