AWS S3存儲類型費用解析

AWS S3 是AWS最早發佈的服務,已穩定運營多年,提供的功能也越來越多,費用也變得越來越複雜,本文主要針對不同的Storage Class來進行說明,從不同的角度觀察在不同Storage Class帶來的成本收益。(本文文中出現的價格按照美國西部(加利福尼亞北部)為參考)


AWS S3現在有多種存儲類型,讓人非常之眼花繚亂,主要分為以下幾種:

• S3 標準

• S3 智能分層

• S3 標準 - IA

• S3 單區 - IA

• S3 Glacier

• S3 Glacier 深度存檔

01、存儲類型簡述

除了“S3 標準”外,所有其他的類型都屬於低頻存儲,故名思議,就是不經常訪問的數據,那麼這個不經常訪問,要多不經常呢,aws對低頻通常要求至少存儲30天,這裡我建議如果不是存儲半年都不會被訪問,那麼就不要用低頻存儲了,老老實實用標準即可,至於原因,可以參看費用陷阱來看。


使用低頻存儲可以大大降低存儲費用,適用於長期不被訪問到的數據。


當使用低頻訪問存儲時,對用戶來講,僅僅是對象的StorageClass屬性發生變化,通過S3 API的list-objects/list-objects-v2,還是可以顯示出來你的對象,並按照定價文檔中的請求付費進行收費。


當一個web請求命中了低頻訪問存儲,這個時候會先轉換成“S3標準”,然後對外提供服務,通常“S3標準”->“S3 低頻”的生命週期是免費的,但是反過來則收費。


也就是低頻存儲適合真真正正的冷數據,當你不能分辨的時候,使用標準存儲。


02、費用計算陷阱

AWS著名的安全原則是“deny by default”,那麼其實在費用方面,我認為是"cost by default"。


我們來看個栗子:


假設我現在想使用智能分層存儲來優化我的成本,是不是很美好呢?


INTELLIGENT_TIERING 存儲類將對象存儲在兩個訪問層中:一個是針對頻繁訪問進行了優化的層,另一個是針對不頻繁訪問的數據進行了優化的更低成本的層。對於每個對象的小額月度監控和自動化費用,Amazon S3 監控 INTELLIGENT_TIERING 存儲類中對象的訪問模式,然後將連續 30 天未訪問的對象移至不頻繁訪問層。


使用 INTELLIGENT_TIERING 存儲類時沒有檢索費用。如果不頻繁訪問層中的對象被訪問,則對象將自動移回頻繁訪問層。在 INTELLIGENT_TIERING 存儲類中的訪問層之間移動對象時,不會產生額外的分層費用。


看起來很省錢對吧,其實不然,首先,連續30天未訪問的對象移至不頻繁訪問層,這個根據S3 定價文檔 ,看起來是免費的。當你想訪問不頻繁訪問層時候,問題就來了,S3會首先將其轉換到頻繁訪問層,也就是這個按照文檔收取每1000個對象生命週期轉換0.01美元,同時按照 存儲上面定義,所有的容量,要收取0.0025 USD/1,000 個對象。


也就是說,當我有1萬個對象的時候,我需要支付0.0025*10,000/1,000=0.025USD+每個月從標準層轉換到低頻訪問層的對象數量*0.01/1,000,才是我真正的費用。


03、總結

AWS S3所有除標準外的存儲,當對外提供服務時,或者是需要被訪問到的時候,他們是首先被轉換成S3標準,然後對外服務,轉換過程不免費。


分享到:


相關文章: