Sharing an ALB with AWS Load Balancer Controller

The AWS Load Balancer Controller is one of the most popular ways to provision load balancers for services on Kubernetes automatically.

The controller’s default settings create new AWS Application Load Balancers (ALBs) for every ingress. This can quickly become expensive, especially if you have a cluster for each environment.

You can configure the AWS Load Balancer Controller to merge your Ingresses so they share a single ALB, drastically cutting costs. All you have to do is configure your services’ Ingresses alb.ingress.kubernetes.io/group.name annotation. This annotation will group and merge all of the ingresses with that annotation into a single ALB.

You can read more about it here.

One thing to remember is that an ALB can only have 100 rules. When you hit this limit, you’ll need to create another ALB.


Master GitHub Actions with a Senior Infrastructure Engineer

As a senior staff infrastructure engineer, I share exclusive, behind-the-scenes insights that you won't find anywhere else. Get the strategies and techniques I've used to save companies $500k in CI costs and transform teams with GitOps best practices—delivered straight to your inbox.

Not sure yet? Check out the archive.

Unsubscribe at any time.