INTEGRITY Dokumentace

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:

Předpoklady

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
Patch Pool
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

  1. V dashboardu Cloudflare přejděte na Load Balancing stránce.

    Přejděte na Load Balancing ↗
  2. Vyberte Vytvoření load balanceru.

  3. Vyberte Private Load Balancer.

  4. 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/16 rozsah
    • Vlastní /32 IP adresu v Rozsah RFC 1918 ↗
  5. Přidejte popisný název, podle kterého poznáte svůj load balancer.

  6. 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.

  1. V Cloudflare dashboard ↗, přejděte na Zero Trust > Tým a zdroje > Profily zařízení.
  2. Najděte profil zařízení chcete upravit, a vyberte Úprava.
  3. V části Split Tunnels, zkontrolujte, zda vaše Režim Split Tunnels je nastaveno na Vyloučit nebo Include.
  4. 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.

  1. V Cloudflare dashboard ↗, přejděte na Zero Trust > Zásady provozu > Zásady brány firewall > DNS.

  2. Vyberte Přidat zásadu.

  3. 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
  4. Nastavte Akce na Přepsání.

  5. 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.