AWSAmazon FSxStorage

aws_fsx_file_system cost estimation

Managed file storage for Windows, Lustre, NetApp ONTAP, and OpenZFS workloads. Pricing varies wildly: from $0.025/GB-month (Lustre HDD) to $0.30+/GB-month (Windows SSD with deduplication).

Amazon FSx provides four managed file-system flavors with very different pricing models. The aws_fsx_file_system resource covers all four; pricing depends on the storage_type and deployment configuration.

FSx for Windows File Server: $0.13/GB-month for SSD ($0.025 HDD) plus throughput capacity at $2.20/MBps/month. Multi-AZ deployments double the storage cost. Targeted at lift-and-shift Windows workloads needing SMB.

FSx for Lustre: $0.14/GB-month SSD persistent ($0.025 HDD). For HPC and ML workloads. Scratch deployments (non-persistent) are cheaper but data is lost on shutdown.

FSx for NetApp ONTAP: $0.14/GB-month SSD plus $5.50/MBps/month throughput. The most expensive flavor; supports advanced ONTAP features (FlexCache, SnapMirror, deduplication).

FSx for OpenZFS: $0.09/GB-month SSD plus throughput. Newer, designed for cost-sensitive POSIX workloads.

Common gotcha: throughput capacity is billed separately from storage on all flavors. A Windows file system with 1 TB storage at 32 MBps throughput bills $130 storage + $70 throughput = $200/month. Choosing too-high throughput silently doubles or triples the bill.

c3x estimates FSx based on storage_capacity, throughput_capacity, deployment_type, and storage_type. For ONTAP, separate capacity pool tiers (frequent vs capacity) are tracked when configured.

Terraform example

A minimal but realistic configuration that C3X can estimate.

resource "aws_fsx_windows_file_system" "main" {
  active_directory_id = aws_directory_service_directory.main.id
  storage_capacity    = 1024
  storage_type        = "SSD"
  throughput_capacity = 32
  subnet_ids          = [aws_subnet.private.id]
  security_group_ids  = [aws_security_group.fsx.id]

  deployment_type = "MULTI_AZ_1"
  preferred_subnet_id = aws_subnet.private.id
}

Pricing dimensions

What you actually pay for when you provision aws_fsx_file_system.

DimensionUnitWhat's being charged
Storage (SSD)per GB-monthSSD storage for the file system. Multi-AZ doubles this rate.
$0.09-$0.14/GB-month (varies by flavor)
Storage (HDD)per GB-monthCheaper HDD tier (Windows and Lustre only). Lower performance.
$0.025/GB-month
Throughput capacityper MBps-monthProvisioned throughput; required parameter. Often the bill driver when over-provisioned.
$2.20/MBps-month (Windows), $5.50/MBps-month (ONTAP)
Backupsper GB-monthAutomated and user-initiated backups stored separately. Incremental but billed as full first time.
$0.05/GB-month

Optimization tips

Common ways to reduce aws_fsx_file_system cost without changing the workload.

Right-size throughput capacity

$2.20/MBps removed

Throughput is a separate line item. Many teams over-provision it during setup. Monitor actual throughput usage and downsize. A 1 TB FSx Windows can drop from 64 MBps to 16 MBps for ~$100/month savings.

Use HDD for large, cold workloads

80% vs SSD

Windows and Lustre support HDD at $0.025/GB-month vs $0.09-$0.14 SSD. For archives, file shares with infrequent access, or large training datasets, HDD is 5x cheaper.

Use Lustre scratch for ephemeral HPC

30-40% on Lustre

Lustre scratch deployments are 30-40% cheaper than persistent. Right for ML training where data can be reloaded from S3. Persistent is needed for stateful workflows.

Enable deduplication on Windows FSx

30-70% on Windows SSD

Windows FSx supports built-in deduplication on SSD volumes. Typical reduction: 30-50% on user shares, 70%+ on VM images. Free feature; just enable on the file system.

FAQ

Which FSx flavor is cheapest?

FSx for OpenZFS at $0.09/GB-month SSD has the lowest base storage rate. Lustre HDD at $0.025/GB-month is cheapest overall but only suits HPC/ML scratch workloads. For general file storage, OpenZFS or Windows HDD are the cheapest.

Does Multi-AZ really double the storage cost?

Yes. Multi-AZ deployments maintain a synchronous replica in another AZ. Storage cost doubles, throughput cost stays the same. Multi-AZ is only worth it for production workloads needing automatic failover.

Are FSx backups deduplicated?

Backups are incremental: only changed blocks since the previous backup add to storage. The first backup is full-size. Backup storage is billed at $0.05/GB-month — separately from the live file system.

Does FSx integrate with S3 for tiering?

Lustre supports S3 data repositories: file system data can be lazily loaded from S3 and written back. ONTAP's FabricPool tiers cold blocks to S3. Windows FSx doesn't have direct S3 tiering. For Lustre with S3 repository, you avoid pre-loading large datasets.

Related resources

Estimate this resource in your own Terraform

Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including aws_fsx_file_system.