S3 ライフサイクル

S3 オブジェクトのストレージクラスを自動的に移行し、コストを最適化する機能

AWSインフラ

S3 ライフサイクルとは

S3 ライフサイクルは、オブジェクトの経過日数に応じてストレージクラスを自動的に移行し、不要になったオブジェクトを自動削除する機能である。アクセス頻度が下がるデータを安価なストレージクラスに移行することで、コストを大幅に削減できる。

ストレージクラスとコスト

クラス 用途 料金 (東京、GB/月) 取り出し
Standard 頻繁にアクセス $0.025 無料
Standard-IA 月 1 回程度のアクセス $0.019 $0.01/GB
Glacier Instant 四半期に 1 回程度 $0.005 $0.03/GB
Glacier Flexible 年 1〜2 回 $0.0045 数分〜数時間
Glacier Deep Archive ほぼアクセスしない $0.002 12〜48 時間

この設定で:

  • 30 日後: Standard → Standard-IA (コスト 24% 削減)
  • 90 日後: Standard-IA → Glacier Instant (コスト 80% 削減)
  • 365 日後: Glacier Instant → Deep Archive (コスト 92% 削減)
  • 730 日後: 自動削除

実務での活用パターン

ログファイル

0〜30日: Standard (直近のログは頻繁に参照)
30〜90日: Standard-IA (たまに参照)
90〜365日: Glacier Instant (インシデント調査時のみ)
365日〜: 自動削除 (コンプライアンス要件に応じて延長)

バックアップ

0〜7日: Standard (直近のバックアップは即座にリストア)
7〜90日: Glacier Instant (数分でリストア)
90日〜: Deep Archive (12時間でリストア、最安)

不完全なマルチパートアップロードの削除

- Id: CleanupIncompleteUploads
  Status: Enabled
  AbortIncompleteMultipartUpload:
    DaysAfterInitiation: 7

中断されたマルチパートアップロードの残骸を 7 日後に自動削除する。これを設定しないと、不完全なパーツがストレージ料金を消費し続ける。

S3 Intelligent-Tiering

アクセスパターンが予測できない場合、S3 Intelligent-Tiering が自動的に最適なストレージクラスに移行する。30 日間アクセスがないオブジェクトを IA に、90 日間アクセスがないオブジェクトを Archive に自動移行する。

全体像を把握するには関連書籍も有用。

関連用語