TL;DR: EFS tracks per-file last-access time and can automatically demote idle files to cheaper tiers — IA ($0.016/GB-month) and Archive ($0.008) versus Standard's ~$0.30 — then promote them back on first read. It's one console screen, needs zero application changes (the POSIX interface is identical whatever tier a file is on), and the default state — Standard everything, no policy — is the most expensive possible configuration.
The numbers
- 10 TB filesystem, 70% aging into IA:
$3,000/month → **$1,000/month** (~$24k/year) from one setting - Thresholds available: 7, 14, 30, 60, 90, 180, 365 days since last access; optional second step to Archive; optional promote-back-on-first-access
- Works identically on EFS One Zone (baseline ~half price; same percentage savings)
Do this
-
Enable it on your largest filesystem:
aws efs put-lifecycle-configuration --file-system-id fs-0abc123 \ --lifecycle-policies \ '[{"TransitionToIA":"AFTER_30_DAYS"}, {"TransitionToArchive":"AFTER_90_DAYS"}, {"TransitionToPrimaryStorageClass":"AFTER_1_ACCESS"}]'30-day IA is the sensible default; add the Archive step only for data that stays cold for quarters (details on the Archive trade-offs).
-
Watch
PercentIAStoragein CloudWatch for two weeks. Climbing steadily = it's working and next month's bill drops. Staying low = your data is hotter than assumed; lengthen the threshold or accept there's little to capture. -
Match the threshold to the honest hot window: dev-branch archives do well at 60 days; CI artifacts at 7; ML training sets at 30; compliance data at 30→IA + 90→Archive.
-
Revisit quarterly — access patterns drift, and the toggle that was right last year may be too aggressive or too shy now.
Gotchas
- Whole-filesystem scanners defeat it. Backup tools, antivirus, search indexers that read every file nightly reset every access clock — nothing ever goes cold. Exclude those paths or run them less often.
- Bouncy files lose money: data flipping hot/cold repeatedly racks up transition and access fees. Diagnose with a week of CloudWatch before an aggressive threshold.
- Small files: IA's 128 KB minimum billable size punishes millions-of-tiny-files workloads.
- First read of a cold file is slower — milliseconds for IA, but 3–5 hours for Archive; only the Archive step carries real latency risk.
- Transitions lag the threshold by up to a day.
Skip this if
- The filesystem is uniformly hot (continuously read application data) — there's nothing to demote.
- You shouldn't be on EFS at all: no concurrent-mount or POSIX requirement means S3 (with Intelligent-Tiering) is typically 10–20× cheaper than even optimized EFS. Optimize the architecture before the tier.
- The filesystem is tiny — enable it anyway on principle, but don't expect a visible line-item change.