aws_lambda_alias cost estimation
A Lambda alias is free. It is a named pointer to a function version used for stable references and traffic shifting, and cost stays on the function it points to.
An aws_lambda_alias is a named, mutable pointer to a specific Lambda function version, such as "prod" or "live". Aliases are free: there is no charge for creating one, and no meter attached to it. They exist to give callers a stable ARN and to shift traffic between versions during deployments (weighted routing between two versions for canary and blue/green rollouts).
The cost stays entirely on the underlying aws_lambda_function. Every invocation routed through an alias is billed exactly as a direct invocation: per request and per GB-second of execution based on the version's memory and duration. Weighted aliases do not add cost; they just split the same invocations across two versions, each billed at its own configuration. The one thing to watch is provisioned concurrency, which is configured per alias or version and is billed whether or not the function is invoked; that charge belongs to provisioned concurrency, not to the alias abstraction.
There is nothing on the alias itself to optimize. The useful practice is to point production traffic at an alias so you can shift versions without changing callers, and to reserve provisioned concurrency deliberately since that is the one alias-adjacent setting that costs money at rest. c3x prices the function's requests and duration, plus any provisioned concurrency, and treats the alias as the free pointer it is.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_lambda_alias" "live" {
name = "live"
function_name = aws_lambda_function.api.function_name
function_version = aws_lambda_function.api.version
routing_config {
additional_version_weights = {
"2" = 0.1
}
}
}Pricing dimensions
What you actually pay for when you provision aws_lambda_alias.
| Dimension | Unit | What's being charged |
|---|---|---|
| Alias | free | Creating an alias and routing invocations through it has no charge of its own. $0 |
| Function invocations | per 1M requests + GB-second | Calls routed through the alias are billed on the underlying function like any invocation. $0.20 per 1M requests |
| Provisioned concurrency | per GB-second reserved | If configured on the alias, provisioned concurrency is billed for reserved capacity whether invoked or not. ~$0.0000041667/GB-second |
Optimization tips
Common ways to reduce aws_lambda_alias cost without changing the workload.
Use an alias for zero-downtime shifts
Pointing callers at an alias lets you shift traffic between versions with weighted routing at no extra cost, avoiding redeploys and reducing failed-invocation retries during rollout.
Reserve provisioned concurrency deliberately
Avoids paying for idle warm capacityProvisioned concurrency set on an alias bills for reserved capacity around the clock. Use it only for latency-critical paths and scale it with Application Auto Scaling to match real traffic.
Keep aliases lean during canaries
Weighted routing splits the same invocations, so a canary adds no cost. Complete the rollout promptly rather than running two versions warm with provisioned concurrency indefinitely.
FAQ
Does a Lambda alias cost money?
No. Creating an alias and routing invocations through it is free. Cost stays on the function: per request and per GB-second. The only alias-adjacent charge is provisioned concurrency, if you configure it.
Does weighted alias routing add cost?
No. Weighted routing splits the same invocations across two versions, each billed at its own memory and duration. You pay the same total as sending all traffic to one version.
Why might an alias appear on my Lambda bill?
Only through provisioned concurrency, which is configured per alias or version and bills for reserved warm capacity whether or not it is invoked. The alias itself has no charge.
Related resources
aws_lambda_functionThe function the alias points to, which carries all invocation and duration cost.
aws_lambda_permissionFree permission often granted to an alias so a service can invoke it.
aws_cloudwatch_log_groupThe log group the aliased function writes to, billed by ingestion and storage.
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_lambda_alias.