Lorsque mon serveur Web A est débranché, comment rediriger automatiquement tous les utilisateurs vers mon serveur Web B dans une autre ville, et vice versa?

15

Lorsque mon serveur Web A est débranché, comment rediriger automatiquement tous les utilisateurs vers mon serveur Web B dans une autre ville, et vice versa?

Un commutateur d'équilibrage de charge fait ce que je veux, sauf que je ne peux pas comprendre comment le faire fonctionner à moins que les deux serveurs Web soient dans le même bâtiment.

Les systèmes de clustering à haute disponibilité font ce que je veux, sauf que je ne peux pas comprendre comment le faire fonctionner à moins que les deux serveurs Web soient dans le même bâtiment.

La réponse acceptée à " rediriger vers une page statique sur un autre serveur Web lorsque le serveur Web principal est en panne " semble prendre en charge les serveurs Web dans 2 villes différentes. Mais comment l'installation d'un logiciel sur une boîte m'aide-t-elle une fois cette boîte débranchée?

Comment le DNS à tour de rôle et les réseaux de distribution de contenu (CDN) le font-ils?

Je suppose qu'une approche commence par quelque chose comme:

  1. J'obtiens l'adresse IP de chacun de mes serveurs Web physiques.
  2. Je mets l'adresse IP de chacun de mes serveurs Web physiques dans l'enregistrement DNS pour le nom de domaine unique du "site Web" (plusieurs enregistrements A ou AAAA ou les deux).
  3. ... alors que dois-je faire?

Je suppose qu'une autre approche commence quelque chose comme

  1. J'utilise un fournisseur DNS dynamique pour le nom de domaine unique que j'attends des utilisateurs qu'ils saisissent dans le navigateur Web
  2. J'ai configuré un travail cron sur chaque serveur Web qui indique périodiquement au fournisseur DNS sa propre adresse IP (mettre à jour l'enregistrement A ou l'enregistrement AAAA) ou son propre nom de domaine (mettre à jour l'enregistrement CNAME ou l'enregistrement DNAME).
  3. ... alors que dois-je faire?

(Pour l'instant, je serais heureux si mes utilisateurs obtenaient une page Web statique avec mes coordonnées et une note de bas de page indiquant que "le serveur Web A principal semble être en panne" chaque fois que le serveur Web A est débranché. C'est déjà beaucoup mieux que le système actuel qui donne simplement une erreur "serveur introuvable". Idéalement, je voudrais que A et B soient entièrement synchronisés et apparemment identiques - mais c'est quelque chose pour une autre question: équivalent à CDN mais pour le contenu dynamique? ).

David Cary
la source
liés: basculement «simple» vers un serveur géographiquement séparé? (éventuellement en double?)
David Cary

Réponses:

6

On dirait que vous cherchez peut-être une solution Global Server Load Balancing (GSLB). GSLB utilise généralement un DNS "intelligent" pour diriger les utilisateurs vers différents serveurs en fonction d'un certain nombre de paramètres (par exemple, serveur indisponible, charge élevée, géolocalisation IP, etc.).

Par exemple, supposons que vous ayez deux serveurs Web, un à l'ouest (10.10.10.1/24) et un à l'est (10.20.20.1/24). Supposons que votre nom d'hôte Web soit www.connect.com.

GSLB peut être configuré pour être votre DNS ou comme CNAME. Dans les deux cas, un utilisateur tape dans www.connect.com, la requête DNS est dirigée vers la solution GSLB et il répond avec 10.10.10.1 ou 10.20.20.1 selon les paramètres. Le GSLB définit généralement un TTL faible afin que l'hôte / navigateur client cache la réponse le moins de temps possible. Il existe différentes manières de gérer la persistance, mais cela dépasse la portée de ce scénario.

Disons que le serveur web est (10.20.20.1) tombe en panne. GSLB implémente généralement des vérifications d'intégrité pour vérifier l'intégrité des nœuds principaux. GSLB indique que l'est est en panne et que tous les enregistrements DNS suivants pour www.connect.com seront résolus au 10.10.10.1.

Si vous disposez d'une solution locale d'équilibrage de charge du serveur (SLB), vous pouvez la configurer de telle sorte que www.connect.com soit un VIP / VS (par exemple 192.168.1.1/24) avec deux nœuds principaux (10.10.10.1/24 et 10.20.20.1/24). Techniquement, les nœuds peuvent se trouver dans différents segments de réseau tant que le SLB local peut atteindre l'autre serveur. La solution SLB peut être suffisamment intelligente pour rediriger les utilisateurs vers un serveur disponible en cas de panne d'un nœud principal. Si vous utilisez F5 LTM, vous pouvez facilement créer une iRule pour un tel événement. Citrix NetScaler et d'autres solutions SLB devraient également avoir des capacités similaires.

RR DNS ne fonctionne pas dans ce cas. RR DNS n'a pas d'intelligence intégrée. La seule façon d'accomplir le cas d'utilisation avec DNS est d'utiliser une sorte de DNS "intelligent" via une solution GSLB (ou similaire).

CDN implémente généralement des solutions GSLB / SLB pour garantir la haute disponibilité de ses clients.

bangdang
la source
David: En plus des F5 et des cisco qui sont des appliances , vous pouvez les avoir en tant que service , comme tzoha, edgedirector et dnshat
Sandman4
En fait, F5, Citrix / NetScaler proposent tous deux des appliances virtuelles pour GSLB. A10, radware, zeus, brocade, alteon et d'autres peuvent également proposer des appliances virtuelles. Mais vous avez tout à fait raison, il existe des fournisseurs de services GLSB SaaS. Probablement plus facile sur le portefeuille en utilisant opex au lieu de capex pour construire une infrastructure, mais les modèles SaaS ne sont pas sans risques (c'est-à-dire SLA, opérationnel, support). Je n'ai jamais entendu parler de edgedirector ou dnshat, mais ils sont tous les deux à des prix compétitifs!
bangdang
1
On m'a dit que « l'équilibrage global de la charge du serveur {provoque} une haute disponibilité réduite » par rapport à plusieurs enregistrements A. On m'a dit que «10.10.10.1» ou «192.168.1.1» ou d'autres adresses de réseau privé ne fonctionnent pas sur Internet public. On m'a dit que tous les systèmes locaux d'équilibrage de serveurs (a) nécessitent que tous les serveurs Web soient dans le même bâtiment; ou bien (b) avoir un seul point de défaillance; les deux que je devrais éviter dans un système HA. Existe-t-il un moyen d'éviter ces problèmes?
David Cary
2

Vous voulez examiner les équilibreurs de charge mondiaux comme F5 et Cisco. Fondamentalement, ils font quelques astuces avec DNS si le partenaire est en panne et si le partenaire est en place, ils transmettent les données à l'autre côté via l'équilibreur de charge.

mrdenny
la source
0

Dites-moi si vous utilisez une sorte de proxy inverse dans votre environnement si vous pouvez le rediriger vers le serveur de sauvegarde.

sinon, F5 est une bonne idée à utiliser.

également si vous avez enregistré le domaine auprès d'un registraire de domaine tiers, vous pouvez obtenir la configuration du serveur DNS pour rediriger vers un nouveau serveur ou serveur de sauvegarde.

Sandeep Shrivastava
la source
0

Vous pouvez le faire sans utiliser d'appareil réseau en utilisant au moins les deux méthodes suivantes, mais elles nécessiteront un contrôle des modifications:

  • Proxy inverse, vous devrez supprimer le serveur que vous allez débrancher des candidats du proxy

  • DNS, vous devrez planifier à l'avance, changer de DNS et attendre que le TTL passe

Vous pouvez également effectuer un équilibrage de charge automatique et un basculement actif-actif, en particulier pour un serveur Web servant des pages statiques à l'aide de protocoles de routage. Commander EGP et IGRP. Il devrait y avoir du matériel d'aide en ligne (lié à Cisco en particulier) qui détaille comment procéder avec deux hôtes ou plus via un routeur.

nearora
la source