aws_launch_configuration cost estimation
A launch configuration is free. It is a legacy blueprint for EC2 instances, so cost appears only when an Auto Scaling Group uses it to launch instances.
An aws_launch_configuration defines how an Auto Scaling Group should create EC2 instances: instance type, AMI, key pair, security groups, and root block device. The configuration itself has no charge. It becomes a bill only when an Auto Scaling Group references it and launches instances, each of which inherits the configured instance_type and storage.
Launch configurations are the older mechanism and are immutable: you cannot edit one, you must replace it. AWS now steers new work toward aws_launch_template, which supports Spot options, multiple versions, and mixed-instances policies that a launch configuration cannot. If you are choosing between them for cost control, the launch template is the better lever because it can request Spot and be right-sized without recreating the whole config.
The cost drivers are the same as any EC2 fleet: the instance_type multiplied across every instance the group launches, plus the root_block_device volume carried by each one. A launch configuration pinned to m5.xlarge across a 6-instance group is roughly $840/month in compute before storage. c3x reads the launch configuration behind an Auto Scaling Group and prices the instances and volumes it would create, so you see the fleet cost before any instance runs.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_launch_configuration" "web" {
name_prefix = "web-"
image_id = data.aws_ami.al2023.id
instance_type = "m5.large"
security_groups = [aws_security_group.web.id]
root_block_device {
volume_size = 30
volume_type = "gp3"
}
lifecycle {
create_before_destroy = true
}
}Pricing dimensions
What you actually pay for when you provision aws_launch_configuration.
| Dimension | Unit | What's being charged |
|---|---|---|
| Launch configuration | free | The configuration has no charge. $0 |
| Instances it launches | per instance-hour | The instance_type applied to every instance the Auto Scaling Group launches. m5.large on-demand: ~$0.096/hour |
| Root block device | per GB-month | The root volume carried by every launched instance. gp3: $0.08/GB-month |
Optimization tips
Common ways to reduce aws_launch_configuration cost without changing the workload.
Migrate to a launch template for Spot
Up to 90% on eligible instancesLaunch configurations cannot request Spot or run a mixed-instances policy. Move to aws_launch_template to make fault-tolerant instances eligible for the Spot discount.
Right-size the instance_type
50% per size reductionThe configuration's instance type multiplies across the whole group, so downsizing it once is the cheapest change you can make to the fleet.
Trim the root_block_device
A smaller gp3 root volume reduces the storage cost carried by every instance the group launches.
FAQ
Does a launch configuration cost anything?
No. The launch configuration is free. Cost appears only when an Auto Scaling Group uses it to launch EC2 instances, which are billed per hour along with their root volumes.
Should I use a launch configuration or a launch template?
Use a launch template. It supports Spot, multiple versions, and mixed-instances policies that a launch configuration cannot, all of which matter for cost. AWS steers new work to launch templates.
How do I estimate the cost behind a launch configuration?
Multiply the instance_type's hourly rate by the Auto Scaling Group's desired capacity by 730 hours, then add the root volume. c3x does this by reading the configuration from your Terraform.
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_launch_configuration.