2012年4月4日

筆記:Amazon S3 及 CloudFront 費用計算

今年開始陸續將一些 Web 搭配 Amazon S3 / Cloud Front 雲端服務,除了先前文章中談過的 CDN(放置 Web Static Assets,如 CSS/JS/ICON...)用途外,我也嘗試使用 S3 + CloudFront 提供以下檔案的儲存與傳輸加速。
  • PLWeb.org 的程式碼編輯器(單一 USER 的下載量約 9.3MB)
  • ContPub.org 的電子書(每本電子書的容量約 300KB 至 3MB)

使用 S3 + CloudFront 的好處很多,例如取之不盡用之不竭的傳輸頻寬(實測幾乎都有大於100Mbps)、儲存空間(就算大於10TB也沒問題),也不必擔心負載過量的問題。網站以 Web-based 架構建置,搭配 S3 + CloudFront 處理使用者上下傳檔案的部分,就可以輕鬆享受以下的好處:
  • 網站及資料庫本身仍可架設在自有的伺服器,僅檔案部分交由 S3 + CloudFront 處理。
  • 輕鬆享有與跨國企業同級的頻寬,超過 100Mbps 的上傳頻寬,以種花電信的企業型光世代固定制方案來說,光是 5Mbps 的上傳頻寬就要月付近 2000 元,而且還不是很穩定 : )
  • 輕鬆享有與跨國企業同級的機房,S3 有良好的 HA(高可用性),Amazon 宣稱可達 99.999999999% durability and 99.99% availability。
  • 透過 CloudFront 建置的內容傳遞網路,在世界多個國家都能享有良好的檔案傳輸速度。
  • S3、CloudFront 沒有分級,不管中小企業或跨國大企業,都是享有同樣的高規格服務,而且是依使用量計費。
  • S3 比起一般自建的伺服器更可靠,畢竟備用電力、備援網路、防災防震、異地備份這些建置費用太過昂貴;但為了避免極端的意外發生,S3 的使用者,也可以購買一般的高容量硬碟或 NAS,定期將檔案同步備份。
  • S3 提供足夠的頻寬,可以滿足需求的變化。例如網站可能在某個時期需要極高的頻寬(例如100Mbps),但平時大部分時間只需要很低的頻寬(例如1Mbps),為了保證服務的品質,可能需要為了短時間的需求租用100Mbps,但大部分的時間頻寬都是閒置,雲端的儲存服務則可以解決這種過度投資帶來的浪費,你需要多少頻寬,它就給你多少,依照實際用量計費。

即使這些好處看得到也吃得到,但是,我們更關心的:到底要付出多少錢?Amazon 公告的 Pricing 很詳細,但也讓人看得霧煞煞,心裡冒出不少問號。

這個月我終於收到一筆超過 $10 USD 的帳單,可以檢視 S3 及 CloudFront 的實際收費 : )

這是3月份 PLWeb.org 的造訪人次,因為是會員制網站,實際訪問量並不高,但其中有九成會執行檔案下載動作。

主要的費用是 CloudFront 的傳輸費部份,因為網站的主要使用者來自台灣,所以費用都落在亞太地區(東京或新加坡)。CloudFront 會自動選擇網路距離比較近的機房,其中大部份都來自東京,實測的結果種花電信到東京機房的傳輸確實比較快。從費用說明可以看到,費率高低是:東京 > 新加坡 > 南美 > 歐洲 = 美國。

雖然我的 CloudFront 檔案來源是 S3,但 S3 的部份幾乎沒產生什麼費用,一部分的原因是 AWS 第一年有免費的儲存容量額度,而 Request 的費用則相當低廉。

如果需要傳輸量的明細,AWS 也提供 Usage Report,格式包含 CSV 及 XML。

這是 CSV 版本的明細範例,列表是該月每天的流量狀況。

因為 AWS 目前沒有漂亮的圖形化 Usage Report,用慣 Google Analytics 的網站經營者,可能會想要這種一目了然的簡潔報表,這個畫面是 S3STAT 網站,月付 $5 USD 的價格,就可以得到更 friendly 的報表。

在計算過後,我目前考慮先取消部分的 CloudFront 服務,因為單月 55GB 的傳輸量都落在亞太區,產生的費用是 $10 USD 左右;若是把這個費用加到 Linode,則可以從 Linode 512 升級成 768 方案,傳輸額度就會比原本的 200GB 增加為 300GB,即增加了 100GB 的額度,而 Linode 機房選擇在東京,對亞太地區的傳輸速度也已能夠滿足了。

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!