Overview
Simnet has two separate load balancers, and choosing between them is the first decision:The rule that catches everyone: one purpose per address
A public address does one job. It can be the VPC’s Source NAT address, or a Static NAT mapping, or carry port forwarding rules, or carry load balancer rules — never a mix. The console enforces this by checking an address before it offers you anything:When the check fails you’ll see: “Some existing rules could not be verified. Available management tabs remain accessible; unrelated setup stays locked until verification succeeds.”That is deliberate. Rather than guess an address is free and let the platform reject the rule later, the console refuses to start. Retry — it’s usually transient.
Public load balancer rules
Navigation: Networking → Public IPs → click an address → Load Balancing.
Creating a rule
The form opens inline rather than as a modal.
Validation is minimal: you get
Name and ports are required if any of the three is blank, and nothing else is checked in the browser. Port conflicts and purpose conflicts are caught by the platform, so a rule that looks fine can still be refused — see Errors.
Choosing an algorithm
Source IP is a blunt form of stickiness. It breaks when many clients share an address behind NAT — they all land on one instance. Prefer a stickiness policy if you can.
Assigning instances
Health checks
Under an expanded rule, in the Health Checks panel. The console exposes two fields:
Four more exist on the API only:
Stickiness
Sends a given client back to the same instance across requests.TLS certificates
Certificates can be uploaded and attached to a rule through the API —POST /api/v1/loadbalancer/ssl-certs then POST /api/v1/loadbalancer/rules/{ruleId}/ssl-cert.
Internal load balancers
Navigation: Networking → Networks → open a network → Load Balancing.
You get
Name, source port, and instance port are required if any required field is blank.
Instances do not need a separate assign step here — the load balancer’s own record carries its instances and rules, and the card lists both. This is the one place internal load balancing is simpler than public.
A worked example: two web servers behind one address
1
Confirm the address is unused
Open the address in Networking → Public IPs. Seeing both Port Forwarding and Load Balancing tabs means it is still free. Only one tab, or neither, means it is already committed — acquire a different address.
2
Create the rule
Load Balancing → Add Rule. Name it after the service, not the port:
web-lb, not lb-80. Public port 80, private port 8080, Round Robin, TCP.The response is a job, so the rule exists a moment before it is listed — see Asynchronous work.3
Attach the instances
API only, for now:Expand the rule afterwards to confirm both appear under Assigned VMs.
4
Add a health check
Expand the rule → Health Checks → + Add. Point it at a path that actually checks your application —
/health that touches the database beats / that returns a static page, because the latter stays up while your app is broken.5
Open the port on the firewall
A load balancer rule makes the address listen; it does not permit traffic. The tier’s firewall policy still decides what arrives. This is the most common “the load balancer isn’t working”.
6
Test, then break something on purpose
Confirm requests reach both instances. Then stop one and confirm traffic keeps flowing — that is the only real proof the health check works.
Related
Public IPs
Acquiring addresses, Static NAT and port forwarding.
Firewall Policies
What actually permits the traffic.
Networks
The tiers an internal load balancer sits in.
Asynchronous work
Following a rule creation to completion.