Amazon S3 とは?オブジェクトストレージの仕組み・料金・活用パターンを徹底解説
S3 は 容量無制限でファイル(オブジェクト)を保存できるストレージサービス。11 ナイン(99.999999999%)の耐久性 を持ち、自動的に複数 AZ に冗長保管される。Web サイトのホスティングからデータレイク、バックアップ、ML データセット保管まで AWS の...
容量無制限・耐久性 99.999999999%(11 ナイン)のオブジェクトストレージ。AWS の中核サービスの一つ。
1. 概要(端的に)
S3 は 容量無制限でファイル(オブジェクト)を保存できるストレージサービス。11 ナイン(99.999999999%)の耐久性 を持ち、自動的に複数 AZ に冗長保管される。Web サイトのホスティングからデータレイク、バックアップ、ML データセット保管まで AWS のあらゆるシーンで使われる。
2. 何ができるか
- 無制限のオブジェクト保存:1 ファイル最大 5 TB、バケット容量無制限
- HTTP/HTTPS アクセス:URL で直接ファイル取得
- 静的 Web サイトホスティング:バケットを Web サイトとして公開
- 複数のストレージクラス:頻度別に料金最適化
- イベント通知:PutObject 等を Lambda/SQS/SNS に通知
- ライフサイクル管理:自動でクラス移行・削除
- バージョニング:オブジェクト世代管理
- クロスリージョンレプリケーション:DR 構成
- 暗号化:保存時・転送時の暗号化
- アクセス制御:IAM・バケットポリシー・ACL の 3 層
主要概念
- バケット:オブジェクトの入れ物(リージョン単位、グローバルユニーク命名)
- オブジェクト:保存されるファイル本体
- キー:オブジェクト識別子(ファイルパスのような文字列)
- プレフィックス:キーの先頭部分(フォルダのように見せる)
3. 特徴
| 観点 | 特徴 |
|---|---|
| 耐久性 | 99.999999999%(11 ナイン)= 1,000 万年に 1 ファイル消失 |
| 可用性 | 99.99%(Standard クラス) |
| 冗長化 | 自動で 3 AZ にレプリカ(Standard) |
| 容量 | 無制限(バケット・オブジェクト数とも) |
| オブジェクトサイズ | 最大 5 TB |
| アップロード単位 | マルチパートで分割アップロード(推奨:100 MB 以上) |
| 整合性 | 強い整合性(読み書き、PUT/GET/DELETE すべて) |
| 料金体系 | ストレージ GB 単価 + リクエスト数 + データ転送 |
vs EBS / EFS
| 観点 | S3 | EBS | EFS |
|---|---|---|---|
| 種類 | オブジェクト | ブロック | ファイル |
| アクセス方法 | API/HTTP | EC2 直結 | NFS マウント |
| 共有 | 多数同時アクセス可 | 1 EC2(Multi-Attach 例外) | 多数 EC2 同時 |
| 容量 | 無制限 | 最大 64 TB | 無制限 |
| 用途 | ファイル全般・静的サイト | OS・DB | 共有ファイル |
4. 仕組み
S3 は 完全マネージドな分散オブジェクトストレージ。利用者はバケットとキー(パス)を指定するだけで、AWS が裏で 複数 AZ にデータを冗長分散する。
構成要素
- バケット:保管領域(グローバルにユニークな名前)
- オブジェクト:本体(ファイル + メタデータ)
- キー:
folder/subfolder/file.jpg形式の識別子 - メタデータ:Content-Type・カスタムヘッダ等
- ストレージクラス:Standard / IA / Glacier 等
- 暗号化:SSE-S3 / SSE-KMS / SSE-C / クライアントサイド
- アクセス制御:IAM ポリシー・バケットポリシー・ACL・Block Public Access
URL 形式
https://{bucket}.s3.{region}.amazonaws.com/{key}
例: https://my-data.s3.ap-northeast-1.amazonaws.com/photos/2026/sample.jpg
動作の流れ(PUT 例)
PutObjectリクエスト発行- S3 がリージョン内の複数 AZ に同時書き込み
- 強い整合性:書き込み成功と同時に他の読み取りからも見える
- ライフサイクルルール評価(数時間〜数日後)
- レプリケーション設定があれば別バケット・リージョンへ複製
マルチパートアップロード
100 MB 以上のファイルは マルチパートアップロード推奨。ファイルを分割し並列アップロード → 失敗パートのみ再送可能で効率的。
5. ユースケース
ユースケース 1:Web/モバイルアプリの画像・動画ストレージ
ユーザーアップロード画像を S3 に保管 → CloudFront で高速配信。
ユースケース 2:静的 Web サイトホスティング
HTML/CSS/JS を S3 に置いて、CloudFront 経由で公開。サーバーレス Web。
ユースケース 3:データレイク
全データ(構造化・非構造化)を S3 に集約。Athena・Glue・Redshift Spectrum で分析。
ユースケース 4:バックアップ・アーカイブ
EBS スナップショット・DB バックアップ・ログ保管。長期は Glacier で激安。
ユースケース 5:ML データセット保管
学習用データを S3 に保管 → SageMaker から直接読み込み。
ユースケース 6:ログ集約
ALB / CloudFront / VPC Flow Logs を S3 に集約 → Athena で分析。
6. 関連用語
- S3-StorageClass — ストレージクラス詳細
- S3-Lifecycle — 自動移行・削除
- S3-Versioning — 世代管理
- S3-Replication — リージョン間レプリケーション
- S3-Glacier — アーカイブクラス
- S3-Object-Lock — WORM 改ざん防止
- S3-Events — イベント通知
- CloudFront — S3 を高速配信
- IAM / KMS — アクセス制御・暗号化
7. 関連サイト
AWS 公式
参考
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 高 | S3 の基本概念、耐久性、ストレージクラス |
| SAA | 高 | 設計問題の超頻出(クラス選定・暗号化・レプリ・ライフサイクル) |
| DVA | 高 | API 操作、署名付き URL、マルチパート |
| SOA | 高 | 運用・監視・コスト最適化 |