O Elastic Load Balancer da AWS é um ponto único de falha?

15

Estou pensando em transferir nosso aplicativo para o Amazon Web Services. O plano é ter todas as instâncias do EC2 espelhadas em duas zonas de disponibilidade. Devido aos custos de transferência de dados, ficaremos em uma única região da AWS (Oregon).

Os múltiplos AZs eliminam o ponto único de falha para nossos servidores de aplicativos e bancos de dados, mas e o ELB? Se eu tiver um único ELB distribuindo tráfego entre dois AZs, o ELB também será hospedado nesses dois AZs?

O que a Amazon faz para evitar que o ELB seja um SPoF?

    
por Chris.B 27.06.2014 / 17:02

3 respostas

12

Em sua essência, um ELB é apenas uma coleção de instâncias do EC2. Quando você cria um ELB , especifica as zonas de disponibilidade que você deseja que o balanceador de carga seja Instâncias para criar o balanceador de carga serão criadas nessas zonas. A maneira como eles evitam um único ponto de falha aqui é retornando vários endereços IP quando você faz uma pesquisa de DNS. Por exemplo:

  • A pesquisa de DNS para o website.example.com retorna o CNAME website-elb-12345.eu-west-1.elb.amazonaws.com
  • A pesquisa também retorna as informações para website-elb-12345.eu-west-1.elb.amazonaws.com. Ele afirma que o site tem o endereço IP 1.2.3.4 e o endereço IP 2.3.4.5

Cabe ao cliente escolher qual endereço IP usar para fazer uma conexão. Os endereços IP nem sempre serão retornados na mesma ordem da pesquisa de DNS. Um cliente pode tentar novamente um endereço IP alternativo se não conseguir se conectar na primeira tentativa.

O TTL nos registros DNS de um ELB é de apenas 60 segundos, o que significa que, se uma instância do ELB morrer e for substituída, o DNS será atualizado em qualquer lugar com bastante rapidez.

    
por 13.07.2014 / 23:32
3

Na verdade, poderia ser um SPoF, mas acredito que seria apenas um SPoF dentro da mesma região.

É por isso que a AWS está sugerindo usar a verificação de integridade do Route 53 para detectar e redirecionar o tráfego que acabaria com um ELB não saudável.

Você pode usar a verificação de integridade do Amazon Route 53 e os recursos de failover de DNS para melhorar a disponibilidade dos aplicativos executados atrás de Elastic Load Balancers. O Route 53 falhará em um balanceador de carga se não houver instâncias EC2 íntegras registradas com o balanceador de carga ou se o próprio balanceador de carga não estiver íntegro .

Fonte: link

    
por 27.06.2014 / 18:04
1

Você pode contornar seu único AZ SPoF criando um grupo de escalonamento automático onde, se o seu único ELB não atender ao fator X, seja por carga, tempo de resposta, etc., um novo ELB será criado. Os ELBs são essencialmente instâncias do EC2 que executam código proprietário da AWS.

    
por 13.07.2014 / 22:46