Servidor web com dimensionamento automático executando vários sites

1

Eu tenho uma instância do EC2 com um servidor da Web instalado, onde vários sites dinâmicos com bancos de dados estão hospedados. Eu configuro um grupo de escalonamento automático que lança novas instâncias em alta carga de CPU.

Minha confusão é que, quando uma nova instância é lançada pelo escalonamento automático, ela fica completamente vazia, ela não tem um servidor da Web instalado e não tem dados dos meus sites. Assim, quando um usuário é roteado para essa nova instância, ele não poderá ver meus sites. Eu pensei que deveria clonar o sistema de arquivos para que novas instâncias tenham os mesmos dados acessíveis de todas as instâncias iniciadas por um grupo de escalonamento automático.

Então, presumo que devo clonar minha instância de alguma forma para usá-la para dimensionamento automático e balanceamento de carga. Então, como faço isso? Devo criar uma AMI da minha instância em execução e usá-la para a configuração de ativação e ela conterá os dados dos meus sites? Ou devo usar algo como o CodeDeployment e será possível implantar vários aplicativos (todos os meus sites) e como isso afetará o tempo de inicialização da instância?

    
por Igor Skoldin 15.11.2017 / 06:15

1 resposta

3

Crie uma AMI no site da Web configurado (instância do EC2). Use essa AMI na sua configuração de ativação. Esse é o método mais simples para iniciar novas instâncias (ou substituídas) com um Grupo de Auto Scaling.

Você também pode configurar seus servidores na inicialização, mas será preciso levar em conta quanto tempo levaria para instalar o software, configurar tudo e esperar que o software seja exibido ao vivo. Para sites simples, isso pode ser muito rápido, mas para sites complicados com bancos de dados, etc., isso pode ser muito longo.

Quando o ASG determina que outra instância é necessária, você deseja que a instância fique on-line o mais rápido possível. Uma AMI pré-configurada é uma boa (ou melhor) solução.

[EDITAR após o comentário de Tim]

As AMI pré-configuradas basicamente exigem que as instâncias do EC2 que são dimensionadas automaticamente sejam "sem estado" ou façam o download de seu estado na inicialização (pense em scripts de dados do User EC2). Bancos de dados geralmente são stateful, então devem ser movidos para fora do ASG. O RDS é um bom serviço gerenciado para bancos de dados. O design final precisa considerar todos os componentes e serviços que seus sistemas fornecem.

    
por 15.11.2017 / 06:39