1. 程式人生 > 其它 >AWS 14 CloudFront

AWS 14 CloudFront

AWS CloudFront

AWS雲峰

•內容交付網路(CDN)content delivery network.
•提高閱讀效能和內容快取在邊緣
•全球216個存在點(edge位置)
•DDoS防護、與Shield的整合、AWS Web應用程式防火牆
•可以公開外部HTTPS和可以與內部HTTPS後端通訊,通過載入證書

CloudFront——起源

•S3桶
•用於分發檔案並將其快取在邊緣
•通過CloudFront源站訪問標識(OAI)Origin Access Identity 增強了安全性
•CloudFront可用作入口(將檔案上傳到S3)

•自定義源(HTTP) respects the HTTP protocol.
•應用程式負載平衡器
•EC2例項
•S3網站(必須首先將bucket作為靜態S3網站啟用)
•任何您想要的HTTP後端

訪問需要(OAI)或者 IAM Role 對於S3
EC2例項 必須 public , 安全組需要允許cloudfront edge 進入ec2
ALB 必須 public ,其後的EC2可以private 允許ALB訪問
---------------------------------------------------------------------------------------------------
雲面地理限制
•您可以限制誰可以訪問您的分發
•白名單:僅當您的使用者位於其中一個位置時,才允許他們訪問您的內容已批准國家名單上的國家。
•黑名單:如果你的使用者處於某個位置,則阻止他們訪問你的內容被禁國家黑名單上的國家。

•使用第三方地理IP資料庫確定“國家”
•用例:控制內容訪問的版權法

CloudFront與S3跨區域複製
•雲端:
•全球邊緣網路
•檔案快取為TTL(可能一天)
•適用於必須隨處可見的靜態內容

•S3跨區域複製:
•必須針對您希望進行復制的每個區域進行設定
•檔案幾乎實時更新
•只讀
•非常適合需要在幾分鐘內以低延遲提供的動態內容區域

---------------------------------------------------------------------------------------------------

CloudFront快取

•基於
•Headers
•會話cookie
•查詢字串引數
•快取位於每個CloudFront Edge地方
•您希望最大化快取命中率儘量減少對源站的請求
•控制TTL(0秒到1年),可以由原點使用CacheControl標頭、Expires標頭設定…
•您可以使用以下命令使部分快取無效:CreateInvalization API

CloudFront–通過分離靜態和動態分佈,最大限度地提高快取命中率

CloudFront和HTTPS
•檢視器協議策略:
•將HTTP重定向到HTTPS
•或僅使用HTTPS
•源協議策略(HTTP或S3):
•僅限HTTPS
•或匹配檢視器
(HTTP=>HTTP&HTTPS=>HTTPS)
•注意:
•S3 bucket“網站”不支援HTTPS

---------------------------------------------------------------------------------------------------
CloudFront已簽名URL/已簽名Cookie
•您希望將付費共享內容分發給世界各地的高階使用者
•為了限制觀眾訪問,我們可以建立一個CloudFront簽名的URL/Cookie
url有效期,ip範圍,信任的簽署者
•URL的有效期應為多久?
•共享內容(電影、音樂):縮短(幾分鐘)
•私人內容(對使用者來說是私人的):你可以讓它持續多年

•簽名URL=訪問單個檔案(每個檔案一個簽名URL)
•簽名Cookies=訪問多個檔案(多個檔案使用一個簽名cookie)


CloudFront簽名URL vsS3預簽名URL

•CloudFront簽名URL:
•允許訪問路徑,無論起源
•帳戶範圍的金鑰對,僅根金鑰能行
•可以按IP、路徑、日期和過期時間進行過濾
•可以利用快取功能

S3預簽名URL:
•作為預先簽署URL的人發出請求
•使用簽名IAM負責人的IAM金鑰
•壽命有限

CloudFront簽名URL程序
•兩類簽名者:
•可信金鑰組(推薦)
•可以利用API建立和旋轉鍵(IAM用於API安全)
•包含CloudFront金鑰對的AWS帳戶
•需要使用root帳戶和AWS控制檯管理金鑰
•不推薦,因為您不應該為此使用root帳戶

•在CloudFront發行版中,建立一個或多個受信任金鑰組
•生成自己的公鑰/私鑰
•應用程式(如EC2)使用私鑰對URL進行簽名
•CloudFront使用公鑰(上傳)來驗證URL

---------------------------------------------------------------------------------------------------

CloudFront-定價
•CloudFront Edge的位置遍佈世界各地
•每個邊緣位置的資料輸出成本各不相同

CloudFront–價格類別

•您可以減少邊緣位置的數量以降低成本
•三種價格等級:
1.價格等級所有:所有地區-最佳效能
2.價格等級200:大多數地區,但不包括最昂貴的地區
3.價格等級100:僅限最便宜的地區

CloudFront – Multiple Origin
•根據內容型別選擇不同的來源
•基於路徑模式:
•/影象/*
•/api/*
• /*

CloudFront–原始組
•提高高可用性並進行故障切換
•來源組:一個主要來源和一個次要來源
•如果主原點出現故障,則使用第二個原點

CloudFront–欄位級加密
•通過應用程式堆疊保護使用者敏感資訊
•與HTTPS一起增加了額外的安全層
•在靠近使用者的邊緣加密敏感資訊
•使用非對稱加密
•用法:
•在POST請求中指定要加密的欄位集(最多10個欄位)
•指定加密它們的公鑰
---------------------------------------------------------------------------------------------------