Amazon EFS

複数の EC2 インスタンスや Lambda 関数から同時にアクセスできるフルマネージドな NFS ファイルシステムサービス

概要

Amazon Elastic File System (EFS) は、NFS v4.1 プロトコルに準拠したフルマネージドなファイルストレージサービスです。複数の EC2 インスタンスや Lambda 関数、ECS タスクから同時にマウントしてアクセスでき、ファイルの追加・削除に応じてストレージ容量が自動的に拡縮します。容量計画やプロビジョニングが不要で、ペタバイト規模まで自動スケールします。Standard ストレージクラスと Infrequent Access (IA) ストレージクラスがあり、EFS Intelligent-Tiering を有効にすれば、アクセス頻度に応じてファイルを自動的に最適なクラスに移行してコストを削減できます。リージョン内の複数のアベイラビリティゾーンにデータを冗長化するため、高い可用性と耐久性を実現しています。

EFS と EBS の使い分け

EFS と EBS はどちらも EC2 インスタンスのストレージとして利用できますが、用途が異なります。EBS はブロックストレージで、1 つの EC2 インスタンスに専有的にアタッチされます (io2 の Multi-Attach を除く)。データベースや OS のルートボリュームなど、単一インスタンスからの高速アクセスが必要な場合に適しています。一方、EFS はファイルストレージで、数千の EC2 インスタンスから同時にマウントできます。共有設定ファイル、Web コンテンツの配信元、機械学習のトレーニングデータセットなど、複数のインスタンスからの同時アクセスが必要な場合に適しています。パフォーマンスモードとして、汎用モード (レイテンシ重視) と最大 I/O モード (スループット重視) の 2 種類があり、ワークロードの特性に応じて選択します。

Azure Files との比較

Azure で EFS に対応するサービスは Azure Files です。Azure Files は SMB プロトコルと NFS プロトコルの両方をサポートしており、Windows クライアントからの接続にも対応している点が EFS との大きな違いです。EFS は NFS v4.1 のみをサポートするため、Windows からの直接マウントはできません。料金面では、EFS Standard の 1 GB あたり月額約 0.36 ドル (東京リージョン) に対し、Azure Files Premium は 1 GiB あたり月額約 0.20 ドルですが、Azure Files Premium はプロビジョニング済み容量に対して課金されるため、実際の使用量が少ない場合はコスト効率が下がります。EFS は使用量ベースの課金で、Intelligent-Tiering による自動コスト最適化が可能な点が強みです。