← Cloudflare Load Balancing / load-balancing / private-network
Nastavení Private Network Load Balancing s Client-to-Tunnel
Pomocí Private Network Load Balancing můžete rozkládat provoz Cloudflare One Client na privátní hostname a IP adresy připojené přes Cloudflare Tunnel.
Představte si například, že máte interní aplikaci běžící ve dvou datacentrech a chcete, aby uživatelé Cloudflare One Client přistupovali k aplikaci z datacentra, které je geograficky nejblíže. Typickou konfiguraci vyvažování zátěže znázorňuje následující diagram:
graph LR
W[WARP clients] --> C{Private load balancer <br> 100.112.0.0}
C -- Tunnel 1 --> cf1
C -- Tunnel 2 --> cf2
subgraph D2[Data center 2]
cf2@{ shape: processes, label: "cloudflared" }
subgraph F[Pool 2]
S3["Endpoint <br> 10.0.0.1 (VNET-2)"]
S4["Endpoint <br> 10.0.0.2 (VNET-2)"]
end
cf2-->S3
cf2-->S4
end
subgraph D1[Data center 1]
cf1@{ shape: processes, label: "cloudflared" }
subgraph E[Pool 1]
S1["Endpoint <br> 10.0.0.1 (VNET-1)"]
S2["Endpoint <br> 10.0.0.2 (VNET-1)"]
end
cf1-->S1
cf1-->S2
end
style E stroke-width:2px,stroke-dasharray: 5 5
style F stroke-width:2px,stroke-dasharray: 5 5
Diagram obsahuje následující komponenty:
- cloudflared: Každé datové centrum je s Cloudflare propojeno vlastním Cloudflare Tunnel.
cloudflaredse instaluje na jeden nebo více hostitelské počítače v síti. - Private load balancer IP: Koncoví uživatelé se k aplikaci připojují pomocí IP adresy load balanceru. Může to být buď IP adresa přidělená Cloudflare v
100.112.0.0/16nebo vlastní/32IP adresu v Rozsah RFC 1918 ↗. - Fond load balanceru: Load balancer je nakonfigurován s jedním pool na tunel.
- Koncový bod load balanceru: Pool obsahuje jeden nebo více endpointů, kde každý endpoint je server za
cloudflaredna kterém běží aplikace. Pokud mají vaše servery překrývající se IP adresy, můžete přiřadit jedinečný virtuální síť (VNET) na tunel, aby Load Balancer mohl deterministicky směrovat požadavky na správný endpoint.
Předpoklady
- IP adresy vašich endpointů se směrují přes Cloudflare Tunnel. Informace o tom, jak připojit vaši privátní síť, najdete v Připojení IP/CIDR.
1. Vytvořte fondy load balanceru
Fondy load balanceru jsou logická seskupení koncových bodů, obvykle uspořádaná podle fyzického datacentra nebo geografické oblasti. Koncové body ve fondu jsou cíle, do kterých je provoz nakonec směrován.
Pooly lze vytvořit buď na dashboardu Cloudflare, nebo prostřednictvím API.
Postup vytvoření poolu pomocí dashboardu najdete v Vytvořit Pool dokumentace.
Seznam svých aktuálních virtuálních sítí získáte pomocí Seznam virtuálních sítí operace API.
Povolte podporu virtuální/privátní IP adresy přidáním virtual_network_id pole na origins ve vašem API požadavku. Přečtěte si Dokumentace Cloudflare Load Balancer API s dalšími informacemi o vytvoření poolu pomocí API.
Následující příklad přidá koncový bod Cloudflare Tunnel do existujícího fondu Load Balancer:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Load Balancing: Monitors and Pools Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/load_balancers/pools/$POOL_ID" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"origins": [
{
"name": "server-1",
"address": "10.0.0.1",
"enabled": true,
"weight": 1,
"virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4"
}
]
}'2. Vytvořte privátní load balancer
-
V dashboardu Cloudflare přejděte na Load Balancing stránce.
Přejděte na Load Balancing ↗ -
Vyberte Vytvoření load balanceru.
-
Vyberte Private Load Balancer.
-
V dalším kroku můžete tento load balancer přiřadit k jedné z těchto možností:
- IP adresa přidělená Cloudflare z rozsahu
100.112.0.0/16rozsah - Vlastní
/32IP adresu v Rozsah RFC 1918 ↗
- IP adresa přidělená Cloudflare z rozsahu
-
Přidejte popisný název, podle kterého poznáte svůj load balancer.
-
Projděte proces nastavení.
Po dokončení nastavení budete přesměrováni na dashboard Load Balancing. Svůj load balancer najdete pomocí vyhledávacího pole nebo filtrováním podle Private load balancery. Nezapomeňte si poznamenat IP adresu load balanceru, budete ji potřebovat v následujících krocích.
3. Směrujte IP adresu load balanceru přes Cloudflare One Client
Aby se klienti Cloudflare One mohli připojit k vašemu Load Balanceru, musí IP adresa Load Balanceru směrovat přes tunel WARP ve vaší Nastavení Split Tunnel.
- V Cloudflare dashboard ↗, přejděte na Zero Trust > Tým a zdroje > Profily zařízení.
- Najděte profil zařízení chcete upravit, a vyberte Úprava.
- V části Split Tunnels, zkontrolujte, zda vaše Režim Split Tunnels je nastaveno na Vyloučit nebo Include.
- Vyberte Správa. V závislosti na režimu:
-
Režim vyloučení: Odstraňte rozsah IP adres, který obsahuje IP adresu vašeho load balanceru. Pokud má váš load balancer například IP adresu CGNAT přidělenou Cloudflare, odstraňte
100.64.0.0/10. Doporučujeme zpětné přidání IP adres které váš load balancer nepoužívá. -
Režim Include: Přidejte IP adresu svého load balanceru.
-
Provoz z Cloudflare One Client nyní může dosáhnout vašeho privátního load balanceru. Pokud váš load balancer například směřuje na webovou aplikaci, můžete to otestovat spuštěním curl <load-balancer-IP> ze zařízení. Tento provoz bude přes Cloudflare Tunnel distribuován do vašich privátních koncových bodů podle nakonfigurované metody směrování.
4. (Volitelné) Přiřaďte load balanceru název hostitele
Pokud chcete, aby byl váš Load Balancer a jeho koncové body pro uživatele transparentně dostupné pod určitým názvem hostitele, můžete vytvořit Gateway DNS Zásada přepisu který mapuje hostname na IP adresu load balanceru. Díky tomu se provoz určený pro daný hostname přeloží na správnou IP adresu.
-
V Cloudflare dashboard ↗, přejděte na Zero Trust > Zásady provozu > Zásady brány firewall > DNS.
-
Vyberte Přidat zásadu.
-
V Provoz, vytvořte výraz, ve kterém Selektor se rovná
Host, Operátor se rovnáis, a Hodnota je hostname, který chcete přiřadit ke svému load balanceru. Například,Selektor Operátor Hodnota Host je app.internal.local -
Nastavte Akce na Přepsání.
-
V Přepsání hostname, zadejte IP adresu svého privátního load balanceru (například
100.112.0.0).
Požadavky na tento název hostitele se nyní budou překládat na váš privátní load balancer.