awsfsxstoragecost-optimization

Amazon FSx cost comparison: Lustre vs Windows vs ONTAP vs OpenZFS

FSx has four file system types, each billing storage plus throughput. Here's what Lustre, Windows File Server, NetApp ONTAP, and OpenZFS cost, which to use, and how to avoid over-provisioning throughput.

The C3X Team··6 min read

Quick answer

Amazon FSx has four flavors, each billing storage plus (usually) provisioned throughput: Lustre (HPC/ML), Windows File Server (SMB/AD), NetApp ONTAP (multiprotocol + NetApp features), and OpenZFS (NFS/Linux). OpenZFS and Lustre scratch tend to be cheapest per GB; ONTAP and persistent Lustre cost more for their features. Pick by protocol and performance, then right-size storage and throughput separately.

"FSx" isn't one product — it's four managed file systems with different protocols, performance profiles, and prices. The cost question only makes sense after the protocol question: a workload that needs SMB and Active Directory can't use Lustre at any price. Once the protocol is fixed, you optimize storage and throughput.

The four types

  • FSx for Lustre: massive parallel throughput for HPC and ML training. Scratch (~$0.14/GB-month) is cheap and transient; persistent costs more and survives. Throughput scales with storage.
  • FSx for Windows File Server: SMB shares with Active Directory, ~$0.13/GB-month (SSD) plus provisioned throughput. The choice for Windows file shares.
  • FSx for NetApp ONTAP: multiprotocol (NFS, SMB, iSCSI) with NetApp features — snapshots, dedup, compression, automatic tiering. Capacity + throughput tiers; priciest, but the tiering can claw cost back on cold data.
  • FSx for OpenZFS: NFS for Linux with ZFS features, ~$0.10/GB-month (SSD) plus throughput. Often the lowest-cost option for straightforward NFS.

Throughput is a separate dial

For Windows, ONTAP, and OpenZFS you provision throughput independently of storage — and over-provisioning it is a quiet, recurring overspend. Size throughput to the workload's actual read/write demand, not the maximum "just in case." Lustre scratch couples throughput to storage, so there the lever is capacity.

Matching type to workload

  1. HPC / ML training: Lustre (scratch for transient data, persistent for durable).
  2. Windows SMB shares with AD: Windows File Server.
  3. Multiprotocol or NetApp shop: ONTAP, and use its tiering/dedup to cut cold-data cost.
  4. Linux NFS at lower cost: OpenZFS.

FAQ

What are the four Amazon FSx file system types and their cost?

FSx for Lustre (HPC/ML, scratch ~$0.14/GB-month, persistent more), FSx for Windows File Server (SMB/Active Directory, SSD ~$0.13/GB-month plus throughput), FSx for NetApp ONTAP (multiprotocol with NetApp features, capacity + throughput tiers), and FSx for OpenZFS (NFS/Linux, SSD ~$0.10/GB-month plus throughput). Each bills storage plus, for most, provisioned throughput.

Which FSx type is cheapest?

It depends on workload, but FSx for OpenZFS and Lustre scratch tend to be the lower-cost options per GB, while ONTAP and persistent Lustre cost more for their features and durability. The right answer is the cheapest type that fits your protocol and performance needs — they're not interchangeable.

When should I use each FSx type?

Lustre for high-performance computing and ML training that needs massive throughput. Windows File Server for SMB shares with Active Directory integration. NetApp ONTAP for multiprotocol access and NetApp data-management features (snapshots, dedup, tiering). OpenZFS for NFS workloads on Linux that want ZFS features at a lower cost.

Does FSx charge for throughput separately?

For most types, yes. You provision throughput capacity in addition to storage, and over-provisioning throughput is a common overspend. Lustre scratch is throughput-coupled to storage; Windows, ONTAP, and OpenZFS let you set throughput independently, so size it to actual need.

How do I reduce FSx costs?

Pick the right type for the protocol (don't pay ONTAP rates for a simple NFS share), right-size storage and throughput separately, use Lustre scratch (not persistent) for transient HPC data, enable storage tiering/dedup on ONTAP for cold data, and delete file systems left running after a job completes.

How does C3X estimate FSx cost?

C3X prices an aws_fsx_file_system (and the type-specific resources like aws_fsx_lustre_file_system) from its storage capacity, type, and deployment option, so the cost of a given FSx configuration is visible before deployment.

What to do next

Choose the type by protocol, then price the configuration before you provision a multi-terabyte file system. C3X prices an aws_fsx_file_system from its capacity, type, and deployment option, so an over-provisioned or wrong-type FSx shows its monthly cost in review. For the simpler storage decision, see EFS vs EBS vs S3. The quickstart runs it in minutes.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.