AWS ECR Archive Pricing Looks Cheap Until You Read the Table
I went into Amazon ECR archive expecting something that behaved like a real cold storage tier. Instead, what I found was a feature that might help with retention workflows, but does not really reward you on storage cost in the range most teams will care about.
I verified the numbers below on March 22, 2026 for Asia Pacific (Tokyo) / ap-northeast-1 using the official AWS documentation, pricing pages, and the AWS Price List API. The short version is simple: for the first 150 TB, ECR archive storage is priced the same as ECR standard storage, archived images cannot be pulled until you restore them, restores incur an access fee per GB, and archived images have a mandatory 90-day minimum charge.
That does not make the feature useless. It does make it a good reminder that the word "archive" in cloud pricing does not automatically mean "cheap."
The part that made me stop
For ap-northeast-1, the numbers line up like this:
| Storage option | Price | 1 TB-month | Important catch |
|---|---|---|---|
| ECR Standard | $0.10 / GB-month | $102.40 | Normal pull behavior |
| ECR Archive, first 150 TB | $0.10 / GB-month | $102.40 | Pulls fail until restore; $0.03 / GB restore fee; 90-day minimum |
| ECR Archive, above 150 TB | $0.07 / GB-month | $71.68 | Still restore-first; still 90-day minimum |
| S3 Glacier Deep Archive | $0.002 / GB-month | $2.05 | Restore-based access; 180-day minimum |
The biggest surprise for me is that ECR archive does not get cheaper than standard storage at all until you cross 150 TB. For many teams, that means the "archive" tier is basically a colder workflow with extra restrictions and extra restore fees, not a meaningful storage discount.
Chart: Monthly storage cost for 1 TB in ap-northeast-1, verified on March 22, 2026. Storage only. Retrieval and restore fees are separate.
What the AWS docs actually say
The official ECR archive documentation is pretty clear about the behavior:
- Archived images move into the
ARCHIVEstorage class. - Archived images cannot be pulled. Pull attempts fail until the image is restored.
- Restoring an image moves it back to
STANDARD, and AWS says the restore process typically takes up to 20 minutes. - Archived images have a minimum storage duration of 90 days.
That is already a lot of friction for something that is supposed to feel archival. When you add the pricing on top, it starts to look even worse:
- The ECR Price List API shows $0.10 / GB-month for standard storage in ap-northeast-1.
- The same price list shows $0.10 / GB-month for archive storage from 0 to 153,600 GB-month, which is 150 TB-month.
- The same price list shows $0.03 / GB for archive retrieval in ap-northeast-1.
- The S3 Glacier Deep Archive price list shows $0.002 / GB-month for storage in ap-northeast-1.
So in practice, the first 150 TB of ECR archive storage is not a storage discount. It is a storage constraint.
Why this feels wrong
The thing AWS got wrong here is not that ECR archive has tradeoffs. Every archive tier has tradeoffs.
The thing they got wrong is the shape of those tradeoffs.
With S3 Glacier Deep Archive, AWS is at least telling a coherent story: access is slow, retrieval is asynchronous, there is a minimum duration, but the storage price is dramatically lower. That is a real archival bargain.
With ECR archive, the story feels upside down:
- the storage price is flat with standard for the first 150 TB
- the image becomes less usable because pulls fail until restore
- restore adds a per-GB fee
- the minimum charge is still 90 days
That combination is what makes the feature feel off. You are not really being paid back for giving up pullability.
Even the reduced archive rate above 150 TB is still $0.07 / GB-month, which is roughly 35x the $0.002 / GB-month storage rate for S3 Glacier Deep Archive in Tokyo. The first 150 TB of ECR archive is 50x that S3 rate.
What I would do instead
If I need to keep older container images for compliance, rollback insurance, or historical retention, I would rather build a small pipeline around S3 than depend on ECR archive as my long-term answer.
My fallback design would look like this:
- Pull older images by digest from ECR before archiving them.
- Export them to tarballs.
- Compress the tarballs and write a manifest that maps image digests and tags to object keys.
- Store the artifacts in S3.
- Use lifecycle rules to transition those objects into S3 Glacier Deep Archive.
That is more operational work, but it at least buys a storage model that actually behaves like archive pricing.
The real takeaway
This is not really an "AWS is evil" story.
It is more of a warning story.
Always read the pricing table literally, especially when a feature name sounds cheaper than it actually is. In this case, ECR archive may still be useful if you care more about retention workflow inside ECR than about cost efficiency. But if your goal is truly low-cost long-term storage, the official AWS docs and price tables push me toward S3 instead.