ストレージの全体像
AWS のストレージは3種類の方式に分かれる。オンプレとの対応関係を整理すると選択しやすい。
| AWS サービス | 方式 | オンプレの対応 | 特徴 |
|---|---|---|---|
| EBS | ブロックストレージ | SAN / 物理ディスク | EC2 に1対1でアタッチ。高速な随時アクセス向け |
| EFS | 共有ファイルストレージ | NAS / NFS / ファイルサーバー | 複数の EC2/コンテナから同時マウント可能 |
| S3 | オブジェクトストレージ | ファイルサーバー / バックアップストレージ | 容量無制限・高耐久性。HTTP/S でアクセス |
判断フロー
EBS — ブロックストレージ
EBS(Elastic Block Store)は EC2 インスタンスにアタッチして使うブロックストレージだ。 物理サーバーの HDD/SSD に相当し、OS ブートボリュームや DB のデータファイル格納に使う。
主なボリュームタイプ:
| タイプ | 用途 | 最大 IOPS | コスト |
|---|---|---|---|
| gp3(汎用 SSD) | ほとんどのワークロード | 16,000 | 低〜中 |
| io2 Block Express(プロビジョンド IOPS) | 高 IOPS が必要な DB | 256,000 | 高 |
| st1(スループット最適化 HDD) | 大容量シーケンシャルアクセス(ログ等) | 500 | 低 |
| sc1(コールド HDD) | アクセス頻度が低いデータ | 250 | 最低 |
💡 gp3 を基本に選ぶ
gp3 は gp2 の後継で、同じ価格帯でより高い IOPS・スループットを提供する。新規で EBS を作る場合は基本的に gp3 を選べばよい。DB などで高 IOPS が必要な場合のみ io2 を検討する。
EBS の注意点:
- EBS は 1つの EC2 に1つが基本(通常は複数の EC2 から同時アクセス不可)
- 同一 AZ 内にのみ存在。EC2 とは同じ AZ に配置する必要がある
- EC2 を停止してもデータは残る(インスタンスを終了するとデフォルトで削除されるため注意)
- スナップショットで S3 にバックアップ可能(クロスリージョンコピーも可)
EFS — 共有ファイルストレージ
EFS(Elastic File System)は 複数の EC2 インスタンスや ECS/Fargate コンテナから同時にマウントできる共有ファイルシステムだ。 オンプレの NAS(NFS)に相当し、複数サーバーで同一ファイルを参照するワークロードに適する。
EFS を選ぶケース:
- Web サーバーが複数台あり、アップロードファイルを共有したい
- コンテナ(Fargate)間で設定ファイルや一時ファイルを共有したい
- CMS(WordPress 等)の /wp-content を複数 AP サーバーで共有したい
EFS のパフォーマンスモード:
- General Purpose:レイテンシ優先。ほとんどのケースで十分
- Max I/O:高スループット優先だがレイテンシが増加。大規模なビッグデータ処理向け
⚠️ EFS のコストに注意
EFS は EBS に比べて単価が高い(gp3 の約3倍程度)。また容量に応じた従量課金のため、大量データを格納するとコストが膨らみやすい。頻繁にアクセスしないファイルは EFS Infrequent Access(IA)クラスに自動移行するライフサイクルポリシーを設定しよう。
S3 — オブジェクトストレージ
Amazon S3 は 容量無制限のオブジェクトストレージで、AWS の基盤インフラとして幅広く活用されている。 ファイルはキー(パス)で管理され、HTTP/HTTPS でアクセスする。 ファイルシステムのようなディレクトリ構造はないが、パスの「/」区切りで階層的に見せることができる。
S3 の主な用途:
- 静的コンテンツのホスティング:HTML/CSS/JS/画像を S3 で配信(CloudFront と組み合わせると CDN として機能)
- バックアップ・アーカイブ:EBS スナップショット・DB ダンプ・ログの長期保管
- データレイク:Athena / Redshift Spectrum で S3 上のデータを SQL クエリ
- Lambda のトリガー:ファイルアップロードをトリガーに処理を自動実行
- アプリのファイルアップロード先:ユーザーがアップロードした画像・動画・帳票の保管
S3 のストレージクラス選び
S3 はアクセス頻度に応じてストレージクラスを選ぶことでコストを最適化できる。
| ストレージクラス | 用途 | 取得レイテンシ | コスト感 |
|---|---|---|---|
| Standard | 頻繁にアクセスするデータ | ミリ秒 | 基準 |
| Intelligent-Tiering | アクセスパターンが不明 | ミリ秒 | 中(自動最適化) |
| Standard-IA | 月1回程度のアクセス | ミリ秒 | 低(取得コストあり) |
| Glacier Instant Retrieval | 四半期1回程度 | ミリ秒 | 非常に低 |
| Glacier Flexible Retrieval | 年1〜2回・長期アーカイブ | 分〜時間 | 最低 |
| Glacier Deep Archive | 7〜10年保管・規制対応 | 12時間 | 最低水準 |
✅ S3 ライフサイクルポリシーを活用する
「作成から30日後に Standard-IA へ移行、90日後に Glacier へ移行、5年後に削除」のようなルールを S3 ライフサイクルポリシーで自動化できる。ログやバックアップは必ずライフサイクルポリシーを設定し、ストレージコストを管理しよう。
比較表
| 観点 | EBS | EFS | S3 |
|---|---|---|---|
| アクセス方法 | EC2 にマウント(ブロック) | 複数の EC2/ECS にマウント(NFS) | HTTP/API(オブジェクト) |
| 同時アクセス | 原則1台 | 複数台 OK | 複数アクセス OK |
| 容量 | 最大 64TiB / ボリューム | 自動拡張(実質無制限) | 実質無制限 |
| コスト感 | 低(gp3: 約 $0.08/GB/月) | 中〜高(約 $0.30/GB/月) | 最低(Standard: 約 $0.023/GB/月) |
| オンプレ対応 | SAN / ローカルディスク | NAS / NFS | ファイルサーバー / オブジェクトストレージ |
実務での判断ポイント
- オンプレの NFS 共有フォルダ → EFS:ほぼ直接移行できる。ただし EFS は Linux 専用(Windows の SMB には Amazon FSx for Windows File Server を使う)
- オンプレの Object Storage(S3互換)→ S3:MinIO 等をオンプレで使っていた場合は S3 API 互換のため移行が容易
- EBS の IOPS 設計:オンプレ DB の IOPS 実績を確認し、gp3 の最大 16,000 IOPS で足りるか確認する。DB 移行前に AWS の IOPS 上限を事前テストしておくとよい
- S3 の暗号化:デフォルトで SSE-S3(サーバーサイド暗号化)が有効。機密データは SSE-KMS(独自 KMS キー)を使うことでアクセス制御を強化できる
✅ 次の章では…
PART 05 ではネットワーク設計の選び方を解説する。ALB/NLB の使い分け、VPC 設計、オンプレとのハイブリッド接続(Direct Connect vs VPN)の判断フローを整理する。