ストレージ

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

観点S3EBSEFS
種類オブジェクトブロックファイル
アクセス方法API/HTTPEC2 直結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 例)

  1. PutObject リクエスト発行
  2. S3 がリージョン内の複数 AZ に同時書き込み
  3. 強い整合性:書き込み成功と同時に他の読み取りからも見える
  4. ライフサイクルルール評価(数時間〜数日後)
  5. レプリケーション設定があれば別バケット・リージョンへ複製

マルチパートアップロード

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. 関連用語


7. 関連サイト

AWS 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFS3 の基本概念、耐久性、ストレージクラス
SAA設計問題の超頻出(クラス選定・暗号化・レプリ・ライフサイクル)
DVAAPI 操作、署名付き URL、マルチパート
SOA運用・監視・コスト最適化

🛠 現場ノート:公式ドキュメントに載っていない実務の勘所

S3 は「置くだけ」で使えるが、コストと公開事故は設定次第。実運用で効くポイントを整理する。

よくあるコスト事故・運用事故

やりがちなミス何が起きるか回避策
大量の小ファイルを毎秒 GETストレージ代より リクエスト課金が膨らむCloudFront でキャッシュ、まとめ取得、Athena ならパーティション化
バージョニング ON のまま放置上書き・削除しても旧バージョンが残って課金、バケットが静かに肥大化ライフサイクルで「非現行バージョンを N 日で削除」
Glacier に入れて安心取り出しに時間と料金(Standard 取り出しは数時間かかる)アクセス頻度を見てクラス選定。即時性が要るなら Glacier Instant Retrieval
マルチパート失敗の放置未完了パートが課金され続ける(マネコンに見えない)ライフサイクルで「不完全マルチパートを 7 日で削除」を必ず設定

判断の分かれ目:S3 / EBS / EFS

  • S3:HTTP で取れるファイル全般・静的サイト・ログ・バックアップ・データレイク
  • EBS:OS や DB の起動ディスク(1 つの EC2 に直結したい)
  • EFS:複数 EC2 から同時に同じファイルを読み書き(共有ファイルサーバー)

公開事故とセキュリティ

  • 情報漏洩の定番が バケットの意図しない公開。原則 Block Public Access を ON、公開配信は CloudFront + OAC 経由にする
  • 「ACL で公開」は現在は非推奨。アクセス制御は バケットポリシー or IAM に寄せる

試験のひっかけ(CLF / SAA 頻出)

  • 「11 ナインは何の指標?」→ 耐久性(Durability)。可用性(99.99%)と混同させる問題が頻出
  • 「S3 の整合性は?」→ 現在は強い整合性(昔の「結果整合性」は古い知識。引っかけ注意)
  • 「最も安く・滅多に使わないデータ」→ Glacier 系。ただし取り出しコスト込みで評価する