Elastic Load Balancer d'AWS est-il un point de défaillance unique?

15

J'envisage de déplacer notre application vers Amazon Web Services. Le plan consiste à mettre en miroir toutes les instances EC2 sur deux zones de disponibilité. En raison des coûts de transfert de données, nous resterons dans une seule région AWS (Oregon).

Les multiples AZ éliminent le point de défaillance unique pour nos serveurs d'applications et de bases de données, mais qu'en est-il de l'ELB? Si j'ai un seul ELB distribuant le trafic sur deux AZ, l'ELB est-il également hébergé sur ces deux AZ?

Que fait Amazon pour empêcher l'ELB d'être un SPoF?

Chris.B
la source

Réponses:

13

En son cœur, un ELB n'est qu'une collection d'instances EC2. Lorsque vous créez un ELB , vous spécifiez les zones de disponibilité dans lesquelles vous souhaitez que l'équilibreur de charge se trouve. Les instances qui composent l'équilibreur de charge seront ensuite créées dans ces zones. La façon dont ils évitent un point de défaillance unique consiste à renvoyer plusieurs adresses IP lorsque vous effectuez une recherche DNS. Par exemple:

  • La recherche DNS pour website.example.com renvoie CNAME website-elb-12345.eu-west-1.elb.amazonaws.com
  • La recherche renvoie également les informations pour website-elb-12345.eu-west-1.elb.amazonaws.com. Il indique que le site a l'adresse IP 1.2.3.4 et l'adresse IP 2.3.4.5

Il appartient au client de choisir l'adresse IP à utiliser pour établir une connexion. Les adresses IP ne seront pas toujours renvoyées dans le même ordre à partir de la recherche DNS. Un client peut réessayer sur une autre adresse IP s'il ne peut pas se connecter à la première tentative.

Le TTL sur les enregistrements DNS pour un ELB n'est que de 60 secondes, ce qui signifie que si une instance ELB meurt et est remplacée, le DNS sera mis à jour partout assez rapidement.

Richard
la source
Alors, puisque je déploierai mes instances EC2 d'application sur plusieurs zones, lorsque je créerai l'ELB pour cette région, sera-t-il automatiquement hébergé sur des instances EC2 réparties sur ces deux mêmes zones?
Chris.B
Lorsque vous créez l'ELB, que ce soit via l'API ou la console, il vous sera demandé de sélectionner les zones de disponibilité dans lesquelles vous souhaitez que l'ELB fonctionne. Il vous suffit de sélectionner les mêmes zones de disponibilité que vos instances seront.
Richard
3

Il pourrait en fait s'agir d'un SPoF, mais je pense que ce ne serait qu'un SPoF dans la même région.

C'est pourquoi AWS propose d'utiliser la vérification de l'état de Route 53 afin de détecter et de réacheminer le trafic qui se retrouverait sur un ELB malsain.

Vous pouvez utiliser la vérification de l'intégrité d'Amazon Route 53 et les fonctionnalités de basculement DNS pour améliorer la disponibilité des applications exécutées derrière Elastic Load Balancers. La route 53 échouera à partir d'un équilibreur de charge si aucune instance EC2 saine n'est enregistrée avec l'équilibreur de charge ou si l'équilibreur de charge lui-même n'est pas sain .

Source: http://aws.amazon.com/elasticloadbalancing/

Alex
la source
Existe-t-il donc un moyen de configurer plusieurs ELB dans une même région. Vous en avez un comme principal et un comme secours? Ou la Route 53 est-elle capable de lancer une nouvelle instance ELB?
Chris.B
Je ne pense pas que Route 53 puisse configurer automatiquement un ELB, vous devriez regarder dans le guide du développeur.
Alex
1

Vous pouvez contourner votre AZ SPoF unique en créant un groupe de mise à l'échelle automatique où si votre ELB unique ne répond pas au facteur X, que ce soit par la charge, le temps de réponse, etc., un nouvel ELB est créé. Les ELB sont essentiellement des instances EC2 exécutant du code AWS propriétaire.

jon deane
la source
Je pensais que l'ELB évoluait automatiquement pour gérer les augmentations de charge, etc.
Chris.B