〜じわじわ積み上がるストレージのコストを制御する〜
(前々々回) 序章:コスト削減 - コストと戦う未来の僕へ -
(前々回)コスト削減 - EC2編 - 🚀
(前回)コスト削減 - RDS / Aurora 編 - 💾
📦 はじめに:ストレージは “じわじわ増える系コスト”
EC2 や RDS は 使った分だけ課金されるイメージですが、
ストレージサービス(S3 / EFS)は 残してあるだけで課金されるのが特徴です。
置きっぱなしにしていると、
- バージョニングで容量が倍々に
- ログが増えて気づいたら数百GB
- 運用ルールがなくて無駄が積み上がる
…といったストレージ特有の“請求がじわ伸びするパターン”が発生します。
🎯 結論:まずやるべきストレージ削減のポイント
| # | 削減ポイント | ねらい |
|---|---|---|
| 1 | S3 のライフサイクル設定 | 安いストレージ階層に自動移行 |
| 2 | 不要データの自動削除ルール | ストレージの自動クリーン |
| 3 | バージョニング管理 | バージョン増殖を抑止 |
| 4 | EFS のアーカイブ移行 | 利用頻度に合わせて低コスト化 |
| 5 | 定期的な棚卸し(監査+削除) | “溜めてしまう運用” を防ぐ |
この5つだけでストレージの請求は大きく変わります。
🔁 S3 編:まずはライフサイクル設定から
S3 はストレージクラスが複数あり、それぞれコストが違います。
よく使うクラスは下記のとおり:
| ストレージクラス | 用途 |
|---|---|
| Standard | 高頻度アクセス |
| Standard-IA | 低頻度アクセス |
| One Zone-IA | 単一 AZ・低頻度 |
| Glacier | 長期アーカイブ |
| Deep Archive | 超長期 & 低コスト |
置いたままだと Standard のまま高い単価で課金され続ける ため、
アクセス状況に応じて 自動で安いクラスへ移行する仕組み を作ることがポイントです。
📌 S3 ライフサイクルの基本ルール
例:よくあるライフサイクル
30日後 → Standard-IA
90日後 → Glacier
365日後 → 削除
このように設定することで、
- アクセス頻度が減ったデータを安価な層へ
- 一定期間すぎた古いデータを削除
という 運用とコストの両立 ができるようになります。
📌 注意:S3 のバージョニングは便利だけど容量を爆増させる元凶
バージョニングを有効にすると、オブジェクトは更新ごとに世代が保存されます。
更新するたびに容量が増えていくので、無対策だと意図せず数倍に膨張します。
🧠 バージョニング整理
バージョニングはたしかに便利ですが、
保存ポリシーを決めていないと…
version1
version2
version3
...
と増えていき、見えないデータが請求を引き上げることがあります。
対応としては:
- 不要な古いバージョンをライフサイクルで削除
- Deep Archive に移行しておく
などが有効です。
🔁 EFS 編:アーカイブ移行 + 定期クリーン
EFS はファイルストレージなので、
- ユーザデータ
- 一時ファイル
- ログ / 大容量ファイル
などが放置されやすい領域です。
そのため 自動で低頻度階層へ移行する設定 と、
定期的に“不要データを掃除”する運用 の両方が必要になります。
📌 EFS 削減の実践ポイント
1️⃣ アーカイブ自動移行ルールの設定
アクセスが一定期間ないファイルを Infrequent Access(IA)へ移行
→ 低コスト化が進みます。
2️⃣ 定期的な不要ファイル削除
一時ファイルやログは定期的に掃除する。
例:
- 毎週 / 毎月のクリーンスクリプト
- 古いファイルの自動削除
🧪 僕が実際にやってきた改善
以下は実務で行ってきた例です:
✔ 不要と思われるデータの削除ルールをクライアント様と設計
→ 意図しないデータ残存を防ぎ、明確に削除タイミングを決定。
✔ S3 のバージョン管理は便利だがコスト増
→ バージョニングの影響を説明し、削除ルールを追加。
✔ EFS のアーカイブ移行ルール設定
→ 自動的に低頻度層に移行させてコスト削減。
✔ EFS の容量が溜まらないよう定期クリーン
→ お掃除ルールを入れて「いつのまにか肥大化」を防止。
✔ S3 のライフサイクル設定体系化
→ 標準クラス → 低頻度 → アーカイブ → 不要削除 の流れを構築。
これらはどれも “じわじわ効く改善” であり、
積み上がる請求を抑制するのに効果的でした。
🤔 まだやりたいこと・悩んでいるポイント
✔ S3 低頻度ストレージへの移行効率の検討
低頻度クラスは安いけど、取り出すときの費用が発生する
→ どれくらい安くなる vs 取り出しコストのバランスを測りたい
これはまだ設計途中ですが、
次回の記事でも紹介できたらと思っています。
🎯 まとめ:ストレージは “溜めるだけで請求される” モデル
- S3 / EFS は 残しているだけでコスト発生
- だからこそ ライフサイクル + 削除ルール設計 が重要
- 永久保存はリスクなので 期限付き保存が基本
日々のちょっとした意識とルールだけで、
ストレージコストはグッと抑えられます。
🔜 次回予告
次回は 『コスト削減 - ElastiCache 編 - 🧠』 をお届けします!
Redis や Memcached のようなインメモリキャッシュは、
“使っている瞬間は見えにくいけど、実は毎月しっかり課金されている”
典型的な 隠れたコストゾーン です。