Amazon EFS で構築する共有ファイルストレージ - Lambda ・ ECS ・ EC2 からのマウントと設計指針

パフォーマンスモードとスループットモードの選定基準を明確にし、ライフサイクル管理による IA 階層への自動移行でコストを最適化する手法を紹介します。

EFS の特徴と EBS ・ S3 との使い分け

EFS は NFS v4.1 準拠のマネージドファイルシステムで、複数のコンピューティングリソースから同時にマウントできる点が最大の特徴です。EBS は単一の EC2 インスタンスにアタッチするブロックストレージ (io2 のマルチアタッチを除く)、S3 はオブジェクトストレージで POSIX ファイルシステムとしてはマウントできません。複数のインスタンスやコンテナから同じファイルにアクセスする必要がある場合、EFS が唯一の選択肢です。CMS の共有メディアストレージ、機械学習のトレーニングデータ共有、CI/CD のビルドキャッシュ共有などのユースケースに適しています。

パフォーマンスモードとスループットモード

パフォーマンスモードは汎用モードと最大 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 を有効にすると、再びアクセスされたファイルを自動的に標準クラスに戻すことも可能です。 EFS を深く理解するには、専門書籍 (Amazon)が役立ちます。

まとめ

EFS は複数のコンピューティングリソースから共有アクセスが必要なファイルストレージとして、AWS で唯一の POSIX 準拠マネージドサービスです。Elastic スループットモードとライフサイクル管理を組み合わせることで、パフォーマンスとコストの両方を最適化できます。LambdaECS からのマウントにより、サーバーレスアーキテクチャでも共有ファイルシステムを活用できます。