Skip to content

Commit fa74146

Browse files
committed
fix(lb): add troubleshooting
1 parent e7d8d52 commit fa74146

File tree

5 files changed

+63
-75
lines changed

5 files changed

+63
-75
lines changed

menu/navigation.json

+16
Original file line numberDiff line numberDiff line change
@@ -3597,6 +3597,22 @@
35973597
},
35983598
{
35993599
"items": [
3600+
{
3601+
"label": "I am having problems configuring my Load Balancer",
3602+
"slug": "configuration"
3603+
},
3604+
{
3605+
"label": "I am experiencing connection problems and HTTP errors with my Load Balancer",
3606+
"slug": "http-connection-errors"
3607+
},
3608+
{
3609+
"label": "I am having problems with my Load Balancer's certificate",
3610+
"slug": "certificates"
3611+
},
3612+
{
3613+
"label": "I am experiencing problems with my Kubernetes Load Balancer",
3614+
"slug": "k8s-errors"
3615+
},
36003616
{
36013617
"label": "Load Balancer Limitations",
36023618
"slug": "load-balancer-limitations"

pages/load-balancer/troubleshooting/certificates.mdx

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ invalid argument(s): dns_name does not respect constraint, <domain> does not res
2525

2626
The domain name specified does not resolve to the Load Balancer's public IP address.
2727

28-
### Solutions
28+
### Solution
2929

3030
Try the following steps:
3131

@@ -53,8 +53,8 @@ Let's Encrypt certificates cannot be created for Load Balancers which have a fro
5353
### Solution:
5454

5555
Ensure that your Load Balancer has either:
56-
- An HTTP-protocol backend attached to a frontend listening on port 80, or
57-
- A TCP-protocol backend attached to a frontend listening on a port other than 80
56+
- An HTTP-protocol-backend attached to a frontend listening on port 80, or
57+
- A TCP-protocol-backend attached to a frontend listening on a port other than 80
5858

5959
Alternatively, create and import your own [custom certificate](/load-balancer/how-to/add-certificate/#how-to-import-a-certificate) for your Load Balancer, rather than generating a Let's Encrypt certificate via Scaleway.
6060

pages/load-balancer/troubleshooting/configuration.mdx

+13-14
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,26 @@ If your problem concerns any of the following, see our specific documentation pa
2121
- General advice and help for configuring [frontends](/load-balancer/reference-content/configuring-frontends/), [backends](/load-balancer/reference-content/configuring-backends/) and [health checks](/load-balancer/reference-content/configuring-health-checks/)
2222
- [Creating and configuring a Kubernetes Load Balancer](/kubernetes/reference-content/kubernetes-load-balancer/)
2323

24-
## When adding a backend server to my Load Balancer, I get an error that the IP is not owned by Scaleway`
24+
## When adding a backend server to my Load Balancer, I get the message: IP is not owned by Scaleway
2525

2626
You may be trying to [add a backend server](/load-balancer/how-to/create-frontends-backends/#configuring-traffic-management) to your Load Balancer's backend, and experience the following error:
2727

2828
`HTTP 404: IP not owned by Scaleway`
2929

3030
### Cause
3131

32-
You are trying to add the IP address of a backend server that is not owned by Scaleway (i.e. is not a Scaleway resource such as an Instance, Elastic Metal server or Managed Database.)
32+
You are trying to add the IP address of a backend server that is not owned by Scaleway (i.e. is not a Scaleway resource such as an Instance, Elastic Metal server or Managed Database).
3333

3434
### Solution
3535

36-
Only certain Load Balancer types (L and XL) are compatible with non-Scaleway resources as backend servers. This is indicated as "Multi-cloud provider" compatibility in the [Load Balancer creation form](https://console.scaleway.com/load-balancer/lbs/create).
36+
Only certain Load Balancer types (L and XL) allow you to add non-Scaleway resources as backend servers. This is indicated as "Multi-cloud provider" compatibility in the [Load Balancer creation form](https://console.scaleway.com/load-balancer/lbs/create).
3737

3838
Either:
3939

4040
- [Resize](/load-balancer/how-to/resize-lb/) your Load Balancer to a type that is compatible with multi-cloud backend servers, or
4141
- Use only Scaleway resources as backend servers for your Load Balancer
4242

43-
## When adding a backend server via its private IP address, I get an error saying this IP doesn't exist
43+
## When adding a backend server via its private IP address, I get the message: IP doesn't exist
4444

4545
You may be trying to [add a backend server](/load-balancer/how-to/create-frontends-backends/#configuring-traffic-management) to your Load Balancer's backend using the server's private IP address, and experience an error message saying that the IP doesn't exist.
4646

@@ -56,19 +56,18 @@ You are entering an incorrect IP address for your resource, or using private IP
5656

5757
## My Load Balancer's Elastic Metal backend servers added via private IPs are all down
5858

59-
You may find that your Elastic Metal backend servers, which were added to your Load Balancer's backend via their private IP addresses, are all marked as `DOWN` as soon as you add them, and you are unable to work out why they are failing their health checks.
59+
You may add Elastic Metal backend servers to your Load Balancer using their private IP address, and find they are marked as `DOWN` as soon as you add them. You are unable to work out why they are failing their health checks.
6060

6161
### Cause
6262

63-
The Load Balancer is unable to successfully communicate with the Elastic Metal backend servers over the Private Network, resulting in failed health checks, due to a configuration problem.
63+
The Load Balancer is unable to successfully communicate with the Elastic Metal backend servers over the Private Network, resulting in failed health checks.
6464

6565
### Solution
6666

67-
- Check that you are entering the correct [private IP address](/vpc/how-to/attach-resources-to-pn/#how-to-view-the-resources-ip-address) for your Elastic Metal server, and that it is attached to the same Private Network as the Load Balancer.
67+
- Check that your health checks and backend servers are correctly configured to work together.
68+
- Check that you have entered the correct [private IP address](/vpc/how-to/attach-resources-to-pn/#how-to-view-the-resources-ip-address) for your Elastic Metal server, and that it is attached to the same Private Network as the Load Balancer.
6869
- Elastic Metal servers require additional manual configuration of their network interface, unlike Instances and other resource types. Ensure you have [followed the necessary configuration steps](/elastic-metal/how-to/use-private-networks/#how-to-configure-the-network-interface-on-your-elastic-metal-server-for-private-networks).
6970

70-
Ensure that the Elastic Metal servers have been correctly configured for the Privat Network. Note that additional steps are required.
71-
7271

7372
## My Load Balancer's IP address is appearing in the backend application's logs, instead of the real client IP address.
7473

@@ -80,7 +79,7 @@ Proxy Protocol has not been activated on your Load Balancer, meaning that inform
8079

8180
### Solution
8281

83-
Activate [Proxy Protocol](/load-balancer/reference-content/configuring-backends/#proxy-protocol) on your Load Balancer, and ensure that your backend server is [correctly configured](/tutorials/proxy-protocol-v2-load-balancer/) to handle the activation of this protocol.
82+
Activate [Proxy Protocol](/load-balancer/reference-content/configuring-backends/#proxy-protocol) on your Load Balancer, and ensure that your backend server is [correctly configured](/tutorials/proxy-protocol-v2-load-balancer/) to handle this protocol.
8483

8584
## Security rules not being applied as expected, and I am having difficulties in filtering incoming traffic through my Load Balancer
8685

@@ -90,9 +89,9 @@ You may find that traffic is not being filtered as expected via your Load Balanc
9089

9190
Instance Security Groups and/or Load Balancer ACLs are incorrectly configured.
9291

93-
### Solutions
92+
### Solution
9493

95-
Instance [Security Groups](instances/how-to/use-security-groups/) should still filter public traffic arriving on your backend server Instances, as long as that traffic is arriving over the public interface, i.e. the Instance in question is attached to the Load Balancer via its public IP and not private IP.
94+
Instance [Security Groups](instances/how-to/use-security-groups/) should still filter public traffic arriving on your backend server Instances, as long as that traffic is arriving over the public interface. This means the Instance in question must be attached to the Load Balancer via its public IP and not any private IP.
9695
- Ensure that your Instance is attached via its public IP address. If your Instance behind a Load Balancer is attached via a private IP address, the Security Group rules will not be applied.
97-
- Double check your [Security Group rules](/instances/how-to/use-security-groups/#how-to-choose-security-group-settings), and that they correspond to the required ports, protocols and IP addresses configured for your Load Balancer
98-
- To filter incoming traffic to your backend servers **as it passes through the Load Balancer**, use [Load Balancer ACLs](/load-balancer/how-to/create-manage-acls/).
96+
- Double check your [Security Group rules](/instances/how-to/use-security-groups/#how-to-choose-security-group-settings), to verify that they correspond to the required ports, protocols and IP addresses configured for your Load Balancer
97+
- To filter incoming traffic to your backend servers **as it passes through the Load Balancer**, use [Load Balancer ACLs](/load-balancer/how-to/create-manage-acls/).

pages/load-balancer/troubleshooting/http-connection-errors.mdx

+6-6
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,22 @@ You may experience connection problems and HTTP errors when attempting to connec
1717

1818
This page helps you find solutions to some of these most common errors.
1919

20-
### I am getting a 400 Bad Request error when accessing my application through my Load Balancer
20+
## I am getting a 400 Bad Request error when accessing my application through my Load Balancer
2121

2222
You may find that when attempting to connect to the domain linked to your Load Balancer / the application being served by your backend servers, you receive a `400 Bad Request` error.
2323

24-
## Cause
24+
### Cause
2525

2626
400 Bad Request errors occur when the backend servers cannot process a request due to client-side issues, or an incompatibility in the way that requests are passed through the Load Balancer and received by the backend server.
2727

28-
## Solutions
28+
### Solutions
2929

3030
- Try accessing your application directly, and not through your Load Balancer, to eliminate the possibility that the problem does not come from the Load Balancer. Use a tool such as `cURL` or Postman to compare headers and body content to check how the Load Balancer is modifying requests.
31-
- Check your Load Balancer's [logs](/load-balancer/how-to/monitor-lb-cockpit/#how-to-view-and-understand-your-load-balancer-logs) for any additional information about the way the request was handled.
31+
- Check your Load Balancer's [Grafana dashboard](/load-balancer/how-to/monitor-lb-cockpit/) for any additional information about the way the request was handled.
3232
- Verify your certificate and [SSL bridging/offloading/passthrough](/load-balancer/reference-content/ssl-bridging-offloading-passthrough/) settings. For example, if SSL is terminated at the Load Balancer, but the backend expects HTTPS, requests may be rejected.
3333
- Check if [Proxy Protocol](load-balancer/reference-content/configuring-backends/#proxy-protocol) is enabled on your Load Balancer. If your backend server is not configured to handle Proxy Protocol headers correctly, it may reject the requests. Try [disabling Proxy Protocol](/load-balancer/how-to/manage-frontends-and-backends/#how-to-edit-backends-and-health-checks) on your Load Balancer to see if it resolves the issue. If the issue is resolved when Proxy Protocol is disabled, [ensure your backend server is correctly configured for Proxy Protocol](/tutorials/proxy-protocol-v2-load-balancer/) before re-enabling.
3434

35-
### I am getting a 503 Service Unavailable error when trying to access my application through my Load Balancer
35+
## I am getting a 503 Service Unavailable error when trying to access my application through my Load Balancer
3636

3737
You may find that when attempting to connect to the domain linked to your Load Balancer / the application being served by your backend servers, you receive a `503 Service Unavailable` error.
3838

@@ -42,7 +42,7 @@ You may find that when attempting to connect to the domain linked to your Load B
4242

4343
### Solutions
4444

45-
- Check the health of your backend servers. If the servers are failing their health checks, this is likely to be the reason for the error. Investigate the reason for the failing health check, and either make the necessary changes to the servers so they are able to successfully respond to health checks, or [modify your health check settings](/load-balancer/reference-content/configuring-health-checks/) as necessary.
45+
- Check the health of your backend servers. If the servers are failing their health checks, this is likely to be the reason for the error. Investigate the reason for the failing health check, and reconfigure your server or [health check settings](/load-balancer/reference-content/configuring-health-checks/) as necessary.
4646
- Check that your Load Balancer is not exceeding its bandwidth. Each Load Balancer type has a [maximum bandwidth](https://www.scaleway.com/en/pricing/network/#load-balancer) it can handle. If you are exceeding this bandwidth, a 503 error is likely. [Check your Load Balancer's metrics](/load-balancer/how-to/monitor-lb-cockpit/), and [resize your Load Balancer](/load-balancer/how-to/resize-lb/) if necessary.
4747
- Check your Load Balancer's [backend protection settings](/load-balancer/reference-content/configuring-backends/#backend-protection), and compare with [Cockpit data](/load-balancer/how-to/monitor-lb-cockpit/). If backend protection compared to request/connection volume is set in such a way that all backend servers are becoming overloaded, you may need to add additional backend servers or adjust your backend protection settings.
4848

0 commit comments

Comments
 (0)