S3・EBS・EFSの違いを初心者向けに解説
AWSの代表的なストレージサービスであるS3、EBS、EFSの違い、試験ポイント、実務での使い分けを整理します。
比較対象サービス
サービス名をクリックすると、用語詳細ページで復習できます。
結論
S3、EBS、EFSはすべてAWSのストレージサービスですが、使う場面はかなり違います。
最初は次のように覚えると分かりやすいです。
| サービス | 一言でいうと | 主な使いどころ |
|---|---|---|
| Amazon S3 | ファイルを保存するオブジェクトストレージ | 画像、動画、ログ、バックアップ、静的サイト |
| Amazon EBS | EC2に接続する仮想ディスク | EC2のOS領域、アプリケーション用ディスク |
| Amazon EFS | 複数EC2から共有できるファイルストレージ | 複数サーバーで共有するファイル置き場 |
迷ったら、まずはこう判断します。
- Webサイトの画像や静的ファイルを保存したい:S3
- EC2のディスクとして使いたい:EBS
- 複数のEC2から同じファイルを共有したい:EFS
比較表
| 項目 | S3 | EBS | EFS |
|---|---|---|---|
| 正式名称 | Amazon Simple Storage Service | Amazon Elastic Block Store | Amazon Elastic File System |
| 種類 | オブジェクトストレージ | ブロックストレージ | ファイルストレージ |
| 主な用途 | ファイル保存、静的サイト、バックアップ、ログ保存 | EC2のディスク | 複数EC2間の共有ファイルシステム |
| 接続先 | アプリ、ブラウザ、AWSサービス | 原則EC2インスタンス | 複数のEC2インスタンス |
| アクセス方法 | HTTP API、SDK、CLI、コンソール | OSからディスクとして認識 | NFSでマウント |
| 複数サーバー共有 | 可能。ただしファイルシステムではない | 基本的に単一EC2に接続 | 可能 |
| 容量拡張 | 実質的に自動拡張 | ボリュームサイズを指定 | 自動拡張 |
| 可用性 | 複数AZにまたがって高耐久 | 単一AZ内のボリューム | 複数AZから利用可能 |
| 代表的な試験キーワード | オブジェクト、バケット、耐久性、ストレージクラス | EC2、ブロック、ボリューム、スナップショット | NFS、共有ファイル、複数EC2 |
| このプロジェクトでの用途 | 静的サイトファイルの保存 | MVPでは使わない | MVPでは使わない |
初学者向け説明
Amazon S3
S3は、ファイルを「オブジェクト」として保存するサービスです。
画像、PDF、HTML、CSS、JavaScript、ログファイル、バックアップファイルなどを保存できます。
このプロジェクトでは、Next.jsで静的出力したファイルをS3に置き、CloudFrontから配信する構成で使います。
Amazon EBS
EBSは、EC2に接続して使うディスクです。
ローカルPCでいう「内蔵SSD」や「外付けディスク」に近いイメージです。
EC2でアプリケーションを動かす場合、OSやアプリのファイルを置くためにEBSが使われます。
Amazon EFS
EFSは、複数のEC2から同じファイルを共有したいときに使います。
複数台のWebサーバーで同じアップロードファイルを参照したい場合などに使われます。
S3と違い、ファイルシステムとしてマウントして使える点が特徴です。
試験で問われるポイント
CLF-C02で問われやすいポイント
- S3はオブジェクトストレージである
- EBSはEC2に接続するブロックストレージである
- EFSは複数EC2から共有できるファイルストレージである
- S3は静的Webサイト配信やバックアップに使える
- EBSはスナップショットでバックアップできる
- EFSはLinux系のファイル共有で使われる
SAA-C03で問われやすいポイント
- 静的コンテンツ配信はS3 + CloudFrontが基本構成
- EC2の永続的なディスクにはEBSを使う
- 複数AZのEC2から共有ファイルを扱う場合はEFSを検討する
- 高頻度アクセス、低頻度アクセス、アーカイブなどでS3ストレージクラスを使い分ける
- EBSはAZに紐づくため、別AZのEC2にそのまま接続できない
- EFSは複数AZからアクセスできるため、共有用途に向いている
実務での使い分け
S3を選ぶケース
- 静的Webサイトを公開したい
- 画像やPDFを保存したい
- ログファイルを保存したい
- バックアップを保存したい
- CloudFrontと組み合わせて静的コンテンツを配信したい
このプロジェクトでは、S3は必須です。
EBSを選ぶケース
- EC2を使ってWebサーバーを構築する
- EC2のOSディスクが必要
- データベースをEC2上に構築する
- 特定のEC2に高性能なディスクを付けたい
このプロジェクトのMVPではEC2を使わないため、EBSも使いません。
EFSを選ぶケース
- 複数のEC2で同じファイルを共有したい
- LinuxサーバーからNFSで共有ストレージを使いたい
- 複数AZにまたがる共有ファイルシステムが必要
このプロジェクトのMVPでは複数EC2構成を使わないため、EFSも使いません。
よくある間違い
間違い1:S3をEC2のディスクとして使えると思う
S3はオブジェクトストレージです。
EC2のOSから通常のディスクとして直接扱う用途では、EBSを使います。
間違い2:EBSを複数EC2で簡単に共有できると思う
EBSは基本的にEC2に接続するブロックストレージです。
複数EC2でファイル共有したい場合は、EFSを検討します。
間違い3:EFSを静的サイト配信に使う
静的サイト配信なら、基本はS3 + CloudFrontです。
EFSはファイル共有用途であり、静的Web配信の第一候補ではありません。
間違い4:S3、EBS、EFSをすべて同じ「ファイル置き場」として覚える
この覚え方だと試験で迷います。
- S3:オブジェクト
- EBS:ブロック
- EFS:ファイル
この3語で整理してください。
関連用語
関連問題
まとめ
S3、EBS、EFSは、AWSストレージの基本です。
まずは次の一文で覚えてください。
S3はファイル保存、EBSはEC2のディスク、EFSは複数EC2の共有ファイルシステムです。
次に学ぶ内容
比較で違いを理解したら、関連用語と模擬問題で知識を確認してください。 資格試験では「似ているサービスの使い分け」が問われます。