FOR BEGINNERS未経験向け

Iストレージとデータベース段1入口層仕組み

ブロック・ファイル・オブジェクトの違い|EBS・EFS・S3 を「読み書きの単位」と「共有できるか」で理解する

ブロック・ファイル・オブジェクトの違い|EBS・EFS・S3 を「読み書きの単位」と「共有できるか」で理解する

EC2 の記事ではディスクとして EBS が出てきて、S3 の記事では「ディスクではない置き場」と書かれていました。そこへ EFS という3つ目の名前が加わると、「どれも保存する場所なのに、なぜ3つもあるのか」が分からなくなります。

この3つは、置けるものの種類で分かれているのではありません。何を単位に読み書きするかと、誰と共有できるかで分かれています。この記事では、ストレージの3つの型(ブロック・ファイル・オブジェクト)をまず押さえ、EBS・EFS・S3 をその型に当てはめて、それぞれ何に向くのかを説明できるところまで進みます。

この記事の結論

  • ストレージの型は、ブロック(番号つきの区画)・ファイル(フォルダと名前)・オブジェクト(キーで丸ごと)の3つに分かれます。
  • Amazon EBS はブロックストレージで、同じ AZ の EC2 に取り付けて OS のディスクとして使います。
  • Amazon EFS はファイルストレージで、複数の AZ の多数のサーバーから NFS でマウントして同じフォルダを共有できます。
  • Amazon S3 はオブジェクトストレージで、HTTPS の API にキーを渡してオブジェクトを丸ごと置く・取り出します。
  • どれを選ぶかは「何台が同時に使うか」と「一部を書き換えるか、丸ごと置くか」の2つの問いでほぼ決まります。

ストレージの3つの型とは何が違うのか

3つの型の違いは、たとえると「倉庫の貸し方」の違いです。

  • ブロックは、番号のついた空の棚を丸ごと借りる形です。どの棚に何を置くか、どう整理するかは借りた側が決めます。
  • ファイルは、棚にすでにフォルダと名札の仕組みが付いた書庫を借りる形です。「経理/2026/9月.xlsx」のように、場所と名前で探せます。
  • オブジェクトは、荷物を預けて番号札を受け取る形です。預け入れも受け取りも窓口に頼み、荷物は丸ごと出し入れします。

たとえ話から正確な言葉に戻します。

ブロックストレージは、データを同じ大きさの区画(ブロック)に分けて番号で管理する方式です。OS からは「まだ何も書かれていない1台のディスク」として見え、OS がその上にファイルシステム(ext4 や XFS、NTFS など)を作って初めて、フォルダとファイルが使えるようになります。区画単位で読み書きできるので、一部だけの書き換えが速く、データベースや OS の起動ディスクに向きます。

ファイルストレージは、ファイルシステムそのものをネットワーク越しに提供する方式です。フォルダの階層とファイル名で整理され、NFS や SMB のような決まった手順(プロトコル)で、複数のサーバーから同じフォルダを同時に読み書きできます。

オブジェクトストレージは、データを「オブジェクト」という単位で、キー(名前)とメタデータ(付帯情報)と一緒に保存する方式です。フォルダの階層は持たない平らな構造で、読み書きは API への依頼で行います。量が増えても広げやすいので、画像・動画・ログ・バックアップのような、まとまったデータを大量に置くのに向きます。

BLOCK / FILE / OBJECT3つの型

ストレージの型は何を単位に読み書きするかで3つに分かれる

  1. ブロック

    番号つきの区画 — OS がファイルシステムを作って使う

    Amazon EBS。起動ディスク・データベース

  2. ファイル

    フォルダと名前 — ネットワーク越しに同じフォルダを共有する

    Amazon EFS。NFS でマウント

  3. オブジェクト

    キーで丸ごと — API に置く・取り出すを頼む

    Amazon S3。画像・ログ・バックアップ

CHECK 1ここまでの確認

OS から見て「まだ中身の無い1台のディスク」として見えるのは、3つの型のうちどれ?

答えと解説

答え: 1. ブロックストレージ

ブロックストレージは番号のついた区画の集まりで、OS がその上にファイルシステムを作って初めてフォルダやファイルが見えます。「3つの型とは何が違うのか」の章を読み直してください。

EBS・EFS・S3 はどの型に当たり、何に向くのか

AWS の代表的な3つのストレージは、それぞれ3つの型に1対1で対応しています。

  Amazon EBS Amazon EFS Amazon S3
型 ブロックストレージ ファイルストレージ オブジェクトストレージ
読み書きの単位 ブロック(OS がファイルシステムを作る) ファイル(フォルダの中の名前) オブジェクト(キーで丸ごと)
読み書きの方法 EC2 に取り付け、OS のディスクとして使う NFS でマウントし、フォルダとして使う HTTPS の API(コンソール・CLI・SDK 経由)
同時に使えるのは 基本は1台(例外は後述) 多数のサーバー 権限を持つ多数の相手
置かれる範囲 1つの AZ 複数の AZ(リージョン型の場合) リージョン
向くもの OS の起動ディスク、データベースのデータ 複数台で共有するアップロード置き場、共有の作業フォルダ 画像・動画・ログ・バックアップ、静的サイトのファイル

Amazon EBS(Elastic Block Store)は、EC2 のためのブロックストレージです。作ったボリュームは1つの AZ の中で自動的に複製され、1台の部品が壊れてもデータを失わないようになっています。EC2 の記事で「ルートボリューム」として出てきたのが EBS です。バックアップはスナップショットという形で取り、スナップショットは S3 に保存されます。

Amazon EFS(Elastic File System)は、マネージドなファイルストレージです。NFS(バージョン 4.0 と 4.1)に対応していて、Linux のサーバーからはネットワーク越しの共有フォルダとしてマウントします。容量はファイルを置いた分だけ自動で伸び縮みするので、先に大きさを決めておく必要がありません。

Amazon S3(Simple Storage Service)は、オブジェクトストレージです。バケットという入れ物にオブジェクトを置きます。S3 の記事で見た「ストレージクラス」や「公開設定」は、このオブジェクトストレージの上に用意された機能です。

READ ALSO — 学習中向け・段1 入口 S3 とは何か|バケットとオブジェクト・ストレージクラス・公開設定を「ディスクではない置き場」で理解する

CHECK 2ここまでの確認

S3 のオブジェクトの読み書きについて、正しい説明はどれ?

答えと解説

答え: 2. HTTPS の API にキーを渡して、オブジェクトを丸ごと置く・取り出すのが基本の使い方

S3 はディスクではなく、API で頼んで丸ごと置く・取り出す置き場です。「どう読み書きするのか」の章の S3 の段を読み直してください。

どう読み書きするのか(マウントと API の違い)

3つのサービスの違いが最もはっきり出るのが、読み書きの手順です。

EBS: 取り付けて、ファイルシステムを作って、マウントする

EBS のボリュームは、作っただけでは使えません。EC2 のインスタンスに取り付ける(アタッチ)と、OS からは新しいディスクが1台増えたように見えます。新しいボリュームなら、OS 側でファイルシステムを作り、どこかのディレクトリにマウントして初めて、ファイルを書けるようになります。

ここで大事なのは、ファイルシステムを作るのも管理するのも OS 側(利用者)だという点です。AWS が面倒を見るのはボリュームそのもの(区画と複製)までで、その上の整理は借りた側の仕事です。

EFS: ネットワーク越しにマウントする

EFS はファイルシステムまで AWS が用意して動かします。利用者は、各サーバーから NFS でマウントするだけです。マウントすると /mnt/efs のようなディレクトリが現れ、ふだんのファイル操作(コピー・移動・一部の書き換え)がそのまま使えます。複数のサーバーが同じディレクトリをマウントすれば、1台が書いたファイルを別の1台がすぐ読めます。

S3: API に「置いて」「取り出して」と頼む

S3 にはマウントもファイルシステムもありません。読み書きは、HTTPS の API に「このキーでこのデータを置いて」「このキーのデータを返して」と頼む形です。コンソールで画面から操作するときも、AWS CLI でコマンドを打つときも、裏では同じ API が呼ばれています。

# ローカルのファイルを S3 のバケットに置く(キーは reports/2026/09.csv)
aws s3 cp ./09.csv s3://example-bucket/reports/2026/09.csv

# 同じキーのオブジェクトを取り出す
aws s3 cp s3://example-bucket/reports/2026/09.csv ./09.csv

キーに reports/2026/ のようなスラッシュが入っていても、S3 の中にフォルダの階層ができるわけではありません。S3 の一般用のバケットは平らな構造で、コンソールはキーの先頭の共通部分(プレフィックス)をフォルダのように見せているだけです。

オブジェクトの中身を変えたいときは、一部を書き換えるのではなく、同じキーでオブジェクトを置き直すのが基本です。この性質が、S3 を「データベースのファイルを置くディスク」にしない理由です。

CHECK 3ここまでの確認

別々の AZ にある EC2 の Web サーバー数台が、同じアップロード用のフォルダを同時に読み書きしたい。3つのうち素直に合うのはどれ?

答えと解説

答え: 2. Amazon EFS のファイルシステムを各台でマウントする

EBS は同じ AZ のインスタンスにしか取り付けられません。複数の AZ からフォルダとして共有するのは EFS の役割です。「共有できるか・どこに置かれるか」の章を読み直してください。

共有できるか・どこに置かれるか

2つ目の問い「誰と共有できるか」は、置かれる範囲と深く関わっています。

  • EBS は1つの AZ に置かれ、同じ AZ のインスタンスにしか取り付けられません。 基本は1台が専有します。例外として、プロビジョンド IOPS SSD(io1・io2)のボリュームは Multi-Attach を有効にすると、同じ AZ の複数のインスタンス(Nitro System の上で動くもの)に取り付けられます。ただし、複数台から同時に書いても壊れないようにする仕組みはアプリ側で持つ前提で、ふつうのファイル共有の代わりにはなりません。
  • EFS はリージョン型のファイルシステムなら、データを複数の AZ に冗長に保存します。 各 AZ にマウントターゲット(接続口)を作れば、どの AZ のサーバーからでも同時にマウントできます。1つの AZ が使えなくなっても、ほかの AZ からデータを使い続けられます。費用を抑えた1ゾーン型もありますが、こちらはデータを1つの AZ にしか置きません。
  • S3 はリージョン単位のサービスで、置き場所は AZ を意識せずに使えます。 共有の範囲を決めるのはネットワークの位置ではなく、IAM のポリシーやバケットポリシーの「誰に何を許すか」です。

WHO CAN SHARE誰と共有できるか

共有できる範囲は、置かれる場所と入口の種類で決まる

ストレージの入口

  • EBS取り付け 通る同じ AZ の1台から
  • EFSNFS でマウント 通る複数の AZ の多数のサーバーから
  • S3HTTPS の API 通る権限を持つ相手から
  • EBS取り付け 付けられない別の AZ の EC2 から
EBS の Multi-Attach(io1・io2、同じ AZ)は例外。出典: Amazon EBS / Amazon EFS User Guide(2026年9月時点)

「1台で使うか、何台で使うか」が決まると、選択肢はかなり絞れます。1台のサーバーが専有するなら EBS、複数台でフォルダを共有するなら EFS、サーバーの外から大量に置く・配るなら S3、という分け方です。

よくある取り違えは何か

3つの型の違いを押さえていないと、次のような取り違えが起きます。どれも「読み書きの単位」か「共有できる範囲」を見落としたものです。

ストレージでよくある取り違え

  • 複数台の Web サーバーで共有したいファイルを、各台の EBS に別々に置いてしまう(台ごとに中身がずれる。共有するなら EFS か S3)
  • S3 をサーバーのディスクのように扱い、ファイルの一部を頻繁に書き換える処理を載せる(S3 は丸ごと置き直す前提)
  • EBS のボリュームを別の AZ のインスタンスに付け替えようとする(そのままでは付けられない。スナップショットから別の AZ にボリュームを作り直す)
  • インスタンスを終了するとルートボリュームも消える設定(既定)のまま、そこにしか無いデータを置いておく

選ぶ前に、次の4つを順に問うと迷いにくくなります。

FOUR QUESTIONS選ぶ前に問う

ストレージは何台で・どう書くかを先に決めると選べる

  1. 1.何台が同時に使うか

    1台が専有なら EBS、複数台でフォルダを共有なら EFS

  2. 2.一部を書き換えるか、丸ごと置くか

    頻繁な一部の書き換えはブロックかファイル、丸ごとならオブジェクト

  3. 3.どこから使うか

    サーバーの中からか、サーバーの外(利用者・別のサービス)からか

  4. 4.消えたら困るか

    スナップショットやバージョニングなど、守り方を型ごとに決める

最後の「消えたら困るか」は、型の選択とは別の軸です。EBS ならスナップショット、S3 ならバージョニングのように、どの型にもバックアップや復元の仕組みがあります。型を選んだあとで、それぞれの守り方を決めます。

まとめ

ストレージは「どこに置くか」より先に、「何を単位に読み書きするか」と「誰と共有するか」で選びます。

  • ブロック(EBS)は、1台の OS が専有して、区画単位で速く読み書きするためのもの
  • ファイル(EFS)は、複数のサーバーが同じフォルダを同時に読み書きするためのもの
  • オブジェクト(S3)は、API でまとまったデータを丸ごと置き、大量に保存・配布するためのもの

次は、EBS が「1つの AZ に置かれる」ことの意味を、リージョンと AZ の仕組みから確かめると、止まりにくい構成の考え方につながります。容量の課金が型ごとにどう違うかは、料金の考え方の記事で扱っています。

READ ALSO — 未経験向け・段1 入口 リージョンと AZ の仕組み|「どこに置くか」で、速さ・止まりにくさ・料金の何が変わるか

参照ソース

SCOREこの記事の確認テスト

0/3問 正解

各章の「ここまでの確認」に答えると、ここに集まります。結果はこの端末のブラウザにだけ残り、サーバには送りません。

PRACTICEこの記事の論点を練習問題で確かめる

この記事が扱うサービスの問題だけを続けて解けます。練習問題は Google でログインした人が使えます(練習問題の一覧)。

FAQよくある質問

EBS と EFS はどちらを選べばよいですか?

1台のサーバーの起動ディスクやデータベースのように、1台が専有して速く読み書きしたいなら EBS です。複数のサーバーで同じフォルダを同時に使いたいなら EFS です。迷ったら「このデータを何台が同時に使うか」を先に決めると選べます。

S3 を EC2 のディスクの代わりに使えますか?

そのままでは使えません。S3 は API でオブジェクトを丸ごと置く・取り出す置き場で、OS が直接読み書きするディスクではありません。S3 をファイルのように見せる仕組みもありますが、中身がオブジェクトストレージであることは変わらないので、ファイルの一部を頻繁に書き換える用途には向きません。

料金はどう違いますか?

課金の仕方がそれぞれ違います。EBS は用意したボリュームの容量などに、EFS と S3 は実際に保存した量などに課金されるのが基本です。単価と細かい条件はサービスごとの公式の料金ページで確認してください。

SAME TRACK同じ領域の記事

S3 とは何か|バケットとオブジェクト・ストレージクラス・公開設定を「ディスクではない置き場」で理解する
S3 とは何か|バケットとオブジェクト・ストレージクラス・公開設定を「ディスクではない置き場」で理解する 段1 入口とは
Aurora DSQL のコストを DPU とアラームで見張る|2026年10月の更新
Aurora DSQL のコストを DPU とアラームで見張る|2026年10月の更新 NEWS段2 構成運用
S3 の運用の回し方|バージョニングとライフサイクルで「消した・増えすぎた」を防ぐ
S3 の運用の回し方|バージョニングとライフサイクルで「消した・増えすぎた」を防ぐ 段2 構成運用