📅 学習日:2025年5月23日(金)
✅ 今日の学習内容
- BlackBelt:S3(概要、ストレージクラス、ライフサイクル)
🧠 学んだこと・気づき(メモ)
S3の基本
- 容量無制限のオブジェクトストレージ、KeyValue型で保存される
- 標準は少なくとも3つのAZにデータを保存し、高可用性を実現
- この高可用性を実現するために結果整合性を採用している → 2020年12月以降、S3は全リージョンで強い整合性(Strong Consistency)をサポートしている
- プレフィックスを使ってフォルダ構造のように見えるようになっている
- オブジェクトは最大5TB、アップロード時にマルチパート対応可能
- 静的なWebサイトをホスティングすることができる、CloudFrontを経由することが推奨されている
- クロスリージョンレプリケーションによって複数のリージョンにオブジェクトをコピーして可用性を高める
ストレージクラス
- 標準(Standard):高可用・高耐久のデフォルト
- IA(Infrequent Access):アクセス頻度が低いがすぐに必要なデータ向け
- Glacier/Glacier Deep Archive:長期保管用。取り出しに数分〜12時間
- S3 Glacier Instant Retrieval:Coldデータも即時取り出しができるようになった
- INTELLIGENT_TIERING:自動で最適化してくれる
- ONEZONE_IA:AZが1つしかなく可用性が低い代わりにコストが低い
セキュリティとアクセス制御
- バケットポリシー、オブジェクトACL、IAMポリシーの組み合わせで制御
バケットポリシー:このS3リソースには誰がアクセスできるのか?
オブジェクトACL:基本はバケットポリシーを使えばいい
IAMポリシー:このユーザーは何ができるのか?※S3に限った話ではない - S3 Block Public Access:意図しない公開を防止(デフォルトはON)コンソールで簡単に確認できる
- VPC Endpoint:VPCのプライベートサブネット内で動くシステムからインターネットを通さずにS3にアクセスする仕組み
- サーバーサイド暗号化(SSE-S3、SSE-KMS、SSE-C)あり
- アクセスログをCloudTrailで確認可能
ライフサイクル管理
- ライフサイクルポリシーで一定期間後にストレージクラスを変更 or 削除
- バージョニングと組み合わせることで履歴管理も可能
オブジェクトロック(WORM)
- Object Lockの有効化は、バケット単位で設定する
- 保持期間を決めるか、リーガルホールド(有効中ずっと消せない)
- コンプライアンスモードは有効にすると期間中はROOTユーザーですら消せない
- ガバナンスモードは消せる権限もある
📝 今日の復習ポイント(理解があいまいだった点)
- 暗号化の仕組み(SSE-KMSとSSE-S3)の使い分け(KMSポリシーとの連携や料金)
SSE-S3:AWSが鍵を管理(シンプル)
SSE-KMS:KMSと連携、鍵の管理ができる。監査ログやアクセス制御が可能(企業利用向き)
SSE-C:ユーザーが鍵を渡す。KMS不要。一般利用ではあまり使われない - ストレージの取り出しの時間とか料金とかは細かく覚えていたほうがいいのか?
📚 明日の学習予定
- CloudFront(キャッシュ設定、オリジン、S3連携)
- TechStock模試:5問(S3/CloudFront混合)
- S3署名付きURLの利用方法と制御
🔗 参考資料リンク
💬 今日のひとことメモ
ストレージクラスの違いを用途に応じて整理して覚えておきたい。試験でもひっかけに注意!