anything.solutions

Load balancers

A load balancer spreads traffic across the instances behind one hostname or public IP. It is a separate data plane: the edge continues to own certificates and hostnames, while the load balancer owns backend selection, health checks, and connection distribution.

Choose a mode

ModeFrontendUse it for
WEBA hostname routed at the edgeHTTP and HTTPS applications. The edge terminates TLS; the load balancer receives plain HTTP and forwards to your instances.
TCPA dedicated public IP and portGame servers, databases, and other raw TCP services. TLS passes through; your backend terminates it.

A load balancer has exactly one mode at a time. To use both a hostname and a public IP, create two load balancers with the same backends.

Shared and dedicated

The shared plan ($4.50/month) runs your load balancer on a multi-tenant data-plane process. The dedicated plan ($6.75/month) runs a separate process with its own resource limits.

  • Public IPs are billed separately at $3.50/month.
  • One load balancer can be served by multiple data-plane replicas; the edge balances across them.

Create a load balancer

  1. Open Networking → Load balancers.
  2. Choose a name, mode, and plan. TCP mode automatically requires the dedicated plan.
  3. Pick a balancing method:
    • Round robin sends new requests to each backend in turn. Weights change the ratio.
    • Least connections prefers the backend with the fewest in-flight requests or connections.
    • Client IP affinity keeps a client on the same backend while the backend set is stable.
  4. Choose HTTP or HTTPS for WEB backends. HTTPS verifies nothing by default because traffic stays inside the tenant network; use HTTP unless your backend requires TLS.

Add backends

Open the load balancer and choose Add backend. Select an instance, the port your service listens on, and a weight. A stopped instance stays configured but receives no traffic; start it and the data plane picks it up automatically.

Disable a backend to drain it without removing it. Weights are relative: a backend with weight 200 receives twice the traffic of one with weight 100.

Health checks

The data plane probes every backend. WEB load balancers can use an HTTP path and accept any 2xx or 3xx response; TCP load balancers use a TCP connection check. The defaults are a 5-second interval, a 2-second timeout, two successes to become healthy, and three failures to become unhealthy.

Real traffic failures also count. A backend that fails repeatedly is temporarily removed even before the next probe.

Point a hostname at it

  1. Open Networking → Hosts and choose Add host.
  2. Select the load balancer in the target list.
  3. Point the hostname at the edge as you would for any other host. TLS activates automatically.

A hostname stays unserved until at least one backend is running. To move traffic to another load balancer, use Move on the hostname row in the load balancer page. The edge picks up the new target on its next reconciliation.

Attach a public IP

  1. Reserve an address under Networking → Public IPs.
  2. Open the dedicated TCP load balancer and choose Attach public IP.
  3. Choose the address and the public port. Add more ports for additional services.

The address stays reserved and billed when you remove a port. An address can belong to one load balancer; detach it before moving it to another.

Scaling

There are two independent levers:

  • More load balancer replicas. The edge balances a hostname across every replica of its load balancer. This scales one hostname across data-plane processes.
  • More load balancers. Create another load balancer and move some hostnames to it. This spreads unrelated applications across the data-plane fleet.

Backend selection is local to each replica and client affinity uses a consistent hash over the full backend set, so a client stays on the same backend even when the edge picks a different replica.

Limits

  • 5 load balancers per member by default.
  • 50 backends, 20 hostnames, and 20 public IP ports per load balancer.
  • Hostnames count toward the account-wide hostname budget.

Troubleshooting

  • Waiting: no running backend, no data-plane replica, or no hostname/public IP yet.
  • Needs attention: the edge or data plane reported an error. Open the load balancer to see the affected frontend or replica.
  • Address pending: the public IP reservation has not been delivered yet; the port attaches when it is assigned.