aws_ efs_ file_ system cost estimation
A managed NFS file system for shared access from EC2, ECS, EKS, and Lambda. Priced per GB stored, with tiered storage classes.
An aws_
EFS has four storage classes:
EFS Standard: $0.30/GB-month. Multi-AZ replicated by default. Right for active workloads.
EFS Standard-IA (Infrequent Access): $0.025/GB-month. Plus $0.01/GB read fee on access. Right for files accessed less than once a month.
EFS One Zone: $0.16/GB-month. Single-AZ for ~50% savings on Standard, but no cross-AZ durability.
EFS One Zone-IA: $0.0133/GB-month. Cheapest, single-AZ, with read fees on access.
Lifecycle Management automatically transitions files between tiers based on age. Without it, you pay Standard rates for everything.
Throughput modes affect billing too:
Elastic (default): no throughput provisioning, scales automatically. Free in steady-state but bursts can incur "burst credit" overage charges on heavy bursts.
Provisioned: pay for a fixed throughput level at $6/MB/s-month. Right for predictable high-throughput workloads.
Bursting: legacy mode tied to storage size. Mostly deprecated for new file systems.
c3x reads storage class and throughput mode. Capacity and read volume are usage-based via c3x-usage.yml.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_efs_file_system" "shared" {
creation_token = "shared-data"
performance_mode = "generalPurpose"
throughput_mode = "elastic"
encrypted = true
lifecycle_policy {
transition_to_ia = "AFTER_30_DAYS"
}
lifecycle_policy {
transition_to_archive = "AFTER_90_DAYS"
}
tags = {
Name = "shared-data"
}
}
resource "aws_efs_mount_target" "shared" {
count = length(aws_subnet.private)
file_system_id = aws_efs_file_system.shared.id
subnet_id = aws_subnet.private[count.index].id
security_groups = [aws_security_group.efs.id]
}Pricing dimensions
What you actually pay for when you provision aws_.
| Dimension | Unit | What's being charged |
|---|---|---|
| Standard storage | per GB-month | Multi-AZ storage for actively-accessed files. $0.30/GB-month in us-east-1 |
| Standard-IA storage | per GB-month + per GB read | Infrequent access tier. ~92% cheaper storage but $0.01/GB read fee. $0.025/GB-month + $0.01/GB read |
| One Zone storage | per GB-month | Single-AZ. ~50% cheaper than Standard but no cross-AZ durability. $0.16/GB-month |
| Provisioned throughput | per MB/s-month | Optional flat-rate throughput tier for predictable high-throughput workloads. $6.00/MB/s-month |
Optimization tips
Common ways to reduce aws_ cost without changing the workload.
Enable lifecycle management to move cold files to IA
Up to 92% on storageEFS lifecycle policies automatically move files to Standard-IA after 30 days of no access. Storage savings can be 90%+ for write-once-read-rarely workloads.
Use One Zone for non-critical or replicated data
About 47%If your application replicates data at the application level (e.g., across multiple file systems) or the data is regeneratable, One Zone halves storage cost.
Avoid EFS for static-asset workloads
Workload-dependentEFS is expensive for use cases that don't need NFS semantics. For static assets, S3 is 10x cheaper. For shared databases, RDS or DynamoDB is better.
Use Elastic throughput mode
Avoid throughput overprovisioningProvisioned throughput is $6/MB/s-month. Most workloads' burst patterns don't justify it. Elastic mode is free unless you sustain very high throughput.
FAQ
When is EFS the right storage choice?
When you need POSIX file system semantics shared across multiple compute targets simultaneously. Use cases: shared developer home directories, container persistent volumes for stateful apps, legacy applications expecting NFS. For object storage or block storage, choose S3 or EBS instead.
How much does EFS-IA actually save?
Storage drops from $0.30 to $0.025/GB-month (92% off). But every read incurs $0.01/GB. The break-even is around 30 days between reads. For truly cold data, big savings. For occasionally-accessed data, do the math.
Does c3x include lifecycle transitions?
Yes. If lifecycle_
What about EFS Replication?
EFS Replication creates a destination file system in another region for DR. The replica is billed at standard storage rates plus cross-region data transfer. c3x estimates each file system independently.
Related resources
More AWS resources
Further reading
- AWS EFS throughput modes: Bursting, Elastic, and Provisioned cost
EFS charges storage plus, depending on throughput mode, either nothing extra (Bursting), per throughput used (Elastic), or per provisioned throughput. Picking the wrong mode over-pays or throttles. Here is how the modes price and when to use each.
- EFS vs EBS vs S3 cost: pick by access pattern, not the per-GB rate
S3 (~$0.023/GB) is cheapest, EBS (~$0.08) middle, EFS (~$0.30) priciest, but they're not interchangeable. Here's how to match the service to the access pattern and avoid paying 13x by using EFS where S3 would do.
- How much does it cost to run WordPress at scale on AWS?
A WordPress site doing 2 million page views a month costs about 825 dollars on AWS, and full-page caching cuts that to around 650. Here is the component breakdown and why the database is the fragile part.
- EFS Infrequent Access cost: cutting file storage by 90 percent
EFS Standard costs $0.30 per GB-month, one of the priciest storage options on AWS, but its Infrequent Access tier drops to $0.016 per GB, a near-95-percent cut. Here is how EFS lifecycle management moves cold files automatically and where the access fees bite.
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_.