文章

配置 CloudFront 來加速 S3 的內容分發

配置 CloudFront 來加速 S3 的內容分發

使用 Amazon CloudFront 來加速 S3 的內容分發,可以顯著提升全球用戶訪問 S3 上內容的速度和性能。以下是配置步驟:

步驟 1:準備 S3 儲存桶

  1. 創建 S3 儲存桶
    • 登入 AWS 管理控制台,導航到 S3,然後點擊 “Create bucket”
    • 為儲存桶命名並選擇區域,然後點擊 “Create bucket” 完成創建。
  2. 上傳內容到 S3
    • 進入您剛創建的 S3 儲存桶,點擊 “Upload” 上傳您想要通過 CloudFront 分發的文件。
  3. 設置公共訪問權限(可選)
    • 如果您希望所有人都能通過 CloudFront 訪問這些文件,您需要將這些文件設置為公共訪問。
    • 選擇文件,點擊 “Actions” > “Make public”,或者直接在 S3 Bucket Policies 中設置公共訪問。

步驟 2:創建 CloudFront 發行(Distribution)

  1. 進入 CloudFront 控制台
    • 在 AWS 管理控制台中導航到 CloudFront
  2. 創建新發行
    • 點擊 “Create Distribution”
    • 選擇 “Web” 作為發行方法,然後點擊 “Get Started”
  3. 配置發行設置
    • Origin Domain Name: 從下拉選單中選擇您的 S3 儲存桶(格式為 your-bucket-name.s3.amazonaws.com)。
    • Origin Path: 如果您只想加速儲存桶內的某個子目錄,可以在此指定路徑;否則保持空白。
    • Viewer Protocol Policy: 選擇 “Redirect HTTP to HTTPS”“HTTPS Only” 來確保通過 HTTPS 訪問內容。
    • Allowed HTTP Methods: 默認選擇 “GET, HEAD”,如果需要支持更多 HTTP 方法(如 POST、PUT),可以選擇對應選項。
    • Cache Based on Selected Request Headers: 默認選擇 “None”。如果有特定需求,如根據用戶代理頭來控制快取,可以選擇對應選項。
    • Object Caching: 默認選擇 “Use Origin Cache Headers”。如果需要自定義快取時間,選擇 “Customize” 並設置 TTL 值。
    • Smooth Streaming: 如果需要支持微軟 Smooth Streaming 格式,選擇此選項。
    • Restrict Bucket Access: 如果不希望 S3 URL 能被直接訪問,可以啟用這個選項,並創建一個 Origin Access Identity (OAI) 來限制存取。
  4. 設置 SSL/TLS 設定
    • SSL Certificate: 如果您有自定義域名,並且希望通過 HTTPS 訪問,選擇 “Custom SSL Certificate” 並從 ACM (AWS Certificate Manager) 中選擇憑證。
    • Supported HTTP Versions: 默認選擇 “HTTP/2, HTTP/1.1, HTTP/1.0” 來支援多種 HTTP 版本。
  5. 設置 Caching Behaviors:
    • Path Pattern: 保持 / 用於根目錄或設置特定的路徑模式來應用這個快取行為。
    • Min/Max/Default TTL: 根據您的需求設置文件的快取時間。
    • Compress Objects Automatically: 啟用此選項可自動壓縮傳遞的內容,如 HTML、CSS、JavaScript 等。
  6. 創建發行
    • 完成配置後,點擊 “Create Distribution”

步驟 3:驗證並使用 CloudFront 發行

  1. 等待發行部署完成
    • 創建發行後,CloudFront 需要幾分鐘的時間來部署。部署完成後,您可以在 CloudFront 控制台中查看分配的 Domain Name(例如 d1a2bc3d4e5fg6.cloudfront.net)。
  2. 驗證內容傳遞
    • 使用 CloudFront 分配的 Domain Name 訪問 S3 上的內容。例如,如果您的文件存儲在 mybucket.s3.amazonaws.com/image.png,您可以通過 d1a2bc3d4e5fg6.cloudfront.net/image.png 來訪問。
  3. 配置自定義域名(可選)
    • 如果您希望通過自己的域名來訪問內容,可以在 Route 53 或其他 DNS 託管商處創建 CNAME 記錄,指向 CloudFront 分配的 Domain Name。然後在 CloudFront 設置中添加您的自定義域名。
  4. 監控與優化
    • 使用 Amazon CloudWatch 監控 CloudFront 的流量、錯誤率等關鍵指標,並根據需要調整快取策略和安全設置。

總結

通過配置 CloudFront,您可以顯著提升全球用戶訪問 S3 上內容的速度,並享受高效能、安全的內容傳遞服務。CloudFront 的全球分佈邊緣節點和靈活的配置選項,使其成為加速靜態和動態內容的理想選擇。

本文章以 CC BY 4.0 授權