本文へスキップ
BecomeCoder

AWS SAA(ソリューションアーキテクト)コース · 第5章 ストレージの設計 · レッスン25

S3の設計 ― ストレージクラスとライフサイクル

導入

同じデータでも、アクセス頻度が下がるほど安いストレージクラスに移すことでコストは大きく下がります。「全部Standardに入れっぱなし」は、SAAでは不正解になりがちなパターンです。

説明

Amazon S3には、アクセス頻度とコストのバランスが異なる複数のストレージクラスがあります。

ストレージクラス特徴向いている用途
S3 Standard高可用性・低レイテンシー頻繁にアクセスするデータ
S3 Intelligent-Tieringアクセスパターンを監視し自動で最適な階層へ移動アクセス頻度が読めないデータ
S3 Standard-IA(低頻度アクセス)取り出し料金がかかる分、保管料が安い月1回程度アクセスするバックアップ等
S3 One Zone-IA単一AZのみに保存し、さらに割安再作成可能なデータ、二次バックアップ
S3 Glacier Instant Retrievalアーカイブだが即時取り出し可能年数回アクセスする長期保存データ
S3 Glacier Flexible Retrieval取り出しに分〜時間かかる稀にしかアクセスしないアーカイブ
S3 Glacier Deep Archive最安、取り出しに時間がかかる(最大12時間程度)法規制で長期保管が必要なデータ
flowchart LR
    S["S3 Standard<br/>(頻繁アクセス)"] -->|30日後| IA["Standard-IA<br/>(低頻度)"]
    IA -->|90日後| GL["Glacier Flexible Retrieval<br/>(アーカイブ)"]
    GL -->|180日後| DA["Glacier Deep Archive<br/>(長期保存・最安)"]

この自動移行を設定する仕組みが ライフサイクルポリシー です。「作成から30日経過したオブジェクトをStandard-IAへ、90日経過したらGlacierへ」のようなルールを定義すると、S3が自動でストレージクラスを移動し、運用負荷なくコストを最適化できます。アクセスパターンが読めない場合はIntelligent-Tieringに任せるのが定石です。

具体例

2つのデータで、アクセスパターンが「読めるか読めないか」によって最適解が分かれます。

  • 監視カメラの録画(読める)→ ライフサイクルポリシー … 「直近30日は事件確認でよく見る、その後は保険で保管、7年で法定保存終了」と寿命が明確。→ 0〜30日はStandard、30日でStandard-IA、90日でGlacier、7年で削除、と自動移行を設定。人手ゼロでコストが階段状に下がる。
  • ユーザーがアップした画像(読めない)→ Intelligent-Tiering … バズって突然アクセスが集中する画像もあれば、二度と見られない画像もあり、将来のアクセス頻度が予測できない。ここで手動のライフサイクルを組むと外す。→ Intelligent-Tieringに任せ、AWSがアクセスを監視して自動で最適な階層へ出し入れ。

「寿命が読めるならライフサイクルで階段状に落とす、読めないならIntelligent-Tieringに任せる」。全部Standardに入れっぱなしは、SAAでは不正解になりがちなパターンです。

読んでみよう

「アクセス頻度が下がるデータのコストを最適化したい」という問題文が出たら、まずライフサイクルポリシーを疑ってください。「アクセスパターンが不明・不規則」ならIntelligent-Tiering、「即座に取り出せなくてよい長期保管」ならGlacier系、という対応を覚えておきましょう。

次のレッスンへ →