Amazon S3 → MinIO
What it saves, what actually moves, what you rebuild — and the thing that catches people.
What it costs, and what it saves
S3 storage is around $0.023/GB/month but egress at roughly $0.09/GB is what actually hurts. MinIO on your own hardware or a VPS has no egress charge at all, which for a media-heavy application is usually the entire saving.
Moves cleanly
Objects and the API. MinIO is S3-compatible, so your SDK calls and bucket logic work with a changed endpoint.
You rebuild
IAM policies, lifecycle rules and anything using S3-specific features like Glacier tiering.
What Amazon S3 costs you today
Storage is roughly $0.023 per GB per month on Standard, with cheaper tiers for infrequent access and Glacier for archives — cheap enough that storage is rarely the complaint. Egress is: about $0.09 per GB to the internet after the first 100 GB free per month, plus per-request charges. Moving 10 TB out costs close to $900. Figures checked 2026-08-04.
What actually holds you in
Structurally clever and worth understanding. The API is not the lock-in — it is a de-facto standard and half a dozen products implement it, so your code usually needs one endpoint change. The lock-in is the exit toll: the larger your bucket, the more it costs to leave, and the cost grows with exactly the thing that makes you want to stay. Anyone planning a migration should price egress first, because it frequently exceeds a year of the storage bill it is meant to save.
What you are moving to
MinIO is a high-performance object server that speaks the S3 API closely enough that most applications need only a changed endpoint. Run it on a spare machine, a rack, or across a cluster; it handles erasure coding, versioning and encryption. AGPL-3.0, around 61k stars. For anyone whose objection to S3 is the egress bill rather than the storage price, this removes it entirely — the data is on hardware you already pay for. AGPL is the caveat: read it before you embed MinIO in a product you distribute.
Free and open source. Commercial licence and support available from MinIO Inc.
MinIO strengths
- S3-compatible API — most applications need one endpoint changed
- No egress charges at all, because the data never leaves your network
- Genuinely fast; used for high-throughput analytics workloads
- Erasure coding, versioning and encryption built in
What you give up
- AGPL-3.0 needs reading if you distribute a product containing it
- You own durability now — replication and backups are your design
- No Glacier equivalent for cheap cold archive
- Recent licensing and feature changes have unsettled some users
The migration, step by step
- 1Deploy MinIO — distributed mode with at least four drives if this is production
- 2Sync objects with mc mirror or rclone, and budget the S3 egress for the copy itself
- 3Repoint the endpoint and force path-style addressing if your SDK needs it
- 4Recreate bucket policies; MinIO's IAM is S3-shaped but not identical
- 5Verify with a full read of a sample before deleting anything in S3
The gotcha
The one-time egress cost of copying data out of S3 can exceed a year of savings for a large bucket. Calculate it before you commit, and consider migrating only new objects while old ones age out.
When to stay on Amazon S3
You need eleven-nines durability without operating it yourself, or you use Glacier for archival — MinIO has no equivalent tier.
More Layer 3 migrations
Figures verified 2026-08-04 against vendor pricing pages. Prices change and migrations differ by estate — treat the cost delta as a starting model, not a quote. Rankings and recommendations here are merit-only; affiliate income never changes a verdict. See our methodology.