aws_codeartifact_domain cost estimation
A package-registry domain billed by stored artifacts, requests, and cross-region data transfer. 100 GB + 1M requests is ~$10/month.
An aws_codeartifact_domain is the top-level container for CodeArtifact package repositories (npm, PyPI, Maven, NuGet, etc.). Cost is usage across three meters: storage (~$0.05/GB-month of artifacts), requests (~$0.05 per 10,000 requests for package operations), and cross-region/internet data transfer. 100 GB of artifacts plus 1M requests is ~$5 + $5 = $10/month.
It's an inexpensive service, and the domain itself has no standing fee — cost tracks how much you store and how often build pipelines pull packages. Requests can add up for large CI fleets pulling dependencies frequently, which is the main scaling factor; caching dependencies in CI and using the domain's deduplication (artifacts stored once across repositories in the domain) keep both meters down.
The domain-level deduplication is a notable cost feature: a package stored in one repository isn't re-stored when shared to others in the same domain, so consolidating repositories under one domain avoids paying storage multiple times.
c3x prices the domain from stored GB and request volume as usage, so projected cost can be modelled.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_codeartifact_domain" "main" {
domain = "engineering"
}
resource "aws_codeartifact_repository" "npm" {
repository = "npm-store"
domain = aws_codeartifact_domain.main.domain
}Pricing dimensions
What you actually pay for when you provision aws_codeartifact_domain.
| Dimension | Unit | What's being charged |
|---|---|---|
| Artifact storage | per GB-month | Stored package artifacts, deduplicated across repositories in the domain. $0.05/GB-month → 100 GB = $5/month |
| Requests | per 10K requests | Package operations (pulls/pushes). Scales with CI pull frequency. $0.05 per 10K → 1M requests = $5/month |
| Data transfer | per GB | Cross-region and internet data transfer for package downloads. Usage-based. |
Sample C3X output
100 GB of artifacts + 1M requests in a month:
aws_codeartifact_domain.main
├─ Artifact storage 100 GB-month $5.00
└─ Requests 100 × 10k-requests $5.00
Monthly $10.00Optimization tips
Common ways to reduce aws_codeartifact_domain cost without changing the workload.
Cache dependencies in CI
Proportional to pulls avoidedRequests scale with how often pipelines pull packages. Caching dependencies in CI runners (so unchanged dependencies aren't re-pulled every build) reduces the request meter for large build fleets.
Consolidate repositories under one domain
Duplicate storage across reposCodeArtifact deduplicates storage across repositories in the same domain — a package stored once is shared, not re-stored. Grouping repositories under one domain avoids paying storage multiple times for shared dependencies.
Clean up unused package versions
Per GB-month reducedStorage bills per GB-month. Prune old or unused package versions, and set retention where the registry supports it, so storage doesn't grow unbounded.
FAQ
How is AWS CodeArtifact billed?
By usage with no domain fee: storage (~$0.05/GB-month, deduplicated across repos in the domain), requests (~$0.05 per 10K package operations), and cross-region/internet data transfer. 100 GB + 1M requests is ~$10/month — an inexpensive service.
What scales CodeArtifact cost?
Mostly requests, for large CI fleets pulling dependencies frequently, and storage as artifacts accumulate. Caching dependencies in CI and consolidating repos under one domain (for storage dedup) are the main levers.
How does c3x estimate the cost?
From stored GB and request volume in c3x-usage.yml. The domain has no standing fee; cost is entirely usage, so the estimate reflects projected storage and requests.
Related resources
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including aws_codeartifact_domain.