Amazon EFS で構築する共有ファイルストレージ - Lambda・ECS・EC2 からのマウントと設計指針
Amazon EFS のパフォーマンスモード選定、Lambda・ECS・EC2 からのマウント方法、ライフサイクル管理によるコスト最適化を解説します。
EFS の特徴と EBS・S3 との使い分け
EFS は NFS v4.1 準拠のマネージドファイルシステムで、複数のコンピューティングリソースから同時にマウントできる点が最大の特徴です。EBS は単一の EC2 インスタンスにアタッチするブロックストレージ (io2 のマルチアタッチを除く)、S3 はオブジェクトストレージで POSIX ファイルシステムとしてはマウントできません。複数のインスタンスやコンテナから同じファイルにアクセスする必要がある場合、EFS が唯一の選択肢です。CMS の共有メディアストレージ、機械学習のトレーニングデータ共有、CI/CD のビルドキャッシュ共有などのユースケースに適しています。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
パフォーマンスモードとスループットモード
パフォーマンスモードは汎用モードと最大 I/O モードの 2 種類です。汎用モードはレイテンシが低く、ほとんどのワークロードに適しています。最大 I/O モードは数千のクライアントからの同時アクセスに最適化されていますが、レイテンシがやや高くなります。スループットモードは Elastic、プロビジョンド、バーストの 3 種類です。Elastic モードはアクセスパターンに応じてスループットが自動スケールし、最大 10 GiB/s のリードスループットを提供します。バーストクレジットの管理が不要なため、新規構築では Elastic モードを推奨します。プロビジョンドモードは一定のスループットを保証する必要がある場合に使用します。
ライフサイクル管理とコスト最適化
EFS のライフサイクル管理は、一定期間アクセスのないファイルを自動的に低頻度アクセス (IA) ストレージクラスに移行する機能です。IA ストレージクラスの料金は標準クラスの約 8% で、最大 92% のコスト削減が可能です。移行のトリガーは 1 日、7 日、14 日、30 日、60 日、90 日から選択できます。IA クラスのファイルにアクセスすると、読み取りごとにアクセス料金が発生しますが、アクセス頻度が低いファイルであればストレージ料金の削減効果が上回ります。Intelligent-Tiering を有効にすると、再びアクセスされたファイルを自動的に標準クラスに戻すことも可能です。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ
EFS は複数のコンピューティングリソースから共有アクセスが必要なファイルストレージとして、AWS で唯一の POSIX 準拠マネージドサービスです。Elastic スループットモードとライフサイクル管理を組み合わせることで、パフォーマンスとコストの両方を最適化できます。Lambda や ECS からのマウントにより、サーバーレスアーキテクチャでも共有ファイルシステムを活用できます。
AWS の優位点
- NFS v4.1 プロトコルで複数の EC2 インスタンス、ECS タスク、Lambda 関数から同時にマウントでき、共有ファイルシステムとして機能する
- Elastic スループットモードはアクセスパターンに応じて自動スケールし、バーストクレジットの管理が不要
- ライフサイクル管理で 30 日間アクセスのないファイルを自動的に IA (低頻度アクセス) ストレージクラスに移行し、最大 92% のコスト削減を実現する
- Lambda 関数に EFS をマウントすることで、/tmp の 10 GB 制限を超える大容量の一時ファイル処理や、関数間でのファイル共有が可能になる
- EFS レプリケーションで別リージョンに自動的にデータを複製し、RPO 15 分以内の DR 構成を構築できる