On cost, Amazon S3 is the cheapest place to keep data you access over a network as objects, EBS is block storage priced per provisioned gigabyte that you pay for whether or not it is full, and EFS is shared file storage that costs more per gigabyte but bills only for what you actually store. The right choice follows the access pattern: object access over HTTP favours S3, a single instance needing a fast attached disk favours EBS, and many instances needing a shared POSIX file system favour EFS. The most common waste is using EBS as a default for data that is rarely read, where its provisioned model and idle volumes quietly cost more than the same data would in S3. Decide by how the data is accessed, then optimise within the chosen service.
Here is how each prices, where each wins, and the rule that picks the cheapest fit.
How does each service actually price?
S3 charges for the data you store plus requests, retrieval where applicable, and transfer out, with no capacity to provision. EBS charges per gigabyte of provisioned volume size, regardless of how much you have written, plus charges for provisioned IOPS or throughput on the higher performance volume types, and for snapshots. EFS charges per gigabyte actually stored, with storage classes for infrequent access, plus throughput depending on mode. The structural difference is provisioning: EBS bills the size you allocate, while S3 and EFS bill what you use. A half empty one terabyte EBS volume costs the full terabyte; the same data in S3 or EFS costs only what it occupies.
| Dimension | S3 | EBS | EFS |
|---|---|---|---|
| Storage type | Object over network | Block, attached to one instance | Shared file system, many instances |
| Billing basis | Data stored plus requests and transfer | Provisioned volume size | Data actually stored |
| Per gigabyte cost | Lowest | Middle | Highest |
| Idle waste risk | Low | High, pay for unused provisioned space | Low, pay for what is stored |
| Best fit | Backups, archives, data lakes, static assets | Boot disks, databases, low latency block | Shared content across many instances |
Relative cost positions are indicative; verify current rates against the AWS pricing pages for each service and region.
When is EBS the wrong default?
EBS is the right choice for a boot volume or a database that needs low latency block storage attached to one instance, but it is frequently used by default for data that does not need those properties. Because EBS bills the provisioned size, oversized volumes and old snapshots accumulate cost silently. Two standing wins recur: migrating from older gp2 volumes to gp3, which decouples throughput and IOPS from size and usually lowers cost for the same performance, and rightsizing volumes that were provisioned with large headroom that was never used. Data that is read rarely and does not need block semantics almost always belongs in S3 instead.
When does EFS earn its higher per gigabyte cost?
EFS costs more per gigabyte than EBS or S3, so it earns its place only when you genuinely need a shared POSIX file system that many instances mount at once, where the alternative would be replicating data across many EBS volumes or rebuilding the application around object storage. For that pattern EFS is often cheaper in total than the alternatives because you pay only for stored data and avoid duplicating it per instance. Use the EFS Infrequent Access storage class with lifecycle management to push cold files down automatically, which keeps the blended rate closer to S3 for data that is shared but rarely read.
A worked example
A Fortune 500 retailer ran a content platform that stored large media files on EBS volumes attached to each application node, provisioned with generous headroom and duplicated across the fleet. The data was read occasionally and shared across nodes, the exact pattern EBS handles worst. Moving the rarely read originals to S3 with lifecycle tiering and consolidating the shared working set onto a single EFS file system with Infrequent Access removed the duplicated provisioned EBS capacity entirely. The storage line fell substantially with no change to how the application read its files, part of a program verified against billing data and anonymised.
Frequently asked questions
Is S3 cheaper than EBS?
When should I use EFS instead of EBS or S3?
What is the most common AWS storage cost mistake?
Match every dataset to the cheapest store
We help enterprises map workloads to the right AWS storage service by access pattern, then rightsize and tier within each, as an independent advisory that takes zero provider commissions and answers only to you. Our guarantee: we reduce your cloud spend or we reimburse our service fee, on a Fixed Fee or a no risk Gainshare basis. Download the AWS storage cost playbook, read the deeper AWS cost optimization guide, and see EBS volume rightsizing and gp3 migration.
Put a defensible number on your cloud spend.
No provider in the room, no published price list. Tell us your footprint and we will scope the savings against your billing data — we reduce your cloud spend or we reimburse our service fee.
The Cloud Spend Navigator: what changed in cloud pricing, commitments, and FinOps — no vendor spin.