Load Balancers
About
Load Balancers allow you to distribute incoming traffic across multiple backend instances, providing high availability and horizontal scalability for your applications. Each load balancer is deployed as a dedicated HAProxy instance with full configuration control through port-based configuration blocks, SSL certificates, health checks, and backend node management.
Load balancers support two deployment modes:
- VPC Mode - Deploy within a VPC for private network traffic distribution between VPC-connected instances
- Public Mode - Deploy with a public IP for direct internet-facing load balancing across instances with public IPs
Admin Configuration
Enabling Load Balancers
Before users can deploy load balancers, an administrator must enable and configure the feature on the desired hypervisor group.
- Navigate to Compute > Hypervisor Groups
- Select the hypervisor group where you want to enable load balancers
- In the Load Balancer section, configure:
- LB Enabled - Toggle to enable load balancer deployments for this location
- LB Image - Select the base OS image for load balancer instances (must have
purposeset toload_balancer)

Screenshot: Admin panel > Hypervisor Groups > Edit > Load Balancer section showing the LB Enabled toggle and LB Image dropdown
Load balancer images must be created with the load_balancer purpose. When selecting an image in the hypervisor group configuration, only images marked with this purpose will appear in the dropdown. You can set the purpose when creating or editing an image under Media > Images.
Creating LB Plans
LB Plans define the resource allocation for load balancer instances (CPU, RAM, storage, network).
- Navigate to Load Balancers > Plans in the admin sidebar
- Click Create Plan
- Configure the plan:
- Name - Display name for the plan (e.g., "LB Small", "LB Large")
- CPU / RAM / Storage - Resource allocation for the backing HAProxy instance
- Network Settings - NIC type, bandwidth limits, inbound/outbound averages
- Storage Settings - Storage type, I/O mode, read/write limits
- CPU Topology - Sockets, cores, threads, CPU mode and model

Screenshot: Admin panel > Load Balancers > Plans page showing the plan creation modal with all resource configuration sections
Deploying a Load Balancer (Admin)
Admins can deploy load balancers on behalf of any user.
- Navigate to Load Balancers > Load Balancers in the admin sidebar
- Click Create Load Balancer
- Select the User who will own this load balancer
- Choose Deploy Mode:
- VPC - Select a VPC and subnet (load balancer gets a VPC IP)
- Public - Select a location/hypervisor group (load balancer gets a public IP)
- Select the LB Plan
- Enter a Name for the load balancer
- Click Create

Screenshot: Admin panel > Load Balancers > Create modal showing user selection, deploy mode toggle (VPC/Public), and plan selection
The system will provision a dedicated HAProxy instance and display it in the load balancers list. The initial deployment takes 1-2 minutes.
User Experience
Creating a Load Balancer
Users can create load balancers from their dashboard.
- Navigate to Load Balancers in the user sidebar
- Click Create Load Balancer
- Select a Location (hypervisor group with LB enabled)
- Choose Deploy Mode:
- VPC - Requires an existing VPC in the selected location. Select VPC and subnet.
- Public - No VPC required. The load balancer gets a public IP directly.
- Select a Plan
- Enter a Name
- Click Create

Screenshot: User panel > Load Balancers > Create page showing location cards, deploy mode selection (VPC/Public toggle), plan selection, and name input
Choose VPC mode when your backend instances are all within the same VPC and you want private network load balancing. Choose Public mode when you want a simple public-facing load balancer that distributes traffic to instances with public IPs.
Managing a Load Balancer
After deployment, click on a load balancer to access its management page. The management interface provides full control over your HAProxy configuration.

Screenshot: User panel > Load Balancers > Show page showing the overview with status, IP addresses, and resource usage
Configuration
Load balancer configuration is organized as configuration blocks, where each block represents a listening port with its own protocol, algorithm, health checks, and backend nodes. This unified approach keeps all settings for a given port in one place.
Adding a Configuration Block
- In the load balancer management page, click Add Configuration
- A new collapsible card appears for the configuration block

Screenshot: Load Balancer show page > Configuration block card showing port, protocol, algorithm, and session stickiness fields in a single row, with health checks and backend nodes sections below
Block Settings
Each configuration block contains the following settings:
- Port - The inbound port this configuration listens on (e.g., 80, 443, 8080). Each port can only be used by one configuration block.
- Protocol - The load balancing protocol:
TCP- Layer 4 load balancing (raw TCP)UDP- Layer 4 load balancing (UDP)HTTP- Layer 7 load balancing with HTTP awarenessHTTPS- Layer 7 with SSL termination
- Algorithm - How connections are distributed across backend nodes:
Round Robin- Distributes evenly across nodes in rotationLeast Connections- Sends to the node with fewest active connectionsSource IP- Sticks clients to the same node based on their source IP
- Session Stickiness - Ensures subsequent requests from a client reach the same backend:
None- No stickinessCookie- Uses an HTTP cookie (configurable cookie name and TTL)Source IP- Sticks based on client IP address
SSL Certificates
When the protocol is set to HTTPS, an SSL certificate dropdown appears. You can select from certificates you've uploaded in the Certificates section (see below).
Connection Draining
Enable connection draining to allow existing connections to complete gracefully before removing a backend node. Configure the Drain Timeout in seconds to control how long to wait.
Health Checks
Each configuration block supports both active and passive health checks:
Active Health Checks:
- Type - Choose between:
None- No active checksTCP Connect- Verifies the backend is accepting TCP connectionsHTTP Status- Sends an HTTP request and checks the response status
- Check Interval - How often to check (in seconds)
- Timeout - Maximum wait time for a response (in seconds)
- Unhealthy Threshold - Number of consecutive failures before marking a node as down
- Check Path - (HTTP only) The URL path to check (e.g.,
/health) - Check Port - (HTTP only, optional) A specific port to check, defaults to the target port
Passive Checks: When enabled, the load balancer monitors live traffic to backends. If a request times out, returns a 5xx response, or fails to connect, the backend is automatically marked as down and removed from rotation.
Backend Nodes
Backend nodes are the target instances that receive traffic within a configuration block.
- Click Add Node within the configuration block
- Configure:
- Instance - Select from your instances (VPC instances in VPC mode, or public instances in Public mode)
- IP Address - Auto-populated from the selected instance, or enter a custom IP
- Port - The port on the target instance (e.g., 8080)
- Weight - Relative weight for traffic distribution (higher = more traffic)
- Mode - Node availability: Active, Backup, or Drain

Screenshot: Load Balancer show page > Configuration block > Add Node form showing instance dropdown, IP address, port, weight, and mode fields
In VPC mode, instance targets resolve to their primary VPC IP. In Public mode, targets resolve to their primary public IP. You can also enter a custom IP address directly if the target is not managed by the panel.
Saving Configuration
After making changes to a configuration block, click Save to apply. The load balancer will validate and reload the HAProxy configuration automatically.
SSL Certificates
Upload SSL certificates for HTTPS termination on your configuration blocks.
- Scroll to the Certificates section
- Click Add Certificate
- Provide:
- Name - A label for this certificate (e.g., "example.com")
- Certificate - The full PEM certificate chain (including intermediates)
- Private Key - The private key for the certificate

Screenshot: Load Balancer show page > Certificates section > Add Certificate form with name, certificate textarea, and private key textarea
Monitoring
Statistics
The load balancer management page displays real-time HAProxy statistics collected every 30 seconds:
- Session counts per frontend and backend
- Bytes in/out for traffic monitoring
- Backend health status for each target
- Connection rates and error counts

Screenshot: Load Balancer show page > Statistics section showing frontend/backend tables with session counts, bytes, status, and health
HA Status
If the hypervisor group has High Availability enabled, the load balancer's HA status is displayed:
- HA Heartbeat - Last heartbeat timestamp in the admin load balancers list
- HA Badge - Visual indicator on the admin load balancer detail page
Lifecycle Operations
From the load balancer management page, you can perform the following actions:
- Suspend - Temporarily stops the load balancer instance (stops billing in hourly mode)
- Resume - Restarts a suspended load balancer
- Destroy - Permanently removes the load balancer and its backing instance
Destroying a load balancer is permanent. All configuration, certificates, and routing rules will be deleted along with the backing instance. This action cannot be undone.
Conclusion
The Load Balancer feature provides a fully managed HAProxy deployment with flexible configuration for any traffic distribution scenario. Whether you need private VPC load balancing or public-facing traffic distribution, the unified configuration block interface lets you set up port listeners, health checks, SSL termination, session stickiness, and backend nodes all in one place.