配合本系列文章的寫作,陸續將手機裡面的影片反反覆覆上傳到 S3 又刪除,又搭配了一些 AWS 的服務一起使用,可想而知的是下個月帳單的費用會多出一些先前沒在使用的東西。
對於花錢儲存資料這件事情,根據人類的使用習慣,一般都是剛丟上雲端上的那一陣子,時不時地會去翻閱,或者是分享給親朋好友觀看存儲,並且隨著時間的推移,慢慢地越來越不頻繁的讀取。 這時候就可以將資料「冰起來」! 放到讀取速率較慢的設備中存放,或者是減少副本數量,犧牲一些速度或是可靠度,來換取價格降低。
以下我們將做個簡單的設定,來節降成本。
類型 | 名稱 | 適合用途 | 成本 (相對標準) | 取回成本 | 最小儲存天數 | 備註 |
---|---|---|---|---|---|---|
熱存取 | Standard | 頻繁使用的影片、封面、API 即時回傳 | 💰💰 | 無 | 無 | 預設類型 |
低頻存取 | Standard-IA | 偶爾播放的影片或老資料 | 💰 | 有 | 30 天 | 同區可快速取回 |
非關鍵資料 | One Zone-IA | 備份副本、重建容易的檔案 | 💰🪙 | 有 | 30 天 | 僅儲存在一個 AZ |
自動分層 | Intelligent-Tiering | 自動調整「熱/冷」資料 | 💰💰 → 💰 | 無 | 無 | 最推薦給你 |
冷資料 | Glacier Instant Retrieval | 很少取用但偶爾仍要快取 | 💰🧊 | 有 | 90 天 | 秒級取回 |
極冷資料 | Glacier Flexible Retrieval | 幾乎不會用的老影片 | 💰❄️ | 高 | 90 天 | 幾分鐘~數小時取回 |
封存備份 | Glacier Deep Archive | 法規保留、歷史備份 | 💰❄️❄️ | 很高 | 180 天 | 12 小時取回 |
exsky-backup-media/
├─ user/videos/
├─ user/covers/
├─ user/converted/
├─ user/reels/
└─ user/subtitles/
類別 | 存取頻率 | 建議儲存層級 | 原因 |
---|---|---|---|
/videos/ |
上傳後一週內常用,但之後幾乎不用 | Intelligent-Tiering → Glacier IR | 自動轉冷,取回仍快 |
/covers/ |
小張圖片,頻繁載入,網站上每次都會用到 | Standard | 小檔案、常讀取 |
/converted/ |
這是轉檔後的資料存放區,原則上只要出現後,也都是上傳後一週內常用,但之後幾乎不用 | Intelligent-Tiering → Glacier IR | 自動轉冷,取回仍快 |
/reels/ |
透過 AI 產出的素材,也是上傳後一週內常用,但之後幾乎不用 | Intelligent-Tiering → Glacier IR | 自動轉冷,取回仍快 |
/subtitles/ |
頻繁載入播放頁面,但容量極小 | Standard | 成本極低,不必轉冷 |
{
"Rules": [
{
"ID": "AutoTierVideos",
"Filter": {
"Prefix": [
"user/videos/",
"user/converted/",
"user/reels/"
]
},
"Status": "Enabled",
"Transitions": [
{
"Days": 7,
"StorageClass": "INTELLIGENT_TIERING"
},
{
"Days": 90,
"StorageClass": "GLACIER_IR"
}
],
"NoncurrentVersionTransitions": [],
"Expiration": { "Days": 365 }
}
]
}
類別 | 儲存量 | 原為 Standard 成本 | 改用 Lifecycle 後 | 節省比例 |
---|---|---|---|---|
Videos (100 GB) | 常用 → 冷存 | $2.30/月 | $1.00/月 | 56% |
Covers (5 GB) | 保持熱存 | $0.12/月 | $0.12/月 | 0% |
Subtitles (100 MB) | 保持熱存 | $0.00/月 | $0.00/月 | 0% |
總計 | $2.42/月 | $1.12/月 | 約省 54% |