With the Load Balancer you can scale your STACKIT hosted services in times of high demand and protects them against failures. The STACKIT Load Balancer consists of two lean virtual machines equipped with a suitable load balancer software. They are clustered within your project, and network access is ensured by automatically provisioned appropriate security groups. You can create your Load Balancer using the simple STACKIT Portal GUI or using our Load Balancer API. In general, services run on virtual machines or in containers and are connected via a STACKIT network. A virtual service machine (IP address) and a network are mandatory requirements to configure a STACKIT LoadBalancer.

Currently the STACKIT Load Balancer can handle layer 4 TCP network traffic with a Round Robin or Maglev method through an active / passive cluster setup.

Load Balancing Algorithm

The default load balancing algorithm is Round Robin. It will be switched to Maglev if source IP based session persistence is enabled on a target pool. Check below for details.

Listener

The listener is your access point for communication, which receives the traffic to be forwarded to multiple destinations (targets). It is defined with the external (public) or internal (private) IP address and the service port – both IP address and port are mandatory attributes.

Target pool / targets

The target is a service virtual machine (or container) in your project which receives the load balanced traffic from the listener.

Target pool defines a group of one or multiple targets and a target pool port which is used for communication with the targets. To setup a target pool at least one target (IP address) and target pool port has to be provided.

Session persistence on the target pool can be enabled using session_persistence.use_source_ip_address. If this is set to true, then the load balancing algorithm is changed to Maglev.

Health check

A healtchcheck is a monitor used by the load balancer to verify that the targets are still available, so they can receive the loadbalanced traffic. The healthcheck is enabled by default and supports customization (optional):

  • The "check interval" value controls how often the connections should be checked.
  • The "down after" value indicates after how many failed connection attempts a target is considered unreachable.
  • The "up after" value indicates after how many successful checks a target is considered reachable.
The STACKIT Load Balancer consists of single listener and single target pool with at least one target (for load balancing you need at least 2).

Connection idle timeouts

The Load Balancer tracks each connection it receives from a client. To free up resources, connections are closed if they have been idle for too long. Connections are closed gracefully, meaning that a FIN segment is sent to the client as well as the target. If a Load Balancer receives a segment for a connection which is not tracked it will send a RST segment to the client.

The timeout can be configured per listener. Lower values allow the Load Balancer to quicker make space for new connections. Higher timeouts allow long-standing connections to exist longer without having to send data.

The idle timer is reset whenever the Load Balancer forwards data in either direction. A TCP keepalive probe, which doesn't contain any data, does not reset the timer.

Service Plans

Service Plans define the VM flavor and maximum connections available for your load balancer.

  • Flavors: Specify hardware configurations like compute, memory, and storage capacity for Load Balancer VM instances.
  • Max Connections: Determine the maximum number of concurrent connections per Load Balancer VM instance.

To set the Service Plan a planId field needs to be provided.

PlanIDFlavor NameMax connectionsPrice
p10t1.2100000,01304166667 € / h
9,3900000024 € / month
p50s1a.4d500000,01792916667 € / h
12,9090000024 € / month
p250s1a.8d2500000,03545277778 € / h
25,5260000016 € / month
p750s1a.16d7500000,07050305556 € / h
50,7622000032 € / month
p1500s1a.60d15000000,14059444444 € / h
101,2279999968 € / month