AWS SAA 学習ノート:Storage Services(EBS、EFS、EC2 Instance Store)

EBS、EFS、EC2 Instance Store 学習ノート

はじめに

AWSでEC2インスタンスを使う時、「どのストレージを選べばいいの?」って迷いませんか?今日はAWSの主要ストレージサービス3つ(EBS、EFS、EC2 Instance Store)を分かりやすく比較・整理してみました!

EBS (Elastic Block Store)

これってなに?

EBS (Elastic Block Store) - 弾力性ブロックストレージは、EC2インスタンスにアタッチするネットワーク接続型のハードディスクです。USBで外付けHDDをパソコンに接続するようなイメージですが、ネットワーク経由で接続します。

特徴

データの永続性

Persistent Storage - データは永続化される
インスタンスが停止・終了してもデータは残る
Instance termination protection available - インスタンス終了保護が利用可能

接続方式

Network Attached - ネットワーク接続
1つのEBSボリュームは1つのインスタンスにのみアタッチ可能(Multi-Attachは例外)
Different AZ attachment possible with snapshots - スナップショットを使用して異なるAZにアタッチ可能

ボリュームタイプ

gp2 (General Purpose SSD)
Balanced price and performance - バランスの取れた価格とパフォーマンス
3 IOPS per GB, burstable to 3,000 IOPS - GB当たり3 IOPS、最大3,000 IOPSまでバースト可能

gp3 (General Purpose SSD - Latest)
Independently configurable IOPS and throughput - IOPSとスループットを独立して設定可能
Up to 16,000 IOPS and 1,000 MiB/s - 最大16,000 IOPSと1,000 MiB/s

io1/io2 (Provisioned IOPS)
High performance for critical workloads - 重要なワークロード向けの高性能
Up to 64,000 IOPS - 最大64,000 IOPS

st1 (Throughput Optimized HDD)
For frequently accessed, throughput-intensive workloads - 頻繁にアクセスされるスループット集約的ワークロード向け
Cannot be used as boot volume - ブートボリュームとして使用不可

sc1 (Cold HDD)
Lowest cost for infrequently accessed data - アクセス頻度の低いデータ向けの最低コスト
Cannot be used as boot volume - ブートボリュームとして使用不可

どんな時に使う?

Root volume for OS - OS用のルートボリューム
Database storage - データベースストレージ
File system storage - ファイルシステムストレージ
Long-term data storage - 長期データ保存

EFS (Elastic File System)

これってなに?

EFS (Elastic File System) - 弾力性ファイルシステムは、複数のEC2インスタンスから同時にアクセスできる共有ファイルシステムです。オフィスの共有フォルダのような感じですね!

特徴

共有アクセス

Multiple instance access - 複数インスタンスからアクセス可能
Thousands of concurrent connections supported - 数千の同時接続をサポート
Cross-AZ access within region - リージョン内のクロスAZアクセス

管理不要

No capacity planning - 容量計画不要
Automatically scales up and down - 自動的にスケールアップ・ダウン
Pay only for storage used - 使用したストレージのみ課金

パフォーマンスモード

General Purpose - 汎用
Lower latency for most use cases - ほとんどのユースケースで低レイテンシ
Up to 7,000 file operations per second - 毎秒最大7,000ファイル操作

Max I/O - 最大I/O
Higher latency but can achieve higher performance - レイテンシは高いがより高いパフォーマンスを実現
Virtually unlimited file operations per second - 毎秒ほぼ無制限のファイル操作

スループットモード

Bursting - バースト
Throughput scales with file system size - ファイルシステムサイズに応じてスループットがスケール

Provisioned - プロビジョンド
Fixed throughput regardless of storage size - ストレージサイズに関係なく固定スループット

どんな時に使う?

Web serving and content management - Webサーブとコンテンツ管理
Media and entertainment workflows - メディア・エンターテイメントワークフロー
Big data analytics - ビッグデータ分析
Shared application data - 共有アプリケーションデータ

EC2 Instance Store

これってなに?

Instance Storeは、EC2インスタンスに物理的に接続された高速ストレージです。パソコンに内蔵されているSSDのようなイメージです。

特徴

高性能

Very high IOPS and throughput - 非常に高いIOPSとスループット
Low latency access - 低レイテンシアクセス
Physically attached to host computer - ホストコンピューターに物理的に接続

一時的

Data is lost on instance stop/terminate - インスタンス停止・終了時にデータが失われる
Data survives reboots - 再起動時はデータが保持される
Cannot be detached or attached to another instance - 他のインスタンスに切り離し・接続不可

インスタンスタイプ依存

Only available on specific instance types - 特定のインスタンスタイプでのみ利用可能
Storage size and type fixed per instance type - インスタンスタイプごとにストレージサイズとタイプが固定

どんな時に使う?

Temporary storage and caching - 一時ストレージとキャッシュ
High-performance computing (HPC) - 高性能コンピューティング
Real-time analytics - リアルタイム分析
Buffer, cache, scratch data - バッファ、キャッシュ、一時データ

ストレージ比較表

特徴EBSEFSInstance Store
データ永続性✅ Persistent - 永続的✅ Persistent - 永続的❌ Ephemeral - 一時的
複数インスタンスアクセス❌ Single instance - 単一インスタンス✅ Multiple instances - 複数インスタンス❌ Single instance - 単一インスタンス
パフォーマンスGood - 良いGood - 良いExcellent - 優秀
容量制限64 TiB per volume - ボリューム当たり64 TiBUnlimited - 無制限Instance dependent - インスタンス依存
バックアップ✅ Snapshots - スナップショット✅ AWS Backup❌ Manual only - 手動のみ
コストMedium - 中程度High - 高いIncluded in instance - インスタンスに含まれる

どれを選ぶべき?

EBSがおすすめの場合

General applications - 一般的なアプリケーション
データを永続化したい場合
ルートボリュームとして使用
予測可能なパフォーマンスが必要

EFSがおすすめの場合

Multiple instances need to share data - 複数のインスタンスでデータ共有
Content distribution - コンテンツ配信
Big data analytics - ビッグデータ解析
Shared storage for microservices - マイクロサービス間での共有ストレージ

Instance Storeがおすすめの場合

Need maximum performance - 最高のパフォーマンスが必要
Temporary data processing - 一時的なデータ処理
Use as cache - キャッシュとしての使用
Big data or HPC workloads - ビッグデータやHPCワークロード

組み合わせパターン

パターン1: EBS + Instance Store

OS and applications on EBS - OSとアプリケーションはEBS
Temporary processing data on Instance Store - 一時処理データはInstance Store
Best of both worlds - 両方の利点を活用

パターン2: EBS + EFS

OS on EBS - OSはEBS
Shared application data on EFS - 共有アプリケーションデータはEFS
Perfect for web applications - Webアプリケーションに最適

注意点と推奨事項

EBS推奨事項

Regular snapshots - 定期的なスナップショット作成
適切なボリュームタイプの選択
IOPS使用量の監視
機密データの暗号化有効化

EFS推奨事項

Use General Purpose performance mode for most cases - ほとんどの場合は汎用パフォーマンスモードを使用
コスト最適化のためのストレージクラスを検討
アクセス制御にセキュリティグループを使用

Instance Store推奨事項

Never store critical data - 重要なデータは保存しない
Regular backup to EBS or S3 - EBSやS3への定期バックアップ
インスタンスの健全性監視
必要に応じてRAIDで冗長化

まとめ

AWSのストレージ選択は、用途とパフォーマンス要件によって決まります:

  • EBS: 一般的な用途で安定したストレージが欲しい時
  • EFS: 複数のインスタンスでデータを共有したい時
  • Instance Store: 最高のパフォーマンスが必要で、データが一時的でも問題ない時

適切な選択で、コストパフォーマンスと運用効率を両立させましょう!