Skip to content

Commit f5e88ec

Browse files
angelampcostapedrosousa
authored andcommitted
[Load Balancing] Account Load Balancing updates (cloudflare#22084)
* LB updates * Apply suggestions from code review Co-authored-by: Pedro Sousa <[email protected]> * Update src/content/docs/load-balancing/load-balancers/dns-records.mdx * Adds more info to create a public and a private lb --------- Co-authored-by: Pedro Sousa <[email protected]>
1 parent 69167e7 commit f5e88ec

File tree

10 files changed

+74
-18
lines changed

10 files changed

+74
-18
lines changed

src/content/docs/load-balancing/additional-options/load-balancing-china.mdx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ https://api.cloudflare.com/client/v4/zones/{zone_id}/load_balancers
2525

2626
Load balancers deployed to the China Network currently have the following limitations:
2727

28-
1. Only cookie-based session affinity is supported.
29-
2. Private network off-ramps (Tunnel, GRE, IPsec) are not supported.
28+
- Only cookie-based session affinity is supported.
29+
- Private network off-ramps (Tunnel, GRE, IPsec) are not supported.
30+
- Private Network Load Balancing is not available on the China Network.

src/content/docs/load-balancing/load-balancers/dns-records.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ head:
99

1010
---
1111

12-
When you [create a load balancer](/load-balancing/load-balancers/create-load-balancer/), Cloudflare automatically creates an LB DNS record for the specified **Hostname**. This functionality allows you to use a hostname with or without an existing DNS record.
12+
When you [create a load balancer](/load-balancing/load-balancers/create-load-balancer/), Cloudflare automatically creates an LB DNS record for the specified **Hostname**. This functionality allows you to use a hostname with or without an existing DNS record. Private load balancers do not receive an automatic DNS record. Instead, you can configure a hostname using your internal DNS system or by applying a [Gateway Firewall override](/cloudflare-one/policies/gateway/dns-policies/#override) to a hostname.
1313

1414
## Supported records
1515

src/content/docs/load-balancing/load-balancers/index.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ For an overview of how the Cloudflare Load Balancing solution works, refer to [L
2222

2323
For suggestions, refer to [Common load balancer configurations](/load-balancing/load-balancers/common-configurations/).
2424

25+
## Public vs. Private Load Balancers
26+
27+
Public Load Balancers are designed to handle traffic from the public Internet. When deployed, they automatically receive a hostname, making them immediately accessible. These load balancers can direct traffic to a range of destinations, including public hostnames, public IP addresses, and private IP addresses.
28+
29+
Private Load Balancers, in contrast, are meant for internal use within private networks. They do not automatically receive a hostname, but one can be assigned via Gateway Firewall Policies or through an internal DNS system. Private Load Balancers only accept traffic over a private network on-ramp, such as [Cloudflare WARP](/warp-client/) or [Magic WAN](/magic-wan/). They are capable of forwarding traffic exclusively to private IP addresses.
30+
2531
## Load balancing and existing DNS records
2632

2733
For details about DNS records, refer to [DNS records for load balancing](/load-balancing/load-balancers/dns-records/).

src/content/docs/load-balancing/private-network/index.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,5 @@ Private Network Load Balancing on-ramps, on the other hand, refer to secure path
5454
* **Intelligent traffic routing**: Benefit from failover for your private traffic and have the ability to monitor the health of these IP targets directly, rather than load balancing to a tunnel and only monitoring the health of the tunnel itself.
5555

5656
* **Host applications on non-standard ports**: Easily specify and route traffic to applications hosted on private IP addresses using non-standard ports, allowing greater flexibility in service configuration without requiring changes to existing infrastructure.
57+
58+
* **Public and Private Load Balancers**: Public LBs can direct Internet traffic to private IP addresses, supporting all L7 products like WAF and API Shield. Private LBs direct traffic originating from private networks to private IP addresses and require an on-ramp like WARP or Magic WAN.

src/content/docs/load-balancing/understand-basics/load-balancing-components.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ This page provides a simplified overview of the three main components of the Clo
1414

1515
For a hostname (`blog.example.com`) to resolve, the Domain Name System (DNS) must return an IP address, where the website or application is hosted (origin).
1616

17-
When you set up a load balancer, Cloudflare automatically creates an [LB DNS record](/load-balancing/load-balancers/dns-records/) for the specified hostname. This means that, according to a [priority order](/load-balancing/load-balancers/dns-records/#priority-order), instead of simply returning an IP address, the logic you introduced using the Cloudflare Load Balancing solution will be considered.
17+
When you set up a public load balancer, Cloudflare automatically creates an [LB DNS record](/load-balancing/load-balancers/dns-records/) for the specified hostname. This means that, according to a [priority order](/load-balancing/load-balancers/dns-records/#priority-order), instead of simply returning an IP address, the logic you introduced using the Cloudflare Load Balancing solution will be considered.
1818

1919
Note that you can use the root domain as a Load Balancer hostname. When doing so, make sure you enter the hostname without including the auto-generated dot that typically precedes your zone's name.
2020

21+
:::note
22+
Private load balancers are not automatically associated with a hostname. Private load balancers are created with either a CGNAT IP address or a custom RFC-1918 IP address.
23+
:::
24+
2125
<Render file="load-balancing-diagram" />
2226

2327
## Pools

src/content/partials/load-balancing/dns-load-balancing-limitations.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ In comparison to proxied, layer 7 load balancing, DNS-only load balancing:
1111
* Increases authoritative queries against Cloudflare, which can potentially cost more for customers with usage-based billing.
1212
* Does not support [session affinity](/load-balancing/understand-basics/session-affinity/).
1313
* Geo-locates traffic based on the data center associated with the ECS source address, if available. If not available, geo-locates based on a user's recursive resolver, which can sometimes cause issues with [latency-based steering](/load-balancing/understand-basics/traffic-steering/steering-policies/dynamic-steering/).
14+
* Does not support [Private Network Load Balancing](/load-balancing/private-network/).

src/content/partials/load-balancing/layer-7-load-balancing-benefits.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ In comparison to DNS-only load balancing, layer 7 load balancing:
1111
* Reduces authoritative queries against Cloudflare, which can potentially save money for customers with usage-based billing.
1212
* Supports customized [session affinity](/load-balancing/understand-basics/session-affinity/) and [endpoint drain](/load-balancing/understand-basics/session-affinity/#endpoint-drain).
1313
* More accurately geo-locates traffic, using the data center associated with the user making the request instead of the data center associated with a user's recursive resolver.
14+
* Supports private IP addresses with [Private Network Load Balancing](/load-balancing/private-network/).

src/content/partials/load-balancing/load-balancer-create.mdx

Lines changed: 50 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,76 @@
33

44
---
55

6-
To create a load balancer in the dashboard:
6+
To create a Public or a Private load balancer in the dashboard:
77

8-
1. Go to **Traffic** > **Load Balancing**.
8+
### Create a Public load balancer
99

10-
2. Select **Create Load Balancer**.
10+
1. Go to **Load Balancing** and select **Create load balancer**.
1111

12-
3. On the **Hostname** page:
12+
2. On the **Load Balancer Setup**, select **Public load balancer**
13+
14+
3. Choose the website to which you want to add this load balancer.
15+
16+
4. On the **Hostname** page:
1317
* Enter a **Hostname**, which is the DNS name at which the load balancer is available. For more details on record priority, refer to [DNS records for load balancing](/load-balancing/load-balancers/dns-records/).
18+
* From the **Data Localization** dropdown, select the [region](/data-localization/how-to/load-balancing/#regional-services) you would like to use on your domain.
1419
* Toggle the orange cloud icon to update the [proxy mode](/load-balancing/understand-basics/proxy-modes/), which affects how traffic is routed and which IP addresses are advertised.
20+
* Add a description for your load balancer.
1521
* If you want [session-based load balancing](/load-balancing/understand-basics/session-affinity/), toggle the **Session Affinity** switch.
22+
* If you want [Adaptive Routing](/load-balancing/understand-basics/adaptive-routing/), toggle the **Adaptive Routing** switch.
1623

17-
4. Select **Next**.
24+
5. Select **Next**.
1825

19-
5. On the **Add a Pool** page:
26+
6. On the **Add a Pool** page:
2027
* Select one or more existing pools or [create a new pool](/load-balancing/pools/create-pool/#create-a-pool).
2128
* If you are going to set [traffic steering](/load-balancing/understand-basics/traffic-steering/steering-policies/standard-options/) to **Off**, re-order the pools in your load balancer to adjust the fallback order.
2229
* If needed, update the [**Fallback Pool**](/load-balancing/understand-basics/health-details/#fallback-pools).
2330
* If you choose to set traffic steering to **Random**, you can set [Weights](/load-balancing/understand-basics/traffic-steering/steering-policies/standard-options/#random-steering) (via the API) to your pools to determine the percentage of traffic sent to each pool.
2431

25-
6. Select **Next**.
32+
7. Select **Next**.
2633

27-
7. On the **Monitors** page:
34+
8. On the **Monitors** page:
2835
* Review the monitors attached to your pools.
2936
* If needed, you can attach an existing monitor or [create a new monitor](/load-balancing/monitors/create-monitor/#create-a-monitor).
3037

31-
8. Select **Next**.
38+
9. Select **Next**.
39+
40+
10. On the **Traffic Steering** page, choose an option for [Traffic steering](/load-balancing/understand-basics/traffic-steering/steering-policies/) and select **Next**.
41+
42+
11. On the **Custom Rules** page, select an existing rule or [create a new rule](/load-balancing/additional-options/load-balancing-rules/).
43+
44+
12. Select **Next**.
45+
46+
13. On the **Review** page:
47+
* Review your configuration and make any changes.
48+
* Choose whether to **Save as Draft** or **Save and Deploy**.
49+
50+
### Create a Private load balancer
51+
52+
1. Go to **Load Balancing** and select **Create load balancer**.
53+
54+
2. On the **Load Balancer Setup**, select **Private load balancer**
55+
56+
3. Associate your load balancer with either a Cloudflare private IP or a specified IP address and create a description for your load balancer.
57+
58+
4. On the **Add a Pool** page:
59+
* Select one or more existing pools or [create a new pool](/load-balancing/pools/create-pool/#create-a-pool).
60+
* If you are going to set [traffic steering](/load-balancing/understand-basics/traffic-steering/steering-policies/standard-options/) to **Off**, re-order the pools in your load balancer to adjust the fallback order.
61+
* If needed, update the [**Fallback Pool**](/load-balancing/understand-basics/health-details/#fallback-pools).
62+
* If you choose to set traffic steering to **Random**, you can set [Weights](/load-balancing/understand-basics/traffic-steering/steering-policies/standard-options/#random-steering) (via the API) to your pools to determine the percentage of traffic sent to each pool.
63+
64+
5. Select **Next**.
65+
66+
6. On the **Monitors** page:
67+
* Review the monitors attached to your pools.
68+
* If needed, you can attach an existing monitor or [create a new monitor](/load-balancing/monitors/create-monitor/#create-a-monitor).
3269

33-
9. On the **Traffic Steering** page, choose an option for [Traffic steering](/load-balancing/understand-basics/traffic-steering/steering-policies/) and select **Next**.
70+
7. Select **Next**.
3471

35-
10. On the **Custom Rules** page, select an existing rule or [create a new rule](/load-balancing/additional-options/load-balancing-rules/).
72+
8. On the **Traffic Steering** page, choose an option for [Traffic steering](/load-balancing/understand-basics/traffic-steering/steering-policies/) and select **Next**.
3673

37-
11. Select **Next**.
74+
9. Select **Next**.
3875

39-
12. On the **Review** page:
76+
10. On the **Review** page:
4077
* Review your configuration and make any changes.
4178
* Choose whether to **Save as Draft** or **Save and Deploy**.

src/content/partials/load-balancing/load-balancer-definition.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33

44
---
55

6-
A load balancer distributes traffic among pools according to [pool health](/load-balancing/understand-basics/health-details/) and [traffic steering policies](/load-balancing/understand-basics/traffic-steering/steering-policies/). Each load balancer is identified by its DNS hostname (`lb.example.com`, `dev.example.com`, etc.).
6+
A load balancer distributes traffic among pools according to [pool health](/load-balancing/understand-basics/health-details/) and [traffic steering policies](/load-balancing/understand-basics/traffic-steering/steering-policies/). Each load balancer is identified by its DNS hostname (`lb.example.com`, `dev.example.com`, etc.) or IP address.

src/content/partials/load-balancing/session-affinity-definition.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@
66
When you enable session affinity, your load balancer directs all requests from a particular end user to a specific endpoint. This continuity preserves information about the user session — such as items in their shopping cart — that might otherwise be lost if requests were spread out among multiple servers.
77

88
Session affinity can also help reduce network requests, leading to savings for customers with usage-based billing.
9+
10+
:::note
11+
Session Affinity is only supported by Public Load Balancers.
12+
:::

0 commit comments

Comments
 (0)