複数AZのEC2ワーカーが同じPOSIXファイルシステムをマウントする。データ量とI/O量は日によって大きく変動し、将来の容量やスループットを事前に見積もれない。
ファイル共有の意味を保ちつつ、使っていない容量やプロビジョニング済みスループットへの支払いを避けたい。
最も適切なストレージ構成はどれか。
複数AZから共有するファイルを容量・I/Oの予測なしで運用するなら、EFSのElastic throughputで必要な性能だけを自動的に使う。
詳細解説
EFSは容量を事前に確保せず、複数AZからNFSで共有できる。Elastic throughputは予測しにくいI/Oに合わせてスループットを自動調整するため、固定の容量・性能を過剰に用意しない。
EFSはNFSのファイルシステムとして複数AZのクライアントから同じデータを扱える。容量は保存量に合わせて伸縮し、Elastic throughputなら予測しにくいI/Oに合わせて性能を自動調整できるため、固定プロビジョニングの無駄を抑えられる。
EBSはインスタンス単位のブロックストレージであり、共有ファイルの整合性や同期をアプリケーション側で実装する必要がある。固定容量の重複もコスト最適化の要件に合わない。
EBSはEC2へ接続するブロックストレージで、各インスタンスに別ボリュームを付けただけでは共有ファイルにならない。同期処理、競合制御、重複容量をアプリケーションで管理する必要があり、既存のPOSIX共有要件から外れる。
S3はオブジェクトストレージであり、POSIXのマウント、ファイルロック、既存アプリケーションのファイル操作をそのまま提供しない。アプリケーション改修を前提にしても共有ファイル要件を満たさない。
S3はオブジェクト単位で保存するサービスで、POSIXのファイル操作やロックをそのまま提供しない。S3へ置き換えるにはアプリケーションのアクセスモデルを変更する必要があり、問題の共有ファイル要件を満たさない。
FSxは特定のファイルシステム機能が必要な場合に選ぶが、予測困難な容量・I/Oに固定の容量とスループットを割り当てる構成は未使用分を生みやすい。
FSxには用途に応じたファイルシステムがあるが、容量とProvisioned throughputを固定すると、変動する利用量に対して未使用の性能を支払い続ける可能性がある。機能要件とコスト要件を同時に比較する必要がある。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
Amazon EFSの容量の自動伸縮とElastic throughputの公式説明を確認する。
参考にした公式資料
確認できる内容
ファイルシステムは保存データに応じて拡張・縮小し、I/Oが変動してもスループットを事前に固定せずに共有アクセスを継続する。
理解のポイント
- Amazon EFS
- Regionalファイルシステム
- Elastic throughput
- NFS
確認時の注意
- 確認環境:
- EFSのファイルシステム種別、容量伸縮、throughput modeは公式ドキュメントの現行仕様を確認する。
基礎のおさらい
容量とスループット
保存量が増減することと、I/O性能が変動することは別の軸である。EFSではファイルシステムの伸縮とElastic throughputを組み合わせて、両方の予測誤差を抑えられる。
共有方式の互換性
EBSはブロック、S3はオブジェクト、EFSはNFSファイル共有である。サービス名ではなく既存アプリケーションのアクセス方式とAZ要件から候補を絞る。