Abiquo Documentation Cookies Policy

Our Documentation website uses cookies to improve your experience. Please visit our Cookie Policy page for more information about cookies and how we use them.

Skip to end of metadata
Go to start of metadata

Configure load balancers

Load balancer properties

There is a new property for configuring the healthy threshold of machines in AWS in the abiquo.properties file. See Abiquo Configuration Properties#amazon

Load balancer UI configuration

Options for load balancers in the UI

When you create or edit a load balancer in the UI, you can select from pulldown lists of load balancer options.

The protocol type options will load presets for protocols and ports.

The options and presets for load balancers were created using the following reference information

You can configure the presets for the list of protocol types in the UI in client-config.json file.

Load balancer algorithms in the UI

Abiquo 3.1, loads the following algorithms into the pulldown options list.

Key
(tick) = available
(star) = default 

AlgorithmAWSRackspace
LEAST_CONNECTIONS (tick)
RANDOM (tick) (star)
ROUND_ROBIN(tick) (star)(tick)
WEIGHTED_LEAST_CONNECTIONS (tick)
WEIGHTED_ROUND_ROBIN (tick)

Routing rule protocols in the UI

Abiquo loads the protocol types in this table into the pulldown list for routing rules.

Abiquo loads the port and protocol values from the client-config.json file. You can customize these values.

ProtocolDefault portAWSRackspaceAbiquo preset protocol
if different from default
Abiquo preset port
if different from default
DNS_TCP53 (tick)TCP53
DNS_UDP53 (tick)UDP53
FTP21 (tick)  
HTTP80(tick)(tick)  
HTTPS443(tick)(tick)  
IMAPS993 (tick)  
IMAPv4143 (tick)  
LDAP389 (tick)  
LDAPS636 (tick)  
MYSQL3306 (tick)  
POP3110 (tick)  
POP3S995 (tick)  
SMTP25 (tick)  
TCP0(tick)(tick) "-"
TCP_CLIENT_FIRST0 (tick)  
UDP0 (tick) "-"
UDP_STREAM0 (tick) "-"
SFTP22 (tick)  
SSL443(tick)   

Health check protocols in the UI

Abiquo loads the protocol types in this table into the pulldown list for health checks.

Abiquo loads the port and protocol values from the client-config.json file. You can customize these values.

ProtocolDefault portAWSRackspaceAbiquo preset protocol
if different from default
Abiquo preset port
if different from default
HTTP80(tick)(tick)  
HTTPS443(tick)(tick)  
TCP (tick) allows 80, 443, and
1024-65535 inclusive
(tick) "-"
SSL443(tick)   
Connect"-" (tick)CONNECT"-"

Presets for load balancer front-end

The load balancer integration must supply the load balancing algorithms and other options through the hypervisor or public cloud plugin.

After developing an integration, you could then set presets for any protocols that are not already included in the client-config.json file.

Manage load balancers in the UI

New feature

This feature was introduced in version 3.1.

In public cloud you can now create load balancers in the providers:

  • AWS
  • Rackspace

In private cloud, you can create load balancers if your datacenter has a load balancing integration for the Abiquo load balancer front end.

Cloud provider load balancer documentation

The Abiquo public cloud load balancer implementation used the following reference information from the public cloud provider documentation 

Load balancing specification

The public cloud load balancing feature has been implemented to span the differences in functionality between different cloud providers, so please read the provider documentation and the documentation below carefully.

FunctionalityAWSRackspace
Load balancer multiple
protocols and ports
Use one load balancer with multiple incoming connections to multiple portsUse multiple load balancers to the same IP address each with an incoming connection to a different port
Healthy thresholdContact your System Administrator to find out the value set in your public cloud region(question)
Modifications(error) You can only change the routing rules of a load balancer created in AWS(tick) You can change the name and configuration of a load balancer created in Rackspace

Predefined protocols

There are some predefined protocols defined for routing rules.  These protocols are set in the client-config.json file. See Configure Load Balancer UI Presets

SSL certificates

Abiquo will never validate or store SSL certificate data. Any certificates or private keys that you enter will be passed directly to the cloud provider for the creation of routing rules. This means that you cannot create a routing rule for a secure connection in a load balancer that will only be created in Abiquo and not in the provider. A loadbalancer in AWS without a network assigned cannot have an HTTPS rule.

Create load balancers

Check your cloud provider's pricing of load balancers before you begin

To manage load balancers:

  1. Select a virtual datacenter
  2. Open the Network tab
  3. Open the Load Balancers page
  4. Use the buttons in the top-right corner of the page to manage load balancers
    • read your cloud provider documentation and the steps below

 

Create load balancers in AWS

General information about AWS load balancers:

  • AWS load balancers are created for virtual datacenter networks, which are VPC subnets
  • The cloud orchestrator will not create a load balancer in AWS until it is assigned to at least one subnet
    • Using the API, it is possible to create a load balancer in Abiquo only, by not assigning a subnet
    • Abiquo never stores SSL certificates, so you cannot create a routing rule for a secure connection in an Abiquo-only load balancer
Recommended preparatory steps
  • If you require high availablility for your instances, create another private network in a different availability zone in your virtual datacenter
  • Import the default firewalls for all networks into Abiquo
  • Create any further firewalls as required
    • Allow access from the load balancer to your virtual machines
AWS LB general information

Field

Value

Name

The name of the load balancer. AWS will only accept the following characters: A-Z, a-z, 0-9 and "-". You cannot change the name after Abiquo creates the load balancer in AWS (when a valid load balancer is saved with a subnet assigned to it)

Subnets

The subnets load balancer is connected to. In AWS these are private networks in different availability zones. If you do not supply a subnet when creating the load balancer, Abiquo will not create the LB in AWS (question)

Algorithm

The only algorithm supported by AWS is round robin

Addresses

  • You can select a public IP or private IP for connections to the load balancer
    • In Abiquo 3.1 for AWS, you can only select public connections
  • AWS will always automatically create connection addresses for your load balancer
  • If you have already created a load balancer, you may be able to select its connection address for other load balancers in the same VDC

AWS LB routing rules
  • You must create at least one routing rule. You can only create one routing rule per protocol and path
  • See Configure Load Balancer UI Presets for preset protocols. 
  • When users connect to your load balancer on the incoming port with the incoming protocol, their data will be sent on from the outgoing port with the outgoing protocol.

Field

Value

Common protocols

Select one of the most common protocols to load presets

Protocol in

The incoming protocol to the load balancer.
AWS accepts HTTP, HTTPS, TCP (question) complete list

Port in

The incoming port to the load balancer.
AWS accepts 80, 443 and 1024-65535 inclusive

Protocol out

The outgoing port from the load balancer

Port outThe outgoing port from the load balancer
SSL CerftificateFor secure connections (e.g. HTTPS), you can add an SSL certificate.
  • Abiquo will never store or validate the SSL certificate 
  • Abiquo will pass the certificate directly to the provider
Select an existing certificate, registered in AWS with an ARN, or click Add a new certificate
AddClick Add to save a routing rule for the load balancer

To delete a routing rule, click X beside the name of the routing rule in the list

  • For secure connections, you can add an SSL certificate:
    • Abiquo will never store or validate the SSL certificate; Abiquo will pass the certificate directly to the provider
    • You can use a certificate that is already registered in AWS with an Amazon Resource Number (ARN) or you can add a new one
    • If your load balancer is only created in Abiquo (using the API), it will not contain a certificate
AWS LB SSL certificate

Field

Value

Name

Name of the certificate

Certificate

The certificate contents

Intermediate certificate

An intermediate certificate can be issued by a provider to support older browsers that may not have all of the trusted root certificates for that provider, so that users will not receive invalid SSL warnings. If you have an intermediate certificate, add it at the same time as the certificate to ensure that a trusted-chain certificate is configured.

Private key

The RSA private key for the certificate

AWS LB health check
  • If you do not create a health check, AWS will create a default health check with the following specifications:
    • Name in the format "PROTOCOL:port", for example, "TCP:80"
    • TCP check to one of the ports specified in a routing rule
  • AWS will only allow you to create one health check per load balancer

AWS uses the health check to determine if a node is available for receiving traffic. If the node does not answer the health check because the node or the service is down, overloaded or unreachable, then traffic will be sent to another node. If you deploy a virtual machine that you previously undeployed, AWS will determine that the machine is healthy after a certain number of health checks - see Abiquo Configuration Properties for AWS

If you select a predefined protocol for a health check, the input variables may vary according to the selected protocol. The protocols that you can enter for the health check differ from the protocols for the routing rules. See the preset protocols in Configure Load Balancer UI Presets for examples.

 

Field

Value

Common protocols

Select one of the most common protocols to load presets

Name

Name of the health check

Protocol

The protocol with which the health check will be performed

Port

The port to which the health check will be performed

PathThe server path to ping
Interval (sec)The interval in seconds between health checks
Timeout (sec)The timeout in seconds after which an attempted health check will be considered unsuccessful
AttemptsThe number of attempts before the health check will be considered unsuccessful
AddAdd the current health check to the load balancer

To add a firewall to your load balancer, which will enable it to access your virtual machines, select your firewall from the list of firewalls that were created in your provider.

If you cannot see your firewalls, they may not have been properly synchronized. In this case, you will need to click Cancel, synchronize firewalls and start again creating a new load balancer.

AWS LB nodes

To attach virtual machines to your load balancer, drag and drop them from the Available Nodes list into the Attached Nodes list. You can also attach virtual machines by selecting load balancers when configuring the virtual machine.

After your load balancer is created, the IP address created for it is available to other load balancers.

Create load balancers in Rackspace

Rackspace automatically creates networks and IP addresses for your virtual machines and network connections for your load balancers. The virtual machines to be load balanced can be in the same or different virtual appliances.

RS LB general information

Field

Value

Name

The name of the load balancer. Can be changed when editing the load balancer

Algorithm

The algorithms supported by RackSpace are:

  • LEAST_CONNECTIONS
  • RANDOM
  • ROUND_ROBIN
  • WEIGHTED_LEAST_CONNECTIONS
  • WEIGHTED_ROUND_ROBIN

Addresses

The addresses to assign to the load balancer, which can be public or private. In RackSpace, the first address in a virtual datacenter must be automatically created. Later, an existing address may be used to create more load balancers for connections to different ports

RS LB routing rules

Field

Value

Common protocols

To load predefined values, select one of the most common protocols

Protocol in

The incoming protocol to the load balancer

Port in

The incoming port to the load balancer

Protocol out

The outgoing port from the load balancer

SSL CerftificateSelect an existing certificate or click Add a new certificate
AddClick Add to save a routing rule for the load balancer

RS LB health checks

Field

Value

Common protocols

To load predefined values, select one of the most common protocols.

Name

Name of the health check

Protocol

The protocol with which the health check will be performed. Rackspace supports HTTP, HTTPS and CONNECT (star). The health check protocols HTTP and HTTPS can only be used with routing rules for the same protocol.

Port

The port to which the health check will be performed.

PathThe server path to ping. Required by RackSpace for health monitors using HTTP and HTTPS protocols
Interval (sec)The interval in seconds between health checks
Timeout (sec)The timeout in seconds after which an attempted health check will be considered unsuccessful
AttemptsThe number of attempts before the health check will be considered unsuccessful
AddAdd the current health check to the load balancer

(star) In Abiquo 3.1, for the CONNECT protocol, enter "CONNECT" manually in the Protocol field and then enter the Port. You can edit the CONNECT preset and other presets in the client-config.json file. See Configure Load Balancer UI Presets

To attach virtual machines to your load balancer, drag and drop them from the Available Nodes list into the Attached Nodes list. You can also attach virtual machines by selecting load balancers when configuring the virtual machine.

Click Save to create your load balancer.

After your load balancer is created, the IP address created for it is available to other load balancers.

Edit load balancers

The elements of a load balancer that you can edit depend on the cloud provider.

The Abiquo load balancer interface is generic, so you might be able to perform some operations in Abiquo that can later be rejected by the cloud provider, triggering an error. 

The following table describes the elements of the load balancer that you can edit.

Edit functionalityFieldAWSRackspace
General informationName

(error)

(tick)
 Description(error)(tick)
 Subnets(tick) add new subnets,
delete subnets
N/A
 

Address

(tick) change to another LB
address in the same VDC
(tick) change to another LB
address in the same VDC
Routing rules (tick) add new rules; delete rules
until there is only 1 rule remaining
(tick) add new rules with same port and protocol;
delete rules until there is only 1 rule remaining
Health checks (error)(tick) only one check per protocol and path;
protocol must be compatible with RR protocol
Firewalls (tick) (question)N/A
Nodes (tick)(tick)

Edit virtual machines to assign or unassign load balancers

When you create or edit a load balancer, you can select the nodes that it will balance traffic for by dragging and dropping into the node list from the list of nodes in the virtual datacenter. You can also remove nodes by drag and drop.

Or you can view and edit load balancer assignment directly in the virtual machine.

To assign a virtual machine to a load balancer, select the load balancer from the list.

Manage load balancers using the API

The following resources can be used to manage load balancers in the API:

There are also changes related to managing load balancers in the: 

Load balancer front-end for private cloud

In private cloud, you can use the Abiquo load balancer front end for a datacenter load balancing integration.

Note that in Abiquo 3.1, a load balancing integration would require integration in the Abiquo hyperivsor plugin, which must return the accepted protocols and ports. For this reason, load balancing would be a complex integration for a private datacenter.

Load balancer events

The events for load balancers are:

Load balancer data objects

The load balancer data objects are:

Enable load balancer front-end

Enable the load balancer front-end in Abiquo UI in Configuration view on the General tab.

 

  • No labels