EBS
EBSとは何か
EBSはEC2専用のブロックストレージです。
OSのディスクやDBのデータ領域のように、「サーバーに直結されたHDD/SSD」に近い使い方をします。
EBSの基本特性
-
EC2にアタッチして使う
-
ブロックストレージ
-
ファイルシステム(ext4 / xfs 等)を作成して利用
-
低レイテンシ・高IOPS
-
AZ単位で存在(別AZのEC2には直接アタッチ不可)
S3とは何か(対比用)
S3はオブジェクトストレージです。
ファイルサーバーやバックアップ置き場、ログ保存などに使われます。
S3の基本特性
-
EC2にアタッチしない
-
オブジェクトストレージ
-
HTTP(S)経由でアクセス
-
超高耐久(99.999999999%)
-
リージョン全体で冗長化
EBSとS3の違い(重要ポイント)
| 観点 | EBS | S3 |
|---|---|---|
| ストレージ種別 | ブロックストレージ | オブジェクトストレージ |
| 接続方法 | EC2にアタッチ | API/HTTP |
| レイテンシ | 低い(高速) | 高め |
| ファイル操作 | OSレベルで可能 | API経由のみ |
| AZ依存 | あり | なし(リージョン) |
| 耐久性 | 高い(だがS3より低い) | 非常に高い |
| 主な用途 | OS / DB / アプリデータ | バックアップ / ログ / 静的ファイル |
使い分けの考え方(実務目線)
EBSを選ぶケース
-
EC2のルートディスク
-
RDB(MySQL / PostgreSQL)
-
アプリがローカルディスク前提
-
高速なランダムI/Oが必要
例
-
Spring Boot + RDS for MySQL の データディスク
-
ECS on EC2 の 永続ボリューム
S3を選ぶケース
-
ログ保管
-
バックアップ
-
アップロードファイル
-
一時データ / 共有データ
-
ECS/Fargate/Lambdaから共通利用
例
-
ECSで受け取ったファイルをS3に保存
-
バッチ結果をS3に出力
-
EBSスナップショットの保存先(内部的にはS3)
よくある誤解
❌「S3をEBSの代わりに使える?」
→ 不可
S3はOSからディスクとしてマウントできません(※特殊なFUSEは例外だが非推奨)
❌「EBSはバックアップに向いている?」
→ 単体では弱い
EBSはスナップショットをS3に保存して初めて安全
EBSの種類(簡易)
| 種類 | 特徴 | 主用途 |
|---|---|---|
| gp3 | 標準・コスパ良 | 多くのシステム |
| io1/io2 | 高IOPS保証 | DB |
| st1 | スループット重視 | 大容量ログ |
| sc1 | 低コスト | アーカイブ |
一言まとめ(設計判断用)
-
EC2が直接読む・書く → EBS
-
複数サービスで共有・長期保存 → S3
-
永続性と安全性を上げる → EBS + スナップショット(S3)