AWS CloudFront可配合一些其他的服務一起使用,其中就包括了EC2和S3。遵循以下步驟可從一個S3存儲段中設置一個CloudFront分布。
AWS CloudFront是一個用戶用于加速靜態或動態內容發布的內容發布服務,這里所謂的靜態或動態內容主要包括媒體(圖像或視頻)文件、HTML、Java腳本程序、CSS文件以及其它。它的簡潔用戶界面可以幫助管理員設置CloudFront發布。但是,這一過程并不只是指向和點擊那么簡單。下面,就讓我們來看看CloudFront的工作原理以及應當如何來部署它。
在CloudFront中,每一片的內容都被組織成為具有獨特URL并可從網絡被訪問的發布。該服務可從邊緣加速節點數據中心發布這一內容;目前,AWS在全球部署著52個邊緣加速節點數據中心以供內容緩存使用。
AWS CloudFront支持兩種形式的發布:流形式與下載方式。當一名用戶使用CloudFront URL來請求靜態內容時,該服務就會根據發出請求的IP以及緩存這一內容的數據中心的位置來找到距離這個IP最近的邊緣加速節點數據中心。這樣一來,所有來自于相同位置的請求就會減少延遲時間。
CloudFront可配合多個AWS服務使用,其中包括了簡單存儲服務(S3)、彈性計算云(EC2)、彈性負載平衡(ELB)以及Route 53。CloudFront的主要功能包括:
支持動態內容(減少未來請求的延遲時間)支持自定義域名設備檢測(移動設備和網絡設備)支持Post/PUT以及其它的HTTP協議自定義錯誤響應支持cookies、查詢字符串以及其它鏈接一個CloudFront發布至S3
為了從一個S3建立一個CloudFront網絡發布,你將需要一個S3存儲和一個可公開訪問的對象(如圖1)。
圖1 S3存儲段以及一個可公開訪問的對象
然后,可遵循以下步驟:
1. 轉至CloudFront并創建一個網絡發布
圖2 選擇初始域名存儲段
2. 在初始域名欄位,選擇存儲段名稱,并在限制存儲段訪問中選擇“No”。這樣做可以限制只能從CloudFront訪問對象,所以就沒有人可以從S3訪問這個存儲段了(如圖2)。
3. 使用以下參數配置緩存設置:
路徑模式:默認。針對特定對象應用緩存處理。如果選擇了默認值(*),它就會把所有請求發送到選中的存儲段中。瀏覽器協議策略:HTTP 和 HTTPS。如果用戶想要求CloudFront允許瀏覽器使用HTTP或HTTPS協議來訪問用戶的網絡內容。允許的HTTP方法:GET,HEAD。選擇用戶希望這一緩存操作所允許的HTTP方法列表。轉發頭文件:None。如果用戶希望根據請求中發送的頭文件來緩存內容,那么就可以使用它。理想情況下,保持“None”項是可以提高性能的。對象緩存:使用初始緩存頭文件。當你的初始服務器將增加一個緩存控制頭文件以便于控制對象被保存在CloudFront緩存中多長時間時,可選擇這一選項。轉發cookies:無。如果用戶希望CloudFront在它發送給初始服務器的請求中囊括所有的用戶cookies,那么就可以指定“None”。否則,可指定你希望包含在內的cookies。選擇“None”,就可配置CloudFront不要發送cookies。轉發請求字符串:不。為了根據URL中的請求字符串獲得不同版本的對象;設置“Yes”選項以便于在發送給初始服務器的請求URL中包含請求字符串。限制瀏覽器訪問:No。在理想情況下,選擇“yes”以提高安全性。選擇“no”可讓每個人都能夠查看內容。限制瀏覽器訪問意味著要求使用者為安全訪問而創建一個簽名的URL(如圖3)。圖3 限制瀏覽器訪問
4. 接下來,是設定發布設置
價格類別:使用所有的邊緣加速節點數據中心。這一操作可以讓用戶自行選擇愿意為CloudFront服務支付的最高價格。CNAMEs:空白。這一操作可以允許用戶為對象使用URL而不是CloudFront分配的域名。因此,用戶可以指定一個自定義URL,而不是CloudFront發布。SSL證書:默認CloudFront。這一項可以讓管理員上傳他們自己的證書。用戶還可以保留其它的選項作為默認值,并創建發布(如圖4)。圖4 默認的CloudFront設置。
一旦創建了發布,那么你將有一個CloudFront URL,例如:"http://d3ptzllcr53x1i.CloudFront.net"。然后,就可以使用這個URL來訪問對象了。