é o meu entendimento para aws auto-scale up e load balancer errado?

2

Na verdade, ainda estou um pouco confuso com aws auto scale up e load balancer

Pergunto-me se alguém pode ajudar-me a esclarecer se a minha lógica de compreensão está certa e, em caso afirmativo, seria possível combinar a utilização de auto-scale up e load balancer ?

Quanto a auto-scale up , digamos que eu possa configurar cloudalarm se meu main instance atingir cpu > 90% para a minute , então um novo instance aumentará e o novo instance compartilhará omain instance carga com o new instance para diminuir o uso da CPU. (depois de girar, aws fará o resto por nós) isto é como se eu configurasse a configuração para girar 1 instância até 5 max

Se isso for correto para minha compreensão, o main instance precisa ter exatamente as mesmas configurações do servidor? Nesse caso, isso significa que preciso criar uma imagem do main instance e, a cada vez, se eu atualizar o new image , terei que criar um cloudalarm e, em seguida, alterar o auto-scale up / new image para iniciar o main instance certo?

  1. Se o acima for correto, existe uma maneira melhor de fazer isso? ou então, parece que eu tenho que continuar criando a imagem e mudar as configurações se o load balancer for alterado todos os dias.

Quanto a instances , eu li a documentação e brinquei. Aumente três load balancer , registre todos eles em instances . Todos os 3 são saudáveis e, se eu recarregar a página, ela continuará mudando entre os três load balancer . Se uma instância estiver inoperante, as outras duas estarão em execução.

Se isso também for correto para o meu entendimento, isso significa que preciso ter 2+ as mesmas instâncias em execução e, sempre que implantar, preciso fazer isso em todas as instâncias? Isso não seria muito trabalhoso se eu tivesse muitos servidores e quisesse que todos eles usassem auto-scale up caso o servidor subitamente se tornasse insalubre?

Se os dois entendimentos estiverem corretos, é possível usar de alguma forma cloudalarm com main instance que, se de alguma forma load-balancer não é saudável, crie uma imagem da instância e registre-se no %code% ?

Desculpe pelo problema das leituras, mas me pergunto se estou entendendo errado ou estou pensando demais e ficando confuso.

Obrigado por qualquer conselho e ajuda.

    
por Dora 17.01.2018 / 02:39

1 resposta

4

Quando você está usando o Auto Scaling e o Load Balancing, deseja que todas as instâncias do EC2 sejam idênticas. Então, eles estão todos (a) com base na mesma imagem da AMI e (b) passam pelas mesmas etapas de inicialização para obter o mesmo código e ativos neles. Dessa forma, todos eles responderão da mesma forma com a mesma entrada do seu cliente HTTP.

Para isso, não tente atualizar suas instâncias do EC2 manualmente. Quando você está aumentando e diminuindo, seu trabalho será perdido.

Quando você precisar implantar uma nova versão do seu código, deverá fazer um (ou mais) dos seguintes padrões.

Padrão 1:

  • Implemente seu código em uma instância EC2 "gold" e não faça parte do seu grupo Auto Scaling.
  • Crie uma AMI dessa instância "gold".
  • Atualize seu grupo do Auto Scaling para usar essa nova imagem da AMI.
  • Excluir instâncias antigas do EC2 (que usam a antiga AMI) e substituí-las pela nova instância do EC2 (que usa a nova AMI)

Padrão 2:

  • Baseie seu grupo Auto Scaling a partir de uma imagem AMI "básica"
  • Quando suas instâncias do EC2 são iniciadas pela primeira vez, elas baixam o código-fonte de algum local comum (como o S3)
  • Quando você implanta um novo código, termina as instâncias antigas e lança novas para obter o novo código

Padrão 3:

  • Faça o padrão 2, mas
  • Use uma ferramenta automatizada para implantar seu novo código em sua instância existente do EC2 em vez de terminá-lo

Existem outros padrões, mas estes são alguns comuns que funcionam.

Se você é novo em Auto Scaling e Load Balancing, eu recomendo que você dê uma boa olhada no Elastic Beanstalk. Ele gerenciará todos os itens acima para você, tornando as implantações e atualizações muito mais fáceis.

Algumas notas adicionais:

  • Dependendo do seu aplicativo, pode ser válido usar uma instância do EC2 por trás de um balanceador de carga. Você pode não precisar de mais de 2 instâncias. Você pode ampliar de 1 instância à medida que sua carga aumenta. Você simplesmente perde a alta disponibilidade.
por 17.01.2018 / 04:12