應用亞馬遜S3云存儲成本分析與安全評估
在亞馬遜最早推出云存儲服務的時候,幾乎所有人都會有疑問:亞馬遜是搞電子商務的,為什么會搞起云服務呢?實際上,S3云存儲平臺并不是亞馬遜為了提供存儲服務而構建的,而是利用其他服務的剩余資源來提供存儲服務,包括云存儲服務,亞馬遜還提供云計算、數據庫等服務,而這些服務是經過其自有業務充分驗證過的,所以可靠性值得信任。
該云存儲平臺主要采用分布式系統,有優化的分布式算法,能進行良好的容錯。與google的分布式文件系統的設計理念類似。
亞馬遜S3云存儲收費標準和服務
使用S3云存儲服務,毫無疑問需要付出一定的成本,下面是美國使用的價格。按下面的價錢計算,每月使用5G空間,10G流量,大約需付出2.5$的成本,合每年大概200RMB,在國內租個同樣水平的虛擬主機價錢大致相當,但是amazon的穩定性、可靠性應該沒有哪個國內的主機商比的上,所以成本相對還是可以接受的:
1.亞馬遜云存儲平臺收費標準
![]() |
2. 提供的服務
S3只提供存儲服務,不提供計算服務,所以不能用來做網站只能用于數據備份、圖片外鏈、文件下載等用途。或者當一個高可靠的網盤使用。
支持上傳最大5GB的單個文件。
支持域名綁定,鑒權訪問,支持REST和SOAP接口,支持HTTP下載,還支持BT下載。
對于國內的用戶來說,Amazon服務器位于國外,有可能會遇到傳輸不穩定的情況。
Amazon的服務條款承諾了提供99.9%的可用時間,還為此提供了信用保證,如果低于3個9的可用性,會提供10%~25%的賠償。
了解S3云存儲的收費標準,下面我們將分析一下,應用S3替代家用備份服務器的成本和經濟效益。
假設一臺家用服務器的配置是2.4GHz 奔騰4(當然今天有很多服務器產品擁有更強勁的處理能力和更節能的特性,本文主要參考筆者家里的配置),在一個RAID配置中,包含3個250GB的SATA盤,加上一個80GB boot和OS盤。筆者用Kill A Watt工具來測量它的電量使用,最后發現,它消耗了大量120瓦,主要是空轉的CPU和磁盤旋轉。一個月大約80千瓦時。根據筆者當地的平均電力成本數據為每千瓦時$0.16247。
替代家用服務器的成本分析
根據我們前面的數據,可以看出筆者家里的服務器每個月的成本至少是13美元,每年的成本大約是170美元。僅僅是電源開著,空轉。還不算筆者大約花費在磁盤上的700美元,主板、CPU、機箱、RAM等筆者還花了700美元。這些都是絕對最低的了,因為在CPU運行時,它消耗的電能也更多。
那么假設筆者在服務器上的開銷是1400美元,使用了5年,每個月的費用是22美元。
如果你繼續相加,就是每個月$22 + $13 = $35,僅僅是備份數據。假設沒有任何硬件損壞,五年來的備份總成本是2180美元。
亞馬遜的定價模型是很引人注目的。筆者現在每個月付的存儲數據比率費用$0.15/GB。數據傳輸費用是$0.20/GB。在沒有壓縮的情況下,筆者的備份要求大約125GB的磁盤空間。在亞馬遜的S3上存儲每個月的費用是18.75美元。
假設在未來五年內筆者的增長率是11GB /月(大多是圖片),每周傳輸2GB做備份(包括日志文件,電子郵件和其他臨時的東西)。每周2GB,一個月就是8GB,每個月的費用是1.6美元,每年的總費用是20.80美元,五年內的費用就是104美元。
假設從現在到5年后,增長率達到了190GB,暫且記為200GB吧。如果增長率是固定的,筆者能使用的平均就是200GB和125GB,5年后最后是1585美元。加入這一切,如果這些猜測是正確的,假設亞馬遜價格不降的情況下,筆者最后需要支付1688美元。換句話說,轉向S3在5年里,將節省587美元。
很明顯使用S3可以從電量方面和不采購備份硬件(服務器和磁盤)兩方面都省錢。此外,亞馬遜云存儲平臺給筆者帶來的其他好處包括:
可用性。和筆者家里的服務器以及住宅等級的帶寬服務相比,亞馬遜服務降低的可能性很小。
速度。如果一個遠程服務器壞了,筆者需要把所有bits的筆者家的DSL或電纜連接上,使用S3意味著筆者可以恢復的更快。
簡單性。這就減少了筆者不得不花費時間管理Unix box的麻煩,即使每周或每兩周只有5分鐘。
在上面的計算中,很可能經濟好處比筆者想的更多。實際上,結果證實第一個晚上筆者誤讀了它的輸出量,實際上只需要一半的空間,也就是75GB而不是125GB。
亞馬遜S3云存儲的安全保障
S3為每個用戶分配了ID和密鑰,用于保證用戶的操作是經過授權,合法的。
Access Key ID為AWS分配的ID,Secret Access Key為AWS分配的密鑰,應該保證該密鑰不泄露出去。
為了保證安全,所有對S3的操作都需要使用Secret Access Key簽名,S3根據ID獲得服務端的Secret Access Key,重新計算一次簽名,如果簽名結果相匹配則說明該請求是合法的。
2.訪問控制
S3在文件權限的設計上提供了ACL和訪問碼兩種方式。
2.1 ACL
每個bucket和object(文件)都可以定義ACL,這兩個權限是相互獨立的;ACL由Grantees和Permission組成,Grantees定義了用戶類別,Permission定義了用戶擁有的權限;比較不爽的是這些用戶都是基于AWS的注冊用戶進行定義,未注冊用戶只定義了匿名組一個類別。
2.2 訪問碼
將用戶的ID和過期時間用密鑰簽名之后,就可以以訪問碼的方式來訪問對象文件,如下所示:http://quotes.s3.amazonaws.com/nelson?AWSAccessKeyId=44CF9590006BF252F707Expires=1177363698Signature=vjbyPxybdZaNmGa%2ByT272YEAiv4=
評論