Jump toSuggest an edit

Load Balancer

What is a Load Balancer?

Load Balancers are highly available and fully managed Instances which distribute the workload among your servers. They ensure the scaling of applications while securing their continuous availability. They are commonly used to improve the performance and reliability of websites, applications, databases, and other services by distributing the workload across multiple servers. It monitors the availability of your backend servers, detects if a server fails and rebalances the load between the rest of the servers, making your applications highly available for users.

A Load Balancer can be used as frontend for any Instance type, even if they do not belong to Scaleway thanks to the multicloud feature.

Can I use Load Balancers with other products?

See our documentation on using a Load Balancer to expose a Kubernetes Kapsule.

What is a flexible IP address?

Your frontend listens to your Load Balancer’s public flexible IP address. In case of a failure of the Load Balancer, a replica Load Balancer is immediately spawned and deployed, and the IP address is automatically rerouted to this replica. This is done automatically, by the Load Balancer control subsystems.

By default, each public Load Balancer is created automatically with a flexible IPv4 address. You can optionally also add an IPv6 address.

When you delete a Load Balancer, you can choose to keep its flexible IP(s) in your account, to reuse later with a new Load Balancer. These flexible IPs are not compatible with other Scaleway products (e.g. Instances, Elastic Metal servers, Public Gateways): each resource has its own set of flexible IPs.

Can I have more than one flexible IP address for a Load Balancer?

Each Load Balancer can have one public IPv4 address and one public IPv6 address. Currently, it is not possible to assign more than one of each type of IP to a given Load Balancer.

Do Load Balancers support external IPv6 connections?

Yes, Load Balancer supports both IPv4 and IPv6 addresses at the frontend. IPv6 can also be used to communicate between the Load Balancer and your backend servers.

Is there a failover system for Load Balancers?

Yes. If your Load Balancer fails, a deployment script automatically executes, spawning and deploying a replica Load Balancer Instance. Your Load Balancer’s flexible IP address is automatically rerouted to this replica Instance. If you want to know more about the failover system, read our article about strengthening our Load Balancer failover mechanism.

Do backend servers require a public IP address?

No, it is not required. You can use private Scaleway IPs on your backend servers if they are hosted in the same Availability Zone (AZ) as the Load Balancer.

What is the difference between multicloud and non multicloud offers?

Multicloud means that you can add as many backend servers that are neither Instances, nor Elastic Metal servers, nor Dedibox dedicated servers. These can be services from other cloud platforms such as Amazon Web Services, Digital Ocean, Google Cloud, Microsoft Azure or OVH, but also on-premises servers hosted in a third-party datacenter.

Unlike the multi-cloud offers, non-multi-cloud offers allow you to add only backend servers part of the Scaleway ecosystems which include Instances, Elastic Metal servers, and Dedibox dedicated servers.

What are the communication protocols currently supported?

All protocols based on TCP are supported. This includes database, HTTP, LDAP, IMAP and so on. You can also specify HTTP to benefit from support and features that are exclusive to this protocol.

Is it possible to add security to restrict access to a URL or port on the Load Balancer?

Yes, you can restrict the use of a TCP port or HTTP URL via ACLS. Find more information in our developers documentation.

What is a route?

Once you have created one or more Load Balancers, you can create routes. Routes indicate how to direct incoming connections to certain backends based on various parameters such as IP addresses, path, host, etc. You can choose the frontend to which the rule should apply, and the backend it should direct to. Routes can be based on Server Name Indication (SNI) for TCP Load Balancers, or the HTTP Host header for HTTP Load Balancers. Check out our dedicated documentation for more information.

What is a health check?

A health check is one of the core concepts for a well-functioning Load Balancer. It is a predefined request which periodically checks whether the server is in a healthy state or an unhealthy state. Only servers that respond correctly to the health check receive client requests. When the Load Balancer determines that an Instance is unhealthy, it stops routing requests to that Instance. Currently, our Load Balancer supports TCP and TCP-based health checks such as HTTP(S), LDAP, REDIS, etc.

Can I add multiple backends to a frontend?

Yes, this is possible using routes. When you create a frontend, you must select a “default” backend, which it forwards traffic to when the request doesn’t match any configured route. But via the routes tab for your frontend in the Scaleway console, you can create routes to different backends from the same frontend. Routes are currently supported based on the value of the Host header of incoming HTTP requests for HTTP backends, or on SNI for TCP backends.

Docs APIScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCarreer
© 2023-2024 – Scaleway