信頼度ランク
| S | 公式ソース確認済み |
| A | 成功実績多数・失敗例少数 |
| B | 賛否両論 |
| C | 動作未確認・セキュリティリスク高 |
| Z | 個人所感 |
S3ストレージクラス完全比較 — コスト・取り出し時間・最小保存期間
S3の全ストレージクラス(Standard, IA, One Zone-IA, Glacier Instant/Flexible/Deep Archive, Intelligent-Tiering)のコスト構造、取り出し時間、最小保存期間を試験対策視点で比較。
一言結論
S3ストレージクラスは最小保存期間と取り出し料金の存在を無視すると逆に高くつく場合があり、アクセスパターンが不明なデータにはIntelligent-Tiering、確実に30日以内に削除するデータにはStandardを使うのが選択ミスを防ぐ判断基準だ。
ストレージクラスの選択基準
S3ストレージクラスの選択は「アクセス頻度」「取り出しまでの許容時間」「最小保存期間」の3軸で決まる。
全クラス比較表
| クラス | 用途 | 最小保存期間 | 取り出し | 取り出し料金 |
|---|---|---|---|---|
| Standard | 頻繁アクセス | なし | 即時 | なし |
| Intelligent-Tiering | アクセスパターン不明 | なし | 即時(高頻度) | モニタリング料金あり |
| Standard-IA | 月1回未満のアクセス | 30日 | 即時 | あり |
| One Zone-IA | 再作成可能な低頻度データ | 30日 | 即時 | あり |
| Glacier Instant Retrieval | 四半期に1回程度 | 90日 | 即時 | あり |
| Glacier Flexible Retrieval | 年1〜2回程度 | 90日 | 1〜12時間 | あり |
| Glacier Deep Archive | 7〜10年保存 | 180日 | 12〜48時間 | あり |
各クラスの詳細
Standard(標準)
デフォルトクラス。99.999999999%(11 9’s)の耐久性、99.99%の可用性。3つ以上のAZにレプリケートされる。アクセス頻度が高いデータ、低レイテンシが必要なデータに適する。
Intelligent-Tiering
アクセスパターンが不明または変化するデータ向け。自動的に適切なティアに移動する。
連続30日アクセスなし → 低頻度アクセスティア(IA料金)
連続90日アクセスなし → アーカイブ即時ティア(Glacier Instant料金)
連続180日アクセスなし → ディープアーカイブティア(Deep Archive料金)
アクセス発生時 → 高頻度アクセスティアに自動復帰
モニタリング料金が発生するため、128KB未満の小さなオブジェクトや確実に毎日アクセスされるデータには不向き。
Standard-IA と One Zone-IA
Standard-IA: 3つ以上のAZに保存(99.9%可用性)
One Zone-IA: 単一AZのみ(99.5%可用性)→ AZ障害でデータ消失リスクあり
One Zone-IAが適するケース:
- 他の場所からの複製データ(S3レプリケーション先等)
- オンプレから再同期可能なバックアップ
- サムネイル画像など元データから再生成可能なもの
注意: 最小保存期間30日は「30日未満で削除しても30日分の料金を請求」する。
Glacier Instant Retrieval
「四半期に1回程度アクセスするが、必要な時は即座に取り出したい」データに適する。医療画像や報道写真のアーカイブなど。
Glacier Flexible Retrieval(旧 Glacier)
取り出しタイプ:
- Expedited(迅速): 1〜5分(別途料金高め)
- Standard: 3〜5時間
- Bulk(大量): 5〜12時間(最安値)
Glacier Deep Archive
最も低コストなクラス。最低保存期間が180日。
取り出しタイプ:
- Standard: 12時間以内
- Bulk: 48時間以内
S3 Glacierの復元フロー
Glacier内のオブジェクトを直接ダウンロードはできない。一時的にS3 Standardに復元してからダウンロードする。
# Glacier Flexible RetrievalからStandardへの復元
aws s3api restore-object \
--bucket my-bucket \
--key archive/data.csv \
--restore-request '{
"Days": 7,
"GlacierJobParameters": {
"Tier": "Standard"
}
}'
# 復元状態の確認
aws s3api head-object \
--bucket my-bucket \
--key archive/data.csv \
--query 'Restore'
# → 'ongoing-request="false", expiry-date="..."' で完了確認
ライフサイクルルールとの組み合わせ
// ライフサイクルルール例: 段階的なストレージクラス移行
{
"Rules": [{
"ID": "archive-rule",
"Status": "Enabled",
"Transitions": [
{
"Days": 30,
"StorageClass": "STANDARD_IA"
},
{
"Days": 90,
"StorageClass": "GLACIER_IR"
},
{
"Days": 365,
"StorageClass": "DEEP_ARCHIVE"
}
],
"Expiration": {
"Days": 2555
}
}]
}
試験頻出ポイント
| シナリオ | 推奨クラス |
|---|---|
| アクセスパターン不明 | Intelligent-Tiering |
| 再生成可能な低頻度データ | One Zone-IA |
| 法規制で7年保管必須 | Glacier Deep Archive |
| 医療画像(即時取り出し必要) | Glacier Instant Retrieval |
| コスト最適化でAZ障害リスク許容 | One Zone-IA |
| 30日以内に削除予定のデータ | Standard(IAは30日最小課金あり) |
まとめ
ストレージクラスの選択ミスはコスト過大(高頻度データをGlacierに入れる)またはデータ消失(One Zone-IAでAZ障害)につながる。最小保存期間と取り出し料金の存在を忘れずに設計することが重要だ。