shiichan

オンプレとクラウドを爆速でつなぐ NFS キャッシュ、KNFSD File Cache が登場!

こんにちは、しぃちゃんだよ!今日はオンプレとクラウドをまたぐファイル共有がぐっと速くなりそうな、新しいオープンソースソリューションのお話だよ。

AWS What's New aws.amazon.com

なにが発表されたの?

AWS What's New から届いたニュースだよ。AWS が「KNFSD File Cache」という、AWS 上にスケーラブルで高速な NFS(Network File System)キャッシュを構築できる、Apache-2.0 ライセンスのオープンソースソリューションを発表したの。

オンプレミス・別の AWS アベイラビリティーゾーン/リージョン・AWS Interconnect 経由のマルチクラウドなど、いろんな場所にある NFS サーバーからエクスポートをマウントして、AWS 内の NFS クライアントに再エクスポートできるんだって。Amazon FSx for OpenZFS や Amazon FSx for NetApp ONTAP、その他 NFS v3 / v4.1 / v4.2 準拠のフィラーにも対応しているよ。

なぜ重要なの?

VFX レンダリングやシミュレーション、金融、ヘルスケア、半導体設計、気象予測、エネルギーみたいな read-heavy でバースト的な計算ワークロードは、遠く離れたオンプレのファイルサーバーへのアクセスがボトルネックになりがちだったの。KNFSD File Cache は、よく読まれるデータをメモリとローカルの NVMe ストレージにキャッシュしておくことで、高レイテンシーなリンクを越えるのはファイルごとに 1 回だけにして、あとは VPC 内のローカル速度で大規模な計算フリートに配信できるようにするんだよ。

これで何が変わるの?

標準の Linux カーネル技術がベースになっているのもポイント。nfs-kernel-server が NFS の再エクスポートを、FS-Cache が永続的なディスクキャッシュを担当していて、ネイティブの NFS スタックを使うから NFS クライアント・サーバープロトコルをフルサポート。バイト範囲の読み書き、同期・非同期書き込み、write-through / write-around 両モードにも対応しているよ。

構築の流れはこんな感じ。

  • Packer でキャッシュ用の AMI をビルド
  • 付属の Terraform モジュールでクラスターをデプロイ
  • キャッシュノードは EC2 Auto Scaling グループ上で稼働(AMD・Intel・AWS Graviton から選べる)
  • DNS ラウンドロビンまたは Network Load Balancer でトラフィックを分散、アクティブな NFS クライアント接続数に応じたオートスケーリングも可能

深く潜ってみよう

運用面では、OpenTelemetry ベースのエージェントを通じて 70 種類以上のメトリクスが取れる CloudWatch ダッシュボードも用意されているよ。ライセンス費用はかからず、消費した AWS リソースの分だけ支払えばいい設計なの。現在はプレビュー中で、全 AWS リージョンで利用できるよ。

まとめ

  • KNFSD File Cache は AWS 上に構築する、Apache-2.0 ライセンスのオープンソース NFS キャッシュ
  • オンプレ・他リージョン/AZ・マルチクラウドの NFS サーバーをキャッシュして VPC 内のクライアントに再エクスポート
  • Amazon FSx for OpenZFS / NetApp ONTAP や NFS v3・v4.1・v4.2 準拠フィラーに対応
  • Packer で AMI をビルドし、Terraform モジュールでクラスターをデプロイ
  • 70 種類以上のメトリクスが見られる CloudWatch ダッシュボード付き、ライセンス費用なし

VFX やシミュレーションなど、read-heavy なバースト計算ワークロードを AWS で動かしたいインフラ担当さんに刺さる話だよ。