← Cloudflare Load Balancing / load-balancing / additional-options
DNS persistence
Tento návod vysvětluje, jak v Cloudflare Load Balancing dosáhnout DNS perzistence, obdobně jako u tradičních load balancerů založených na DNS.
DNS persistence zajišťuje, že další DNS požadavky ze stejného místního DNS serveru obdrží stejnou IP adresu. Využívá se u aplikací, které potřebují zachovat konzistenci relace, například u VPN připojení nebo autentizačních systémů.
Cloudflare Load Balancing dokáže zajistit DNS persistence pomocí různých konfiguračních přístupů pro vyvažování zátěže pouze na úrovni DNS.
Persistence u DNS-only vyrovnávání zátěže
Pro vyvažování zátěže pouze na úrovni DNS nabízí Cloudflare tři metody, jak dosáhnout perzistence DNS:
Metoda 1: Geografické směrování na základě umístění PoP (doporučeno)
Tato metoda využívá geografické směrování podle toho, které Cloudflare Point of Presence (PoP) přijme DNS požadavek.
Kroky konfigurace
- Vytvořte pool pro každý endpoint. U žádného z poolů nepoužívejte odlehčení zátěže.
- Vytvořte load balancer pouze pro DNS a přidejte oba pooly. Zajistěte, že
pool_1je v pořadí předpool_2. - V části Řízení provozu, vyberte Geo Steering.
- Vytvořte pravidlo geo-steering pro region (například Východní Severní Amerika) a vyberte stejné pooly, ale v opačném pořadí (
pool_2nejprve, potépool_1). - Použijte Nikdy nepreferovat ECS a PoP location k určení zdroje požadavku.
Jak to funguje
Všechny požadavky přijaté v PoPech Cloudflare ve zadaném regionu se odesílají na jeden endpoint, zatímco požadavky z ostatních regionů se odesílají na druhý endpoint.
Proč se to doporučuje
Použití PoP Cloudflare, který přijal požadavek, jako kritéria pro směrování je stabilnější než hašování IP adres nebo rozdělení rozsahu IP adres, protože to není ovlivněno rekurzivními poskytovateli DNS používajícími různé výstupní IP adresy.
Metoda 2: Odlehčení zátěže pomocí IP hash
Tato metoda využívá load shedding a rozděluje provoz podle zdrojové IP adresy rekurzivního DNS resolveru.
Kroky konfigurace
- Vytvořte pool pro každý endpoint (například
pool_1hodnotouendpoint_1apool_2hodnotouendpoint_2). - U prvního poolu vyberte Hash v části Směrování koncových bodů.
- Nakonfigurujte Odlehčení zátěže:
- Zásada: IP Hash
- Shed %: 50 % (rovnoměrně rozdělí provoz mezi dva pooly)
- Vytvořte load balancer pouze pro DNS a přidejte oba pooly. Zajistěte, že
pool_1je v pořadí předpool_2. - Nekonfigurujte žádné další směrování provozu ani pravidla.
Jak to funguje
Tato konfigurace pomocí IP hashe přesměruje polovinu požadavků do druhého poolu a zachovává session affinity podle zdrojové IP adresy rekurzivního resolveru.
Omezení
Někteří poskytovatelé rekurzivního DNS (například Google DNS 8.8.8.8 nebo Quad9 9.9.9.9) mohou nahodile používat různé výstupní IP adresy, což může snížit stabilitu persistence.
Metoda 3: Vlastní pravidla s filtrováním podle zdrojové IP adresy
Tato metoda rozděluje provoz podle rozsahů IP adres pomocí vlastních pravidel.
Kroky konfigurace
- Vytvořte pool pro každý endpoint. U žádného z poolů nepoužívejte odlehčení zátěže.
- Vytvořte load balancer pouze pro DNS a přidejte oba pooly. Zajistěte, že
pool_1je v pořadí předpool_2. - Nekonfigurujte směrování provozu.
- Vytvořte Vlastní pravidlo s:
- Pole: IP Source Address
- Operátor: je v
- Hodnota: Podmnožina IP prostoru (například
0.0.0.0/1pro spodní polovinu prostoru IPv4)
- Jako akci pravidla zvolte Přepsání > Endpointy a nastavte pooly v opačném pořadí (
pool_2,pool_1).
Jak to funguje
Provoz se zdrojovými IP adresami z dolní poloviny prostoru IPv4 je odesílán na jeden endpoint, zatímco provoz z horní poloviny je odesílán na druhý endpoint.
Omezení
Podobně jako u metody 2 může být tento přístup méně stabilní u poskytovatelů rekurzivního DNS, kteří používají proměnlivé výstupní IP adresy.