Pricing Model
Amazon Elastic Container Registry (ECR) is a managed container registry service for storing, managing, and deploying container images.1 You pay for storage and data transfer rather than managing your own registry infrastructure.
Cost components:
- Storage (Private repositories) – $0.10 per GB-month for images stored in private repositories
- Storage (Public repositories) – Always free (50 GB per month)
- Data transfer (Private) – Free within same AWS region; standard AWS data transfer charges apply for cross-region and internet transfers
AWS Free Tier: New customers get 500 MB per month of storage for private repositories for one year. Public repositories always include 50 GB of free storage.
Pricing varies by region, so always verify current rates on the AWS pricing page.2
Major Cost Drivers
When reviewing ECR costs, the main contributors are:
- Unused images – Old images, untagged images, and tags that are no longer deployed but still consume storage
- Large image sizes – Inefficient Dockerfiles that create bloated images with unnecessary layers and dependencies
- Cross-region data transfer – Pulling images from registries in different regions instead of using replication
- Inefficient image management – Keeping multiple versions of similar images without proper cleanup policies
Quick Wins
- Enable lifecycle policies – Automatically expire old, untagged, or unused images to prevent storage accumulation.
- Optimize image size – Use multi-stage builds, smaller base images (Alpine, Distroless), and remove unnecessary dependencies to reduce storage costs.3
- Use ECR replication – For multi-region deployments, configure replication to copy images to local regions and avoid cross-region data transfer charges.