AWSには、用途に応じたストレージサービスが複数存在します。本記事では、主にEFS(Elastic File System)とEBS(Elastic Block Store)について、それぞれの特徴、適用シナリオ、パフォーマンス最適化の方法について解説します。
1. EFS(Elastic File System)とは?
EFSは、AWSが提供するスケーラブルなネットワークファイルシステム(NFS)で、複数のEC2インスタンスから同時にアクセス可能です。
EFSの特徴
複数のEC2インスタンスから共有可能(分散ファイルストレージ)
自動スケーリング(データの増減に応じてストレージサイズが変化)
リージョン内の複数のAZにまたがって冗長化
NFSプロトコル対応(Linux系OSで標準対応)
料金は使用容量ベース(プロビジョニング不要)
EFSのユースケース
- コンテンツ管理システム(CMS)(例:WordPressのメディアファイル)
- データ共有が必要なアプリケーション(例:Webサーバークラスタ)
- 機械学習やログ解析のストレージ
- 継続的なバックアップやアーカイブ
EFSの作成手順(AWSマネジメントコンソール)
- AWSマネジメントコンソールで「EFS」を開く
- 「ファイルシステムを作成」をクリック
- VPCとサブネットを選択
- マウントターゲットを設定(EC2インスタンスがアクセス可能なように)
- パフォーマンスモードの選択(標準または最大IO)
- スループットモードの選択(バーストまたはプロビジョンド)
- 作成後、マウントコマンドを取得し、EC2インスタンスに適用
EFSをEC2にマウント(Linux)
sudo yum install -y amazon-efs-utils
sudo mkdir /mnt/efs
sudo mount -t efs fs-xxxxxxxx:/ /mnt/efs
EFSのパフォーマンス最適化
- パフォーマンスモード
- 標準:デフォルト設定で一般的なワークロード向け
- 最大IO:高いスループットと並列処理が必要な場合に使用
- スループットモード
- バースト:小規模~中規模ワークロード向け(自動で調整)
- プロビジョンド:一定のスループットを確保(高負荷ワークロード向け)
2. EBS(Elastic Block Store)とは?
EBSは、EC2インスタンス専用のブロックストレージで、仮想ハードディスクのように利用できます。
EBSの特徴
EC2インスタンスにアタッチする専用ストレージ
高パフォーマンスな低レイテンシストレージ
スナップショットを利用したバックアップと復元
I/O最適化のための複数のボリュームタイプ
ボリュームサイズの拡張が可能
EBSのユースケース
- データベース(RDS、MySQL、PostgreSQL)
- トランザクションが多いアプリケーションのストレージ
- 一時的な作業領域(バッチ処理、ログ保存)
- ブートボリューム(OSディスク)
EBSのボリュームタイプ
ボリュームタイプ | 特徴 | ユースケース |
---|---|---|
gp3(汎用SSD) | コストとパフォーマンスのバランスが良い | 一般的なアプリケーション |
gp2(旧汎用SSD) | IOPSがバースト可能 | 汎用ストレージ |
io2/io1(プロビジョンドIOPS SSD) | 高IOPSを保証 | 高負荷なDB |
st1(スループット最適化HDD) | 大容量・低コスト | ビッグデータ処理 |
sc1(Cold HDD) | 最も低コスト | アーカイブや低頻度アクセス |
EBSの作成手順(AWSマネジメントコンソール)
- AWSマネジメントコンソールで「EBS」を開く
- 「ボリュームを作成」をクリック
- ボリュームタイプを選択(gp3, io1, st1など)
- ボリュームサイズを指定
- アベイラビリティゾーン(AZ)を選択(EC2と同じAZ)
- EC2インスタンスにアタッチ
EBSをEC2にマウント(Linux)
sudo mkfs -t ext4 /dev/xvdf
sudo mkdir /mnt/ebs
sudo mount /dev/xvdf /mnt/ebs
EBSスナップショットの作成(バックアップ)
aws ec2 create-snapshot --volume-id vol-xxxxxxxx --description "Backup"
EBSのパフォーマンス最適化
- gp3を利用(gp2よりコスト効率が良く、IOPS調整が可能)
- ボリュームサイズを適切に設定(大きいほどIOPSが増加)
- スナップショットを定期的に取得し、障害に備える
3. EFS vs EBS:どちらを選ぶべきか?
項目 | EFS | EBS |
---|---|---|
ストレージタイプ | ネットワークファイルストレージ(NFS) | ブロックストレージ |
スケーリング | 自動スケーリング | 手動でサイズ変更 |
パフォーマンス | 大規模な並列アクセス向け | 低レイテンシのI/O処理向け |
ユースケース | 共有ファイルシステム | データベース、OSディスク |
料金体系 | 使用量ベース課金 | プロビジョニングした容量に基づく課金 |
複数のEC2インスタンスからアクセスしたいなら「EFS」
単一のEC2で高IO性能が必要なら「EBS」
4. まとめ
- EFSはNFS対応の共有ストレージで、自動スケールと高可用性が特徴
- EBSはEC2専用のブロックストレージで、低レイテンシと高パフォーマンスが特徴
- ワークロードに応じて適切なストレージタイプを選択
次のステップでは、「AWS Lambdaとサーバーレスアーキテクチャ」について詳しく解説していきます!