前一天我們在S3部署了一個小網站,今天我們來談談CDN,並用前一天製作的網站來當作今天實作的範例。
CDN 是「內容傳遞網路」,它會將網站或應用程式的資源(HTML、CSS、JS、圖片等)複製到世界各地的 Edge Locations。使用者存取網站時,會自動從距離最近的節點取得內容,減少延遲。(比如說如果網站只放在 S3,並且區域在美國,台灣或亞洲用戶請求時會因為距離造成延遲)
首先進入AWS控制台 → CloudFront → Create Distribution。
- Distribution options:
- Origin設定:
- Web Application Firewall (WAF):
練習階段,我們先選「不要啟用安全保護」。之後上線再考慮加WAF。(如果沒有成本考量也可以加喔!)
按 Create Distribution,等待5分鐘左右建立完成。
等待狀態:
Distribution會顯示「In Progress」,通常要等 5–15 分鐘才會變成「Deployed」。
- 設定 Default root object(預設根物件):
這邊一樣展示截圖+網址:
https://d3m3zyje4hy1cf.cloudfront.net/
如果你點的進網址的話,你會發現和昨天的比,其實速度上差不了多少,這是因為我的S3 bucket本身放在台北,且網站只是很小的靜態網站(HTML + CSS + JS),所以感覺上其實沒差,這邊就是先教大家方法,那什麼時候會用到CloudFront?
1. 使用者分布很廣:
如果有美國、歐洲、東南亞的訪客,CloudFront會明顯比較快,因為它會就近從Edge Server提供內容。
2. 檔案很大:
例如:圖片相簿、影片、PDF 檔案,CloudFront會快取在Edge,重複下載的人就不用再跨區抓一次。
3. 要用HTTPS+自訂網域
https://www.mysite.com
,幾乎都得靠CloudFront+ACM。