S3 CloudFront Distribution

Create A CloudFront Distribution

Networking & Content Delivery / CloudFront

Amazon CloudFront 是快速內容交付網路 (CDN) 服務,可在支援開發人員的環境中,以低延遲和高速傳輸的方式將資料、影片、應用程式和 API 安全地交付給全球的客戶。

CloudFront 可與多種服務流暢搭配,包含使用 AWS Shield 減少 DDoS 攻擊次數、以 Amazon S3、Elastic Load Balancing 或 Amazon EC2 做為應用程式的來源,以及使用 Lambda@Edge 在更靠近客戶使用者的位置執行自訂程式碼,並自訂使用者體驗。

Create a CloudFront Distribution

點選 Networking & Content Delivery / CloudFront 按鈕,可以看到 CloudFront Distributions 頁面,直接點選 Create Distribution 以建立 CloudFront

image
image

總共有兩個步驟:

  1. Select delivery method
  2. Create Distribution

首先,可以選擇 WebRTMP 兩種方式, RTMP 主要是拿來給 Media 類型來使用的 (e.g. Adobe Media),這邊就直接以 Web / Get Started 來實作範例

image

還記得我們當初在 S3 Cross Region Replication 建立的 S3 Bucket 吧?這時候就可以選擇這個 Bucket 來測試看看

Origin Domain Name 選取要被 Distribution 的 Bucket,其餘選項將以預設來 Create Distribution

image

完成後大約要等待 15-30 分鐘左右,當 Status 變成 Deployed 就代表完成並且 Enabled

image

而也會取得一個 Domain name 即其他資訊,可以試著打開這個連結,會發現裡面的內容跟當初建立 S3 Bucket 是相同的,只是現在被 DistributionEdge Location

Domain Name:d2qxnxw978i04y.cloudfront.net

image

最後,如果在 Origin 的 Bucket 有 Upload 許多檔案的話,現在不用再輸入當初給的 S3 Bucket 連結來取得圖片,我們可以透過剛剛給的 Domain Name 並加上檔案名稱(如同 S3 Bucket ㄧ樣)就可以直接圖取到檔案啦!(e.g. http://d2qxnxw978i04y.cloudfront.net/icon.png)

image

總結

  • Edge Location:This is the location where content will be cached. This is separate to an AWS Region/AZ.
  • Origin:This is the origin of all the files that the CDN will distribute. This can be either an S3 Bucket, an EC2 Instance, an Elastic Load Balancer, or Route 53.
  • Distribution:This is the same given the CDN which consists of collection of Edge Locations.
  • Web Distribution:Typically used for Websites.
  • RTMP:Used for Media Streaming.
  • Edge locations are not just READ only - you can write to them too. (ie put an object on to them)
  • Objects are cached for the life of the Time To Live.
  • You can clear cached objects, but you will be charged.

Getting Started with a Simple CloudFront Distribution