NotCheapMAKE EVERY CREDIT COUNT

GitHub Container Registry vs AWS ECR vs Google Artifact Registry: Real Container Registry Cost at 10 TB Storage and 100 TB Egress in 2026

Prices checked: October 2, 2026.

DIRECT ANSWER

Short answer

For 10 TB of stored images and 100 TB pulled out to the internet each month (decimal terabytes, converted to the binary GB/GiB units both clouds bill in; see Unit convention below):

RegistryStorage100 TB internet egressMonthly total
GitHub Container Registry (ghcr.io)$0$0$0 (currently free)
AWS ECR (private)$931.32$6,913.14~$7,844
Google Artifact Registry$931.27$7,767.90~$8,699

All totals are ILLUSTRATIVE from OFFICIAL rates.

The registry fee is the small part. Egress is 88–89% of the bill on AWS and Google. And that egress disappears almost entirely if the 100 TB is pulled by clusters in the same region as the registry. Then the bill drops to roughly $931 a month on either cloud.

GitHub's $0 is real today, but GitHub states it's a current policy that can change with at least one month's notice.

Native billing units

RegistryStorageTransferLabel
GitHub Container RegistryFreeFreeOFFICIAL ("currently free"; at least one month's notice before any change)
AWS ECR private$0.10 per GB-monthSame-region to AWS services: free. Internet: EC2 data-transfer tiers (100 GB/month free across AWS, then $0.09/GB first 10 TB, $0.085/GB next 40 TB, $0.06/GB next 100 TB, $0.04/GB above 150 TB)OFFICIAL
AWS ECR Public50 GB/month always free500 GB/month free anonymous; 5 TB/month free to authenticated AWS accountsOFFICIAL
Google Artifact Registry$0.10 per GB-month (first 0.5 GB free); same for regional and multi-regionalSame location or same continent multi-region: free; US/Canada cross-region $0.01/GB; cross-continent $0.08/GB; internet egress at Premium Tier ratesOFFICIAL
Google Premium Tier internet egress (from North America)—First 1 GiB free; $0.12/GiB to 1 TiB; $0.11/GiB to 10 TiB; $0.08/GiB above (to North America)OFFICIAL

Unit convention

The workload is defined in decimal bytes: 10 TB stored = 10 × 10¹² bytes and 100 TB transferred = 100 × 10¹² bytes. Both clouds meter in binary units of 2³⁰ bytes. AWS labels that unit "GB" and Google labels it "GiB", and tier boundaries are binary too (AWS's "first 10 TB" = 10,240 GB; Google's "1 TiB" = 1,024 GiB). Converted:

  • Storage: 10 × 10¹² ÷ 2³⁰ = 9,313.23 GB (GiB)
  • Transfer: 100 × 10¹² ÷ 2³⁰ = 93,132.26 GB (GiB)

The same converted quantities are used for both vendors below.

Scenario 1: 100 TB to the internet (ILLUSTRATIVE)

Typical cases: public images pulled by customers, CI on another cloud, edge sites.

AWS ECR

ItemCalculationCost
Storage9,313.23 GB × $0.10$931.32
Egress, first 100 GBFree$0
Egress, next 10,240 GB× $0.09$921.60
Egress, next 40,960 GB× $0.085$3,481.60
Egress, remaining 41,832.26 GB× $0.06$2,509.94
Total$7,844.46

Google Artifact Registry

ItemCalculationCost
Storage(9,313.23 − 0.5) GiB × $0.10$931.27
Egress, first 1 GiBFree$0
Egress, 1–1,024 GiB× $0.12$122.76
Egress, 1,024–10,240 GiB× $0.11$1,013.76
Egress, remaining 82,892.26 GiB× $0.08$6,631.38
Total$8,699.17

GitHub Container Registry: $0 under the current policy.

Scenario 2: 100 TB pulled inside the same cloud (ILLUSTRATIVE)

RegistrySame regionCross-region (US)Cross-continent
AWS ECR$931.32 (egress free)$931.32 + inter-region transfer charges$931.32 + inter-region transfer charges
Google Artifact Registry$931.27 (egress free)$931.27 + $931.32 (93,132.26 GiB × $0.01) = $1,862.59$931.27 + $7,450.58 (93,132.26 GiB × $0.08) = $8,381.85
GHCR$0$0$0

Putting a registry, or a pull-through cache, in each region your clusters run in usually saves more than any choice between vendors.

Where the cost catches you

  • Egress, not storage. At 10 TB stored, storage is a predictable ~$931. Egress swings the bill up to about ninefold, depending on where the pulls land.
  • Repeated layer pulls. Autoscaling nodes that pull a 2 GB image on every scale-up multiply egress. Node-local caches, smaller base images and a pull-through cache cut it.
  • Old tags pile up. Storage grows forever without lifecycle rules. ECR and Artifact Registry both support automatic cleanup policies.
  • GHCR's free status is a policy, not a price. Plan for the possibility that GitHub starts billing container storage and bandwidth with a month's notice. Since GitHub hasn't published container registry rates, you can't budget that cost today.
  • AWS tiers combine across services. ECR egress shares the same tier counters as S3, EC2 and other services. If you already push lots of data out, more of your registry egress may land in cheaper tiers.
  • Vulnerability scanning costs extra on Google (Artifact Analysis) and in AWS's enhanced scanning mode. Neither is included above.

Which one fits

  • Public or open-source images with heavy external pulls: GHCR while it stays free. ECR Public is the paid-cloud alternative, with 5 TB/month free to authenticated AWS accounts.
  • Workloads running on AWS: ECR in the same region as the clusters, where pulls are free.
  • Workloads on Google Cloud: Artifact Registry in the same region or same-continent multi-region, where pulls are free.
  • Multi-cloud pulls at 100 TB: expect roughly $6,900–$7,800/month in egress on either cloud. A CDN-fronted or replicated registry is worth pricing.

Assumptions

  • 10 TB (10 × 10¹² bytes = 9,313.23 GB/GiB) stored; 100 TB (100 × 10¹² bytes = 93,132.26 GB/GiB) of image pulls per month
  • AWS "GB" and Google "GiB" both treated as 2³⁰ bytes, with binary tier boundaries
  • AWS us-east-1; Google North America region with egress to North American destinations
  • No committed-use or private network discounts

Pricing sources

  • GitHub Packages billing (Container registry): https://docs.github.com/en/billing/concepts/product-billing/github-packages
  • Amazon ECR pricing: https://aws.amazon.com/ecr/pricing/
  • AWS data transfer rates (S3/EC2 data transfer out): https://aws.amazon.com/s3/pricing/
  • Google Artifact Registry pricing: https://cloud.google.com/artifact-registry/pricing
  • Google Cloud network pricing (Premium Tier): https://cloud.google.com/vpc/network-pricing