TL;DR: EFS bills ~$0.30/GB-month on its default Standard tier; the Infrequent Access tier holds the same files, instantly accessible, at ~$0.016 — you just pay ~$0.01/GB when you actually read them. One lifecycle policy ("move files untouched for 30 days to IA") captures it, invisibly to every application. Most EFS estates run 60–80% cold, and most teams never flip the switch.
The numbers
- Standard: ~$0.30/GB-month · IA: ~$0.016/GB-month + ~$0.01/GB per read (128 KB minimum billable per file)
- Field examples from the source workflow: an 8 TB multi-tenant document store dropped from ~$2,400 to
$950/month including access fees (**$18k/year**); a telehealth archive (90-day policy, never transition back) cut 5 TB from ~$1,500 to ~$300/month; CI artifacts on a 7-day policy went $900 → $365/month - Access latency: same filesystem, instant reads — this is not Glacier; only the price and the read fee differ
Do this
-
Check whether Lifecycle Management is even on: EFS console → file system → Lifecycle Management, or
describe-lifecycle-configuration. Off + big filesystem = money on the table every month. -
Enable a sensible policy:
aws efs put-lifecycle-configuration --file-system-id fs-0abc123 \ --lifecycle-policies \ '[{"TransitionToIA":"AFTER_30_DAYS"}, {"TransitionToPrimaryStorageClass":"AFTER_1_ACCESS"}]'Start conservative (60–90 days) if unsure, then tighten; teams that know their hot window (CI artifacts, recent uploads) go as low as 7 days.
-
Choose the transition-back behavior deliberately:
AFTER_1_ACCESSfor data that gets re-read in bursts (promoted files stop paying read fees); never for compliance archives that get read once per audit. -
Watch
PercentIAStorageand IA access fees for a month. Climbing IA share = working; spiking access fees = your "cold" data isn't, so lengthen the threshold.
Gotchas
- Tiny files lose money: IA bills each file at a 128 KB minimum. Millions of 1 KB files can cost more in IA than Standard — small-file workloads belong in S3.
- Metadata-touching jobs keep everything hot: backup scans, indexers, even scripts that stat every file reset the access clock. Exclude or schedule around them.
- Constantly rewritten files never transition — IA is for write-once, read-occasionally.
- Fees compound on genuinely warm data: files read weekly will pay their storage savings back in access fees; that's Standard-tier data.
- Transitions lag the threshold by up to ~a day — not instant.
Skip this if
- The filesystem is genuinely hot end to end (live application data, continuously deployed code).
- Average file size is far below 128 KB.
- The data is colder than IA — read once or twice a year belongs another rung down in EFS Archive, and the full tiering setup is covered in EFS Lifecycle Management.
- You don't actually need a shared POSIX filesystem — S3 with Intelligent-Tiering is typically 10–20× cheaper than EFS Standard for plain file storage.