Quando il mio server Web A viene scollegato, come posso reindirizzare automaticamente tutti gli utenti al mio server Web B in un'altra città e viceversa?


15

Quando il mio server Web A viene scollegato, come posso reindirizzare automaticamente tutti gli utenti al mio server Web B in un'altra città e viceversa?

Un interruttore di bilanciamento del carico fa quello che voglio, tranne che non riesco a capire come farlo funzionare a meno che entrambi i server Web non si trovino nello stesso edificio.

I sistemi di clustering ad alta disponibilità fanno quello che voglio, tranne che non riesco a capire come farlo funzionare a meno che entrambi i server Web non si trovino nello stesso edificio.

La risposta accettata a " reindirizzare a una pagina statica su un altro server Web quando il server Web principale è inattivo " sembra supportare i server Web in 2 città diverse. Ma in che modo l'installazione di un software su una scatola mi aiuta dopo aver scollegato quella scatola?

Come lo fanno i DNS round robin e le reti di distribuzione dei contenuti (CDN)?

Suppongo che un approccio inizi qualcosa come:

  1. Ricevo l'indirizzo IP di ognuno dei miei server Web fisici.
  2. Ho inserito l'indirizzo IP di ciascuno dei miei server Web fisici nel record DNS per il singolo nome di dominio del sito Web "(più record A o record AAAA o entrambi).
  3. ... allora cosa devo fare?

Suppongo che un altro approccio inizi qualcosa di simile

  1. Uso un provider DNS dinamico per il singolo nome di dominio che mi aspetto che gli utenti digitino nel browser Web
  2. Ho impostato un processo cron su ciascun server Web che comunica periodicamente al provider DNS il proprio indirizzo IP (aggiorna il record A o il record AAAA) o il proprio nome di dominio (aggiorna il record CNAME o il record DNAME).
  3. ... allora cosa devo fare?

(Per ora, sarei felice se i miei utenti avessero una pagina Web statica con le mie informazioni di contatto e una nota a piè di pagina che dice "il server Web A principale sembra essere inattivo" ogni volta che il server Web A è scollegato. È già molto meglio del sistema attuale che si limita a dare un errore "server non trovato". Idealmente vorrei che A e B fossero completamente sincronizzati e apparentemente identici - ma questo è qualcosa per un'altra domanda: equivalente a CDN ma per contenuto dinamico? ).


Risposte:


6

Sembra che tu stia cercando una soluzione Global Server Load Balancing (GSLB). GSLB di solito utilizza DNS "intelligenti" per indirizzare gli utenti a server diversi in base a una serie di parametri (ovvero server non disponibile, carico elevato, geolocalizzazione IP, ecc.).

Ad esempio, supponiamo di avere due server Web, uno a ovest (10.10.10.1/24) e uno a est (10.20.20.1/24). Supponi che il tuo nome host web sia www.connect.com.

GSLB può essere configurato come DNS o come CNAME. In entrambi i casi, un utente digita www.connect.com, la query dns viene indirizzata alla soluzione GSLB e risponde con 10.10.10.1 o 10.20.20.1 a seconda dei parametri. GSLB di solito imposta un TTL basso in modo che l'host / browser del client memorizzi nella cache la risposta il meno tempo possibile. Esistono diversi modi per affrontare la persistenza, ma ciò va oltre lo scopo di questo scenario.

Diciamo che il web server est (10.20.20.1) non funziona. GSLB di solito implementa controlli di integrità per verificare l'integrità dei nodi back-end. Le comunicazioni GSLB verso est sono inattive e tutti i record DNS successivi per www.connect.com verranno risolti al 10.10.10.1.

Se si dispone di una soluzione di bilanciamento del carico del server locale (SLB), è possibile configurarlo in modo tale che www.connect.com sia un VIP / VS (diciamo 192.168.1.1/24) con due nodi backend (10.10.10.1/24 e 10.20.20.1/24). Tecnicamente i nodi potrebbero trovarsi in diversi segmenti di rete, a condizione che lo SLB locale possa raggiungere l'altro server. La soluzione SLB può essere abbastanza intelligente da reindirizzare gli utenti a un server disponibile se un nodo back-end non funziona. Se stai usando F5 LTM, allora potresti facilmente creare un iRule per un tale evento. Anche Citrix NetScaler e altre soluzioni SLB dovrebbero avere capacità simili.

RR DNS non funziona in questo caso. RR DNS non ha intelligenza integrata. L'unico modo per realizzare il caso d'uso con DNS è utilizzare una sorta di DNS "intelligente" tramite una soluzione GSLB (o simile).

La CDN di solito implementa soluzioni GSLB / SLB per garantire HA ai propri clienti.


David: Oltre a F5 e Cisco che sono apparecchi , puoi averlo come servizio , come tzoha, edgedirector e dnshat
Sandman4

In realtà, F5, Citrix / NetScaler offrono entrambi dispositivi virtuali per GSLB. A10, radware, zeus, broccato, alteon e altri possono anche offrire elettrodomestici virtuali. Ma hai assolutamente ragione sul fatto che ci sono fornitori di servizi SaaS GLSB là fuori. Probabilmente più semplice nel libro tascabile usando opex anziché capex per costruire infrastrutture ma i modelli SaaS non sono privi di rischi (es. SLA, operativo, supporto). Non ho mai sentito parlare di edgedirector o dnshat, ma hanno entrambi un prezzo competitivo!
bangdang,

1
Mi è stato detto che " il bilanciamento del carico globale del server {cause} ha ridotto la disponibilità elevata " rispetto a più record A. Mi è stato detto che "10.10.10.1" o "192.168.1.1" o altri indirizzi di rete privata non funzionano su Internet pubblico. Mi è stato detto che tutti i sistemi di bilanciamento dei server locali (a) richiedono che tutti i server Web siano nello stesso edificio; oppure (b) hanno un singolo punto di errore; entrambi che dovrei evitare in un sistema HA. C'è un modo per evitare questi problemi?
David Cary,

2

Volete esaminare i sistemi di bilanciamento del carico globali come F5 e Cisco. Fondamentalmente fanno alcuni trucchi con DNS se il partner è inattivo e se il partner è attivo, trasmettono i dati attraverso l'altro attraverso il bilanciamento del carico.



0

Dimmi se stai usando qualsiasi tipo di proxy inverso nel tuo ambiente se così potresti essere in grado di reindirizzarlo al server di backup.

in caso contrario, F5 è una buona idea da usare.

anche se hai registrato il dominio con un registrar di domini di terze parti puoi ottenere la configurazione del server DNS per reindirizzare a un nuovo server o server di backup.


0

È possibile farlo senza utilizzare un'appliance di rete utilizzando almeno i due metodi seguenti, ma richiedono il controllo delle modifiche:

  • Proxy inverso, dovrai rimuovere il server che stai per scollegare dai candidati del proxy

  • DNS, dovrai pianificare in anticipo, cambiare DNS e attendere il passaggio del TTL

È inoltre possibile eseguire il bilanciamento automatico del carico e il failover attivo-attivo, in particolare per un server Web che serve pagine statiche utilizzando i protocolli di routing. Acquista EGP e IGRP. Dovrebbe esserci materiale di aiuto online (in particolare Cisco) che spiega come eseguire questa operazione con due o più host tramite un router.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.