2017-10-18 5 views
-1

J'ai un système où toutes les demandes entrantes sont routées vers un équilibreur de charge élastique (ELB) AWS. Cela nécessite une recherche de nom DNS sur l'URL ELB pour chaque requête. Nous savons que l'ELB renvoie une IP différente à chaque fois (round robins quelques adresses IP), donc je ne peux pas vraiment mettre en cache l'adresse IP et l'utiliser jusqu'à TTL. Cependant, parfois, ces recherches DNS échouent et nous voulons utiliser le cache uniquement lorsque cela se produit. Veuillez noter que le cache doit toujours être mis à jour. Ainsi, lorsque nous revenons au cache, il ne s'agit pas d'une ancienne entrée en cache.Echec de la recherche DNS dans le cache de basculement DNS - AWS ELB

Quelle est la meilleure façon de faire cela? Pouvons-nous utiliser Dnsmasq en quelque sorte?

Répondre

2

Veuillez repenser votre conception. Si vos requêtes DNS échouent, vous avez un problème de réseau. Les équilibreurs de charge sont conçus (généralement) pour fournir une haute disponibilité et une tolérance aux pannes.

Serveurs DNS Cache les entrées par conception (ce qui est différent de votre objectif). Ceci est contrôlé par le champ TTL, cependant, de nombreux serveurs DNS ignorent cette valeur.

Si vos requêtes DNS échouent, comment allez-vous déterminer l'adresse IP des équilibreurs de charge? Découvrez pourquoi vos requêtes DNS échouent et laissez les équilibreurs de charge effectuer le travail pour lequel ils sont conçus.

Les équilibreurs de charge Amazon n'ont pas d'adresses IP statiques. Le mot "Elastic" dans Elastic Load Balancer signifie qu'ils chargent les équilibreurs dans deux directions: ScaleUp (instances plus grandes) et ScaleOut (plus d'instances). Bien sûr, lorsque le trafic est en panne, ils font l'inverse (ScaleDown et ScaleIn).

+0

Pour clarifier cela. Ceci est un problème d'échec DNS intermittent et notre trafic est assez élevé donc c'est très possible. C'est un composant AWS à un autre, donc s'il y a un problème de réseau, c'est dans AWS. Le volume de requêtes est assez élevé pour que nous puissions avoir un cache secondaire qui se met à jour chaque fois qu'un appel à .2 adresses IP dans le VPC échoue, nous voulons être en mesure d'utiliser l'adresse IP mise en cache pour l'atténuation. –