Skip to content

Commit d4b3bde

Browse files
committed
clean up tunnel LB overview page
1 parent 0d5b32c commit d4b3bde

File tree

1 file changed

+12
-150
lines changed
  • src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-availability

1 file changed

+12
-150
lines changed

src/content/docs/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-availability/index.mdx

Lines changed: 12 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ Our lightweight and open-source connector, [`cloudflared`](https://github.com/cl
1111

1212
## `cloudflared` replicas
1313

14-
Cloudflare Tunnel also allows users to deploy additional instances of our connector, `cloudflared`, for availability and failover scenarios. We refer to these unique instances as replicas. Each replica establishes four new connections which serve as additional points of ingress to your origin, should you need them. Each of the replicas will point to the same tunnel. This ensures that your network remains up in the event a single host running `cloudflared` goes down.
14+
Cloudflare Tunnel allows users to deploy additional instances of our connector, `cloudflared`, for availability and failover scenarios. We refer to these unique instances as replicas. Each replica establishes four new connections which serve as additional points of ingress to your origin, should you need them. Each of the replicas will point to the same tunnel. This ensures that your network remains up in the event a single host running `cloudflared` goes down.
1515

1616
```mermaid
1717
graph LR
18-
C{Cloudflare}
18+
C((Cloudflare))
1919
subgraph E[Private network]
20-
cf1["cloudflared replica <br> (Tunnel-1)"]
21-
cf2["cloudflared replica <br> (Tunnel-1)"]
20+
cf1["cloudflared <br> (Tunnel-1 replica)"]
21+
cf2["cloudflared <br> (Tunnel-1 replica)"]
2222
S1[Application]
2323
cf1-->S1
2424
cf2-->S1
@@ -41,11 +41,11 @@ By design, replicas do not offer any level of traffic steering (random, hash, or
4141
- To allocate failover nodes within your network.
4242
- To update the configuration of a tunnel [without downtime](/cloudflare-one/connections/connect-networks/downloads/update-cloudflared/#update-with-multiple-cloudflared-instances).
4343

44-
## Cloudflare Load Balancers
44+
For setup instructions, refer to [Deploy cloudflared replicas](/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-availability/deploy-replicas/).
4545

46-
[Cloudflare Load Balancing](/load-balancing/) proactively steers traffic away from unhealthy origins and intelligently distributes the traffic load based on your choice of [steering algorithms](/load-balancing/understand-basics/traffic-steering/). Load balancers can be configured for traffic originating from both the public Internet and from within a private network.
46+
## Cloudflare Load Balancers
4747

48-
A load balancer setup requires more than one tunnel with identical configurations. Most customers will create one tunnel per data center and one load balancer pool per tunnel.
48+
[Cloudflare Load Balancing](/load-balancing/) proactively steers traffic away from unhealthy origins and intelligently distributes the traffic load based on your choice of [steering algorithms](/load-balancing/understand-basics/traffic-steering/). Unlike [`cloudflared` replicas](#cloudflared-replicas) which all use the same tunnel, a typical load balancer setup requires creating multiple tunnels. Most customers will create one tunnel per data center and one load balancer pool per tunnel.
4949

5050
```mermaid
5151
graph LR
@@ -70,7 +70,6 @@ graph LR
7070
cf1-->S1
7171
cf1-->S2
7272
end
73-
7473
```
7574

7675
### When to use load balancers
@@ -80,148 +79,11 @@ graph LR
8079
- To get alerted when a tunnel reaches an inactive state.
8180
- To distribute traffic more evenly across your Cloudflare Tunnel-accessible origins or endpoints.
8281

82+
For setup instructions, refer to [Public load balancers](/cloudflare-one/connections/connect-networks/routing-to-tunnel/public-load-balancers/) or [Private Network Load Balancing](/load-balancing/private-network/) depending on your [use case](#types-of-load-balancers).
8383

84-
## Public load balancer
85-
86-
Public load balancers steer traffic from the public Internet to your [published applications](/cloudflare-one/connections/connect-networks/routing-to-tunnel/).
87-
88-
89-
e.g.
90-
I have a web application (HTTPS) that lives in my private network and I want to securely connect it to Cloudflare's network so that my users can use their browser to access the web application from anywhere in the world
91-
92-
The DNS record (`UUID.cfargotunnel.com`) for each Cloudflare Tunnel can be used at the origin within the load balancer.
93-
94-
### Scenario 1: One tunnel per app server
95-
```mermaid
96-
graph LR
97-
subgraph LB["Public load balancer <br> app.example.com "]
98-
subgraph P1[Pool 1]
99-
E1(["**Endpoint:** &lt;UUID_1&gt;.cfargotunnel.com<br> **Host header**: app1.example.com"])
100-
end
101-
subgraph P2[Pool 2]
102-
E2(["**Endpoint:** &lt;UUID_2&gt;.cfargotunnel.com<br> **Host header**: app2.example.com"])
103-
end
104-
end
105-
R@{ shape: text, label: "app.example.com" }
106-
R--> LB
107-
P1 -- Tunnel 1 --> cf1
108-
P2 -- Tunnel 2 --> cf2
109-
subgraph D2[Private network]
110-
cf1[cloudflared <br> **Route:** app1.example.com]
111-
S1(["App1<br> 10.0.0.1:80"])
112-
cf1-->S1
113-
cf2[cloudflared <br> **Route:** app2.example.com]
114-
S3(["App2 <br> 10.0.0.2:80"])
115-
cf2-->S3
116-
end
117-
```
118-
119-
Only valid for active-standby setups, since each pool has only one endpoint.
120-
121-
122-
### Scenario 2: Two tunnels, each tunnel connects to both apps
123-
124-
```mermaid
125-
graph LR
126-
subgraph LB["Public load balancer <br> app.example.com "]
127-
subgraph P1[Pool 1]
128-
E1(["**Endpoint:** &lt;UUID_1&gt;.cfargotunnel.com<br> **Host header**: app1.example.com"])
129-
E2(["**Endpoint:** &lt;UUID_2&gt;.cfargotunnel.com<br> **Host header**: app2.example.com"])
130-
end
131-
subgraph P2[Pool 2]
132-
E3(["**Endpoint:** &lt;UUID_1&gt;.cfargotunnel.com<br> **Host header**: app1.example.com"])
133-
E4(["**Endpoint:** &lt;UUID_2&gt;.cfargotunnel.com<br> **Host header**: app2.example.com"])
134-
end
135-
end
136-
R@{ shape: text, label: "app.example.com" }
137-
R--> LB
138-
E1 -- Tunnel 1 -->cf1
139-
E3 -- Tunnel 1 --> cf1
140-
E2 -- Tunnel 2 --> cf2
141-
E4 -- Tunnel 2 --> cf2
142-
143-
subgraph N[Private network]
144-
cf2[cloudflared <br> **Route:** app1.example.com <br> **Route:** app2.example.com]
145-
S3(["App1 <br> 10.0.0.1:80"])
146-
cf2-->S3
147-
cf2-->S1
148-
cf1[cloudflared <br> **Route:** app1.example.com <br> **Route:** app2.example.com]
149-
S1(["App2 <br> 10.0.0.2:80"])
150-
cf1-->S1
151-
cf1-->S3
152-
end
153-
```
154-
155-
good for an [Active-active](/load-balancing/load-balancers/common-configurations/#active---active-failover) setup which distributes traffic to endpoints in the same pool
84+
### Types of load balancers
15685

157-
### Scenario 3: One tunnel for both apps
86+
There are two types of load balancers that you can use with Cloudflare Tunnel endpoints:
15887

159-
```mermaid
160-
graph LR
161-
subgraph LB["Public load balancer <br> app.example.com "]
162-
subgraph P1[Pool 1]
163-
E1(["**Endpoint:** &lt;UUID_1&gt;.cfargotunnel.com<br> **Host header**: app1.example.com"])
164-
end
165-
subgraph P2[Pool 2]
166-
E2(["**Endpoint:** &lt;UUID_1&gt;.cfargotunnel.com<br> **Host header**: app2.example.com"])
167-
end
168-
end
169-
R@{ shape: text, label: "app.example.com" }
170-
R--> LB
171-
P1 -- Tunnel 1 --> cf1
172-
P2 -- Tunnel 1 --> cf1
173-
subgraph D2[Private network]
174-
cf1@{ shape: processes, label: "cloudflared <br> **Route:** app1.example.com <br> **Route:** app2.example.com" }
175-
S3(["App1 <br> 10.0.0.1:80"])
176-
S1(["App2 <br> 10.0.0.2:80"])
177-
cf1-->S1
178-
cf1-->S3
179-
end
180-
```
181-
182-
Only valid for active-standby setups, since each pool has only one endpoint.
183-
184-
Note: A single origin pool in LB can't have the same Tunnel GUID referenced twice
185-
186-
Deploy replicas for redundancy
187-
188-
## Private load balancer
189-
190-
You can use Cloudflare Private Network Load Balancing to distribute traffic across private endpoints connected via Cloudflare Tunnel. Common use cases include:
191-
192-
* Load balancing internal employee traffic to internal applications
193-
* Geosteering WARP traffic to internal applications
194-
* Load balancing internal API calls
195-
196-
To set up load balancing for private IP addresses, refer to the [Private Network Load Balancing documentation](/load-balancing/private-network/tunnels-setup/).
197-
198-
199-
If the server IPs overlap, then use a different virtual network in each tunnel so that Load Balancer can route requests to the correct data center and server.
200-
201-
```mermaid
202-
graph LR
203-
W[WARP clients] --> C{Private load balancer <br> 100.112.0.0}
204-
C -- Tunnel 1 --> cf1
205-
C -- Tunnel 2 --> cf2
206-
subgraph D2[Data center 2]
207-
cf2[cloudflared]
208-
subgraph F[Pool 2]
209-
S3["Endpoint <br> 10.0.0.1 (VNET-2)"]
210-
S4["Endpoint <br> 10.0.0.2 (VNET-2)"]
211-
end
212-
cf2-->S3
213-
cf2-->S4
214-
end
215-
subgraph D1[Data center 1]
216-
cf1[cloudflared]
217-
subgraph E[Pool 1]
218-
S1["Endpoint <br> 10.0.0.1 (VNET-1)"]
219-
S2["Endpoint <br> 10.0.0.2 (VNET-1)"]
220-
end
221-
cf1-->S1
222-
cf1-->S2
223-
end
224-
225-
style E stroke-width:2px,stroke-dasharray: 5 5
226-
style F stroke-width:2px,stroke-dasharray: 5 5
227-
```
88+
- [Public load balancers](/cloudflare-one/connections/connect-networks/routing-to-tunnel/public-load-balancers/) steer traffic from the Internet to applications published on a Cloudflare domain. Use this method if your service is connected to Cloudflare Tunnel via a [published application route](/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/#2a-publish-an-application).
89+
- [Private load balancers](/load-balancing/private-network/) steer traffic from WARP clients, Magic WAN, and other <GlossaryTooltip term = "on-ramp">on-ramps</GlossaryTooltip> to an internal IP on your private network. Use this method if your service is connected to Cloudflare Tunnel via a [CIDR route](/cloudflare-one/connections/connect-networks/private-net/cloudflared/connect-cidr/).

0 commit comments

Comments
 (0)