All cheat sheets
Storagecheat sheet

EFS Infrequent Access

The EFS tier for files read less than monthly: ~95% cheaper storage than Standard with the same instant access, plus a small per-GB read fee. Enabled by one lifecycle policy — no app changes, no migration.

Last reviewed: July 11, 2026

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

  1. 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.

  2. 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.

  3. Choose the transition-back behavior deliberately: AFTER_1_ACCESS for data that gets re-read in bursts (promoted files stop paying read fees); never for compliance archives that get read once per audit.

  4. Watch PercentIAStorage and 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.

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are auditing an AWS account for EFS Infrequent Access savings. Use
the AWS CLI with READ-ONLY credentials. Do not create, modify, or
delete anything — report findings and recommended (unapplied) fixes
only.

1. aws efs describe-file-systems: per filesystem capture SizeInBytes
   (ValueInStandard / ValueInIA / ValueInArchive) and throughput mode.
2. aws efs describe-lifecycle-configuration per filesystem:
   - No policy on a filesystem with meaningful Standard bytes = the
     headline finding (default config = most expensive possible).
   - Policy exists: sanity-check the threshold (7d aggressive, 30d
     typical, 90d+ conservative) and whether
     TransitionToPrimaryStorageClass=AFTER_1_ACCESS is set for
     workloads that re-read promoted files.
3. Cost model per filesystem: Standard ~$0.30/GB-mo vs IA ~$0.016 plus
   ~$0.01/GB per IA read. Assume 60–80% of bytes on mature filesystems
   qualify as cold unless CloudWatch (PercentIAStorage, MeteredIOBytes)
   suggests otherwise. Flag small-file risk: IA bills a 128 KB minimum
   per file — filesystems with millions of tiny files may lose money.
4. Distorters: backup/indexer jobs that touch every file keep data hot;
   note if names/mount targets hint at this.

Report: per-filesystem table (size | tier mix | policy | est. $/mo now |
est. $/mo with 30d IA policy | risks), plus the exact
put-lifecycle-configuration command per filesystem for review — but do
NOT apply anything.
Works with any assistant that can run shell commands.

Want the guided version?

The EFS Infrequent Access Storage Class walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough