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
總共有兩個步驟:
- Select delivery method
- Create Distribution
首先,可以選擇 Web
和 RTMP
兩種方式, RTMP
主要是拿來給 Media 類型來使用的 (e.g. Adobe Media),這邊就直接以 Web / Get Started
來實作範例
還記得我們當初在 S3 Cross Region Replication 建立的 S3 Bucket 吧?這時候就可以選擇這個 Bucket 來測試看看
將 Origin Domain Name
選取要被 Distribution
的 Bucket,其餘選項將以預設來 Create Distribution
完成後大約要等待 15-30 分鐘左右,當 Status
變成 Deployed
就代表完成並且 Enabled
而也會取得一個 Domain name
即其他資訊,可以試著打開這個連結,會發現裡面的內容跟當初建立 S3 Bucket 是相同的,只是現在被 Distribution
到 Edge Location
Domain Name:d2qxnxw978i04y.cloudfront.net
最後,如果在 Origin 的 Bucket 有 Upload 許多檔案的話,現在不用再輸入當初給的 S3 Bucket 連結來取得圖片,我們可以透過剛剛給的 Domain Name
並加上檔案名稱(如同 S3 Bucket ㄧ樣)就可以直接圖取到檔案啦!(e.g. http://d2qxnxw978i04y.cloudfront.net/icon.png)
總結
- 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.