

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

# 使用 CloudFront 的方式
<a name="IntroductionUseCases"></a>

使用 CloudFront 可協助您達成各種目標。本節僅摘列其中幾項，另提供詳細資訊的連結以讓您了解更多可能性。

**Topics**
+ [加速靜態網站內容交付](#IntroductionUseCasesStaticWebsite)
+ [提供隨需視訊或即時串流視訊](#IntroductionUseCasesStreaming)
+ [在整個系統處理過程中加密特定欄位](#IntroductionUseCasesFieldLevelEncryption)
+ [在邊緣進行自訂](#IntroductionUseCasesProgrammableCDN)
+ [使用 Lambda@Edge 自訂項目提供私有內容](#IntroductionUseCasesPrivateContentAtTheEdge)

## 加速靜態網站內容交付
<a name="IntroductionUseCasesStaticWebsite"></a>

CloudFront 可加速將靜態內容 (如影像、樣式表、JavaScript 等) 交付予全球各地的瀏覽者。透過使用 CloudFront，您可以利用 AWS 骨幹網路和 CloudFront 邊緣伺服器，讓您的瀏覽者在造訪您的網站時獲得快速、安全和可靠的體驗。

簡單存放及交付靜態內容的方法是使用 Amazon S3 儲存貯體。使用 S3 結合 CloudFront 有許多優點，包括可選擇使用[原始存取控制](private-content-restricting-access-to-s3.md)，輕鬆限制對您 Amazon S3 內容的存取。

如需搭配使用 Amazon S3 與 CloudFront 的詳細資訊，包括可協助您快速入門的 CloudFormation 範本，請參閱 [開始使用安全的靜態網站](getting-started-secure-static-website-cloudformation-template.md)。

## 提供隨需視訊或即時串流視訊
<a name="IntroductionUseCasesStreaming"></a>

CloudFront 為全球各地的瀏覽者提供多種媒體串流選項，包括預錄檔案和直播活動。
+ 對於隨選影片 (VOD) 串流，您可使用 CloudFront 以常見的格式，如 MPEG DASH、Apple HLS、Microsoft Smooth Streaming 和 CMAF 等，將內容串流至任何裝置。
+ 對於廣播即時串流，您可在節點快取媒體片段，以便將按正確順序傳輸各片段的資訊清單檔案的多個請求相組合，從而減輕原始伺服器的負擔。

如需如何使用 CloudFront 交付串流內容的詳細資訊，請參閱[使用 CloudFront 提供隨需視訊和即時串流視訊](on-demand-streaming-video.md)。

## 在整個系統處理過程中加密特定欄位
<a name="IntroductionUseCasesFieldLevelEncryption"></a>

設定 HTTPS 搭配 CloudFront 時，即已獲得原始伺服器的安全端對端連線。若增設欄位層級加密，您便可在整個系統處理過程中保護特定資料並實施 HTTPS 安全性，從而只有原始伺服器端的某些應用程式才能看到該資料。

若要設定欄位層級加密，請在 CloudFront 中新增公有金鑰，然後指定您想要使用該金鑰加密的一組欄位。如需詳細資訊，請參閱 [使用欄位層級加密來協助保護敏感資料](field-level-encryption.md)。

## 在邊緣進行自訂
<a name="IntroductionUseCasesProgrammableCDN"></a>

透過在節點執行無伺服器程式碼，開啟了讓您為瀏覽者自訂內容與體驗的諸多可能性，同時還可減少延遲。例如，您可在原始伺服器停機進行維護時傳回自訂錯誤訊息，以免瀏覽者看到的是一般 HTTP 錯誤訊息。或者，您可以在 CloudFront 將請求轉送到原始伺服器之前，使用函數協助授權使用者並控制對內容的存取。

使用 Lambda @Edge 搭配 CloudFront 可讓您使用多種方式來自訂 CloudFront 交付的內容。若要進一步了解 Lambda@Edge 以及如何使用 CloudFront 建立與部署函數，請參閱[使用 Lambda@Edge 在邊緣自訂](lambda-at-the-edge.md)。如欲查看可供您針對自身解決方案進行自訂的若干程式碼範例，請參閱 [Lambda@Edge 範例函數](lambda-examples.md)。

## 使用 Lambda@Edge 自訂項目提供私有內容
<a name="IntroductionUseCasesPrivateContentAtTheEdge"></a>

除了使用已簽章 URL 或已簽章 Cookie，使用 Lambda@Edge 也可協助您設定 CloudFront 分佈從您的自訂原始伺服器提供私有內容。

若要使用 CloudFront 提供私有內容，請執行以下操作：
+ 要求使用者 (瀏覽者) 使用[已簽章的 URL 或已簽章的 Cookie](PrivateContent.md) 來存取內容。
+ 限制針對您原始伺服器的存取，使該伺服器僅可透過 CloudFront 面對原始伺服器使用。您可通過下列其中之一的方式執行此操作：
  + 對於 Amazon S3 原始伺服器，您可[使用原始存取控制 (OAC)](private-content-restricting-access-to-s3.md)。
  + 對於自訂的原始伺服器，您可以執行下列操作：
    + 如果自訂原始伺服器受到 Amazon VPC 安全群組保護 AWS Firewall Manager，或者，您可以使用 [ CloudFront 受管字首清單](LocationsOfEdgeServers.md#managed-prefix-list)，僅允許從 CloudFront 面向原始伺服器的 IP 地址傳入至原始伺服器的流量。
    + 使用自訂 HTTP 標頭來將存取限制為僅供 CloudFront 的請求使用。如需更多詳細資訊，請參閱 [在自訂原始伺服器上限制存取檔案](private-content-overview.md#forward-custom-headers-restrict-access) 及 [將自訂標頭新增到原始伺服器請求](add-origin-custom-headers.md)。如需使用自訂標頭來限制 Application Load Balancer 原始伺服器的存取，請參閱 [限制對 Application Load Balancers 的存取](restrict-access-to-load-balancer.md)。
    + 如果自訂原始伺服器需要自訂的存取控制邏輯，您可以使用 Lambda@Edge 來實作該邏輯，如此部落格文章中所述：[使用 Amazon CloudFront 與 Lambda@Edge 提供私有內容](https://aws.amazon.com/blogs/networking-and-content-delivery/serving-private-content-using-amazon-cloudfront-aws-lambdaedge/)。