Scaleway logo
Load Balancer API

The Load Balancer backend object. It represents a set of backend servers that the frontend forwards requests to using the specified configuration (port, protocol, proxy protocol etc). You can create multiple backends for each of your Load Balancers. Use the backends endpoint to create backends, list, manage and update them and their healthchecks / backend servers, and delete them as required


Get a backend of a given Load Balancer

GET
https://api.scaleway.com
/lb/v1/zones/{zone}/backends/{backend_id}

Get the full details of a given backend, specified by its backend ID. The response contains the backend's full configuration parameters including protocol, port and forwarding algorithm.

Get a backend of a given Load Balancer › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
backend_id
​string · required

Backend ID.

Get a backend of a given Load Balancer › Responses

200
id
​string

Backend ID.

name
​string

Name of the backend.

forward_protocol
​scaleway.lb.v1.Protocol · enum

Protocol used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32

Port used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum

Load balancing algorithm to use when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum

Defines whether sticky sessions (binding a particular session to a particular backend server) are activated and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

​scaleway.lb.v1.HealthCheck

Object defining the health check to be carried out by the backend when checking the status and health of backend servers.

pool
​string[]

List of IP addresses of backend servers attached to this backend.

Load Balancer the backend is attached to.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

Default: 300000
timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

Default: 5000
timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

Default: 900000
on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
created_at
​string | null · date-time

Date at which the backend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date at which the backend was updated. (RFC 3339 format)

failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.


Update a backend of a given Load Balancer

PUT
https://api.scaleway.com
/lb/v1/zones/{zone}/backends/{backend_id}

Update a backend of a given Load Balancer, specified by its backend ID. Note that the request type is PUT and not PATCH. You must set all parameters.

Update a backend of a given Load Balancer › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
backend_id
​string · required

Backend ID.

Update a backend of a given Load Balancer › Request Body

name
​string · required

Backend name.

forward_protocol
​scaleway.lb.v1.Protocol · enum · required

Protocol to be used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32 · required

Port to be used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum · required

Load balancing algorithm to be used when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum · required

Defines whether to activate sticky sessions (binding a particular session to a particular backend server) and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.

Update a backend of a given Load Balancer › Responses

200
id
​string

Backend ID.

name
​string

Name of the backend.

forward_protocol
​scaleway.lb.v1.Protocol · enum

Protocol used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32

Port used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum

Load balancing algorithm to use when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum

Defines whether sticky sessions (binding a particular session to a particular backend server) are activated and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

​scaleway.lb.v1.HealthCheck

Object defining the health check to be carried out by the backend when checking the status and health of backend servers.

pool
​string[]

List of IP addresses of backend servers attached to this backend.

Load Balancer the backend is attached to.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

Default: 300000
timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

Default: 5000
timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

Default: 900000
on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
created_at
​string | null · date-time

Date at which the backend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date at which the backend was updated. (RFC 3339 format)

failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.


Delete a backend of a given Load Balancer

DELETE
https://api.scaleway.com
/lb/v1/zones/{zone}/backends/{backend_id}

Delete a backend of a given Load Balancer, specified by its backend ID. This action is irreversible and cannot be undone.

Delete a backend of a given Load Balancer › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
backend_id
​string · required

ID of the backend to delete.

Delete a backend of a given Load Balancer › Responses

No data returned

Update a health check for a given backend

PUT
https://api.scaleway.com
/lb/v1/zones/{zone}/backends/{backend_id}/healthcheck

Update the configuration of the health check performed by a given backend to verify the health of its backend servers, identified by its backend ID. Note that the request type is PUT and not PATCH. You must set all parameters.

Update a health check for a given backend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
backend_id
​string · required

Backend ID.

Update a health check for a given backend › Request Body

port
​integer · int32 · required

Port to use for the backend server health check.

check_delay
​number · required

Time to wait between two consecutive health checks. (in milliseconds)

check_timeout
​number · required

Maximum time a backend server has to reply to the health check. (in milliseconds)

check_max_retries
​integer · int32 · required

Number of consecutive unsuccessful health checks after which the server will be considered dead.

check_send_proxy
​boolean

Defines whether proxy protocol should be activated for the health check.

​

Object to configure a basic TCP health check.

​

Object to configure a MySQL health check. The check requires MySQL >=3.22 or <9.0. For older or newer versions, use a TCP health check.

​

Object to configure a PostgreSQL health check.

​

Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message.

​

Object to configure a Redis health check. The response is analyzed to find the +PONG response message.

​

Object to configure an HTTP health check.

​

Object to configure an HTTPS health check.

transient_check_delay
​string | null

Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds)

Update a health check for a given backend › Responses

200
port
​integer · int32

Port to use for the backend server health check.

check_delay
​number

Time to wait between two consecutive health checks. (in milliseconds)

Default: 3000
check_timeout
​number

Maximum time a backend server has to reply to the health check. (in milliseconds)

Default: 1000
check_max_retries
​integer · int32

Number of consecutive unsuccessful health checks after which the server will be considered dead.

​

Object to configure a basic TCP health check.

​

Object to configure a MySQL health check. The check requires MySQL >=3.22 or <9.0. For older or newer versions, use a TCP health check.

​

Object to configure a PostgreSQL health check.

​

Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message.

​

Object to configure a Redis health check. The response is analyzed to find the +PONG response message.

​

Object to configure an HTTP health check.

​

Object to configure an HTTPS health check.

check_send_proxy
​boolean

Defines whether proxy protocol should be activated for the health check.

transient_check_delay
​string | null

Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds)

Default: 0.5s

Define all backend servers for a given backend

PUT
https://api.scaleway.com
/lb/v1/zones/{zone}/backends/{backend_id}/servers

For a given backend specified by its backend ID, define the set of backend servers (identified by their IP addresses) that it should forward traffic to. Any existing backend servers configured for this backend will be removed.

Define all backend servers for a given backend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
backend_id
​string · required

Backend ID.

Define all backend servers for a given backend › Request Body

server_ip
​string[] · required

List of IP addresses for backend servers. Any other existing backend servers will be removed.

Define all backend servers for a given backend › Responses

200
id
​string

Backend ID.

name
​string

Name of the backend.

forward_protocol
​scaleway.lb.v1.Protocol · enum

Protocol used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32

Port used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum

Load balancing algorithm to use when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum

Defines whether sticky sessions (binding a particular session to a particular backend server) are activated and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

​scaleway.lb.v1.HealthCheck

Object defining the health check to be carried out by the backend when checking the status and health of backend servers.

pool
​string[]

List of IP addresses of backend servers attached to this backend.

Load Balancer the backend is attached to.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

Default: 300000
timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

Default: 5000
timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

Default: 900000
on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
created_at
​string | null · date-time

Date at which the backend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date at which the backend was updated. (RFC 3339 format)

failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.


Add a set of backend servers to a given backend

POST
https://api.scaleway.com
/lb/v1/zones/{zone}/backends/{backend_id}/servers

For a given backend specified by its backend ID, add a set of backend servers (identified by their IP addresses) it should forward traffic to. These will be appended to any existing set of backend servers for this backend.

Add a set of backend servers to a given backend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
backend_id
​string · required

Backend ID.

Add a set of backend servers to a given backend › Request Body

server_ip
​string[] · required

List of IP addresses to add to backend servers.

Add a set of backend servers to a given backend › Responses

200
id
​string

Backend ID.

name
​string

Name of the backend.

forward_protocol
​scaleway.lb.v1.Protocol · enum

Protocol used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32

Port used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum

Load balancing algorithm to use when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum

Defines whether sticky sessions (binding a particular session to a particular backend server) are activated and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

​scaleway.lb.v1.HealthCheck

Object defining the health check to be carried out by the backend when checking the status and health of backend servers.

pool
​string[]

List of IP addresses of backend servers attached to this backend.

Load Balancer the backend is attached to.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

Default: 300000
timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

Default: 5000
timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

Default: 900000
on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
created_at
​string | null · date-time

Date at which the backend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date at which the backend was updated. (RFC 3339 format)

failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.


Remove a set of servers for a given backend

DELETE
https://api.scaleway.com
/lb/v1/zones/{zone}/backends/{backend_id}/servers

For a given backend specified by its backend ID, remove the specified backend servers (identified by their IP addresses) so that it no longer forwards traffic to them.

Remove a set of servers for a given backend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
backend_id
​string · required

Backend ID.

Remove a set of servers for a given backend › Request Body

server_ip
​string[] · required

List of IP addresses to remove from backend servers.

Remove a set of servers for a given backend › Responses

200
id
​string

Backend ID.

name
​string

Name of the backend.

forward_protocol
​scaleway.lb.v1.Protocol · enum

Protocol used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32

Port used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum

Load balancing algorithm to use when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum

Defines whether sticky sessions (binding a particular session to a particular backend server) are activated and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

​scaleway.lb.v1.HealthCheck

Object defining the health check to be carried out by the backend when checking the status and health of backend servers.

pool
​string[]

List of IP addresses of backend servers attached to this backend.

Load Balancer the backend is attached to.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

Default: 300000
timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

Default: 5000
timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

Default: 900000
on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
created_at
​string | null · date-time

Date at which the backend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date at which the backend was updated. (RFC 3339 format)

failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.


List backend server statistics

GET
https://api.scaleway.com
/lb/v1/zones/{zone}/lbs/{lb_id}/backend-stats

List information about your backend servers, including their state and the result of their last health check.

List backend server statistics › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
lb_id
​string · required

Load Balancer ID.

List backend server statistics › query Parameters

page
​integer · int32

The page number to return, from the paginated results.

page_size
​integer · uint32

Number of items to return.

backend_id
​string

ID of the backend.

List backend server statistics › Responses

200
​scaleway.lb.v1.BackendServerStats[]

List of objects containing backend server statistics.

total_count
​integer · uint32

The total number of objects.


List the backends of a given Load Balancer

GET
https://api.scaleway.com
/lb/v1/zones/{zone}/lbs/{lb_id}/backends

List all the backends of a Load Balancer, specified by its Load Balancer ID. By default, results are returned in ascending order by the creation date of each backend. The response is an array of backend objects, containing full details of each one including their configuration parameters such as protocol, port and forwarding algorithm.

List the backends of a given Load Balancer › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
lb_id
​string · required

Load Balancer ID.

List the backends of a given Load Balancer › query Parameters

name
​string

Name of the backend to filter for.

order_by
​scaleway.lb.v1.ListBackendsRequest.OrderBy · enum

Sort order of backends in the response.

Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc
page
​integer · int32

The page number to return, from the paginated results.

page_size
​integer · uint32

Number of backends to return.

List the backends of a given Load Balancer › Responses

200
​scaleway.lb.v1.Backend[]

List of backend objects of a given Load Balancer.

total_count
​integer · uint32

Total count of backend objects, without pagination.


Create a backend for a given Load Balancer

POST
https://api.scaleway.com
/lb/v1/zones/{zone}/lbs/{lb_id}/backends

Create a new backend for a given Load Balancer, specifying its full configuration including protocol, port and forwarding algorithm.

Create a backend for a given Load Balancer › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
lb_id
​string · required

Load Balancer ID.

Create a backend for a given Load Balancer › Request Body

name
​string · required

Name for the backend.

forward_protocol
​scaleway.lb.v1.Protocol · enum · required

Protocol to be used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32 · required

Port to be used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum · required

Load balancing algorithm to be used when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum · required

Defines whether to activate sticky sessions (binding a particular session to a particular backend server) and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie TO stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
​scaleway.lb.v1.HealthCheck · required

Object defining the health check to be carried out by the backend when checking the status and health of backend servers.

server_ip
​string[] · required

List of backend server IP addresses (IPv4 or IPv6) the backend should forward traffic to.

sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.

Create a backend for a given Load Balancer › Responses

200
id
​string

Backend ID.

name
​string

Name of the backend.

forward_protocol
​scaleway.lb.v1.Protocol · enum

Protocol used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32

Port used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum

Load balancing algorithm to use when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum

Defines whether sticky sessions (binding a particular session to a particular backend server) are activated and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

​scaleway.lb.v1.HealthCheck

Object defining the health check to be carried out by the backend when checking the status and health of backend servers.

pool
​string[]

List of IP addresses of backend servers attached to this backend.

Load Balancer the backend is attached to.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

Default: 300000
timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

Default: 5000
timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

Default: 900000
on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
created_at
​string | null · date-time

Date at which the backend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date at which the backend was updated. (RFC 3339 format)

failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.