Paying for 20 Load Balancers in GCP for GKE? There's another way.

Paying for 20 Load Balancers in GCP for GKE? There's another way.

We had 20 microservices in GKE in one environment.
Each with its own Load Balancer.
Each with its own external IP.

Cost: ~$500-600/month just for LBs and IPs.


What bothered us:

GCP charges for external IPs ($7/month each) and for routing rule ($18/month each).
20 services = 20 IPs = $140/month just for addresses.
Plus 20 separate LBs to manage.
Plus 20 DNS records.
Plus debugging routing across 20 configs.

Classic trap of complexity: “one service = one Load Balancer.”

Easy to start. Pain to scale.


The fix for us:

One Application Load Balancer for all services. Ok, technically not all - we (and you may too) have reasons to use several separate, but for many services its ok.

How it works:

  • 20 domains (service1.example.com, service2.example.com, etc.)
  • All point to ONE external IP
  • ALB routes by host header
  • Auto-manages SSL certs for all domains (first 100 free in GCP)

Cost breakdown:

  • 1 IP: ~$7/month
  • 20 routing rules: $360/month ($18 per rule)

Total: ~$367/month

Savings: ~$233/month (~40% reduction)


Implementation notes:

Uses GCP-specific features (NEG, backend targets).
Terraform module makes it manageable.
Worth it for 10+ services. Overkill for 2-3.


What would be your solution?