Google CloudCompute EngineCompute

google_compute_instance_group cost estimation

An instance group is free. It manages a fleet of VMs from a template. The cost is the running VMs times the group's size, priced by machine type and disk.

A google_compute_instance_group is the fleet controller for Compute Engine, in both managed (MIG) and unmanaged forms. A managed group creates and maintains VMs from an instance template, handles health-based recreation and rolling updates, and is the thing a load balancer or autoscaler targets. The group construct itself is free, the same way an AWS Auto Scaling Group is free.

The cost is the VMs the group keeps running. It is a simple multiplication: the per-VM compute and disk rate set by the template, times the number of instances the group holds. A group with a target size of 6 running e2-standard-4 VMs bills for 6 VMs plus their 6 boot disks every hour, whether or not an autoscaler is attached. This is why the group's size, not the group object, is the cost.

The group's configuration has real cost consequences: the target size (or the min and max an attached autoscaler is allowed to reach), whether instances are regional (spread across zones, which can add inter-zone traffic) or zonal, and which template it points at. c3x prices a managed instance group by resolving its template to a per-VM cost and multiplying by the target size, applying sustained-use discounts to the fleet.

Terraform example

A minimal but realistic configuration that C3X can estimate.

resource "google_compute_instance_group_manager" "app" {
  name               = "app-mig"
  base_instance_name = "app"
  zone               = "us-central1-a"
  target_size        = 3

  version {
    instance_template = google_compute_instance_template.app.id
  }

  named_port {
    name = "http"
    port = 8080
  }
}

Pricing dimensions

What you actually pay for when you provision google_compute_instance_group.

DimensionUnitWhat's being charged
Instance groupfreeThe managed or unmanaged group object has no charge. It coordinates VMs but is not billed itself.
$0
Running VMs (size x per-VM rate)per hourThe group's target size times the per-VM compute rate from its template.
3 x $0.134/hour for e2-standard-4
Boot disks (one per VM)per GB-monthEach instance in the group carries its own boot disk at the template's disk rate.
$0.10/GB-month per disk (pd-balanced)

Optimization tips

Common ways to reduce google_compute_instance_group cost without changing the workload.

Attach an autoscaler to track real demand

Scales cost to demand

A fixed target size pays for peak capacity around the clock. An autoscaler lets the group shrink during low traffic so you pay for VMs you actually need.

Set the min size honestly

The autoscaler minimum is your floor cost, paid every hour regardless of traffic. Setting it to the smallest fleet that meets availability keeps the baseline bill low.

Weigh regional versus zonal groups

Regional MIGs spread VMs across zones for availability but can add inter-zone traffic charges. Use zonal groups when the extra availability is not needed.

FAQ

Does a managed instance group cost money?

No. The group itself is free. You pay for the VMs it keeps running, which is the group's size times the per-VM compute and disk cost defined by its instance template.

How does c3x estimate the cost of an instance group?

It resolves the group's instance template to a per-VM cost, multiplies by the target size, and applies sustained-use discounts. If an autoscaler is attached, the min and max bracket the range.

Why is my instance group bill higher than one VM?

A group runs many VMs. Cost scales with the target size: each instance carries its own compute and boot disk charge, so a group of 6 bills roughly 6 times a single VM.

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 google_compute_instance_group.