Amazon S3 入門
Simple Storage Service — オブジェクトストレージの基礎を学ぶ
1S3とは?
- オブジェクトストレージ(ファイルをキー・バリューで保存)
- バケット: データを格納するコンテナ(グローバルでユニークな名前)
- オブジェクト: ファイル本体 + メタデータ(最大 5TB)
- キー: オブジェクトのパス(例:
images/2024/photo.jpg) - 耐久性: 99.999999999%(イレブンナイン)
2ストレージクラス(コスト最適化の核心)
| クラス | 用途 | アクセス頻度 | 取り出し時間 |
|---|---|---|---|
| S3 Standard | 頻繁にアクセスするデータ | 高 | 即時 |
| S3 Standard-IA | 月1回程度のアクセス | 低 | 即時 |
| S3 One Zone-IA | 再作成可能な低頻度データ | 低 | 即時(1AZのみ) |
| S3 Intelligent-Tiering | アクセスパターン不明 | 自動 | 即時〜数時間 |
| S3 Glacier Instant | アーカイブ・即時取り出し必要 | 低 | 即時 |
| S3 Glacier Flexible | アーカイブ・数時間取り出し可 | 低 | 1〜12時間 |
| S3 Glacier Deep Archive | 長期保存・年1〜2回程度 | 最低 | 12〜48時間 |
試験ポイント: 「コスト最安 → Deep Archive」「アクセスパターン不明 → Intelligent-Tiering」
3アクセス制御
- バケットポリシー: バケット全体に適用するJSONポリシー
- ACL(アクセスコントロールリスト): オブジェクト単位の制御(非推奨・レガシー)
- パブリックアクセスブロック: アカウント・バケットレベルで公開を防ぐ設定
- IAMポリシー: ユーザー・ロールに付与して制御
試験ポイント: 「デフォルトでは全オブジェクト非公開」「静的Webサイトはバケットポリシーで公開」
4バージョニング
- 同一キーに複数バージョンを保持
- 誤削除・誤上書きからの復旧に有効
- MFA Delete: バージョン削除に多要素認証を要求
5ライフサイクルポリシー
- 一定期間後に自動でストレージクラスを変更
- 例: 30日後にIA → 90日後にGlacier → 365日後に削除
- コスト最適化の定番パターン
6よく出るユースケース
- 静的Webサイトホスティング(S3 + CloudFront)
- バックアップ・アーカイブ(Glacier)
- データレイク(S3 + Athena + Glue)
- 障害復旧(クロスリージョンレプリケーション)
7試験頻出ポイント
- 「データ移行コスト: S3への転送は無料、S3からの転送は有料」
- Pre-Signed URL: 一時的な署名付きURLでプライベートオブジェクトを共有
- S3 Transfer Acceleration: CloudFrontエッジロケーション経由で高速アップロード