Replicação de arquivos entre instâncias do EC2

1

Sou muito novo na AWS, então, por favor, desculpe minha ignorância. Estamos querendo ter uma configuração em que temos uma instância do SQL DB + instância do servidor web. No entanto, gostaríamos que o servidor Web se sentasse atrás de um ELB, permitindo-nos usar o Escalonamento automático. Minha pergunta, no entanto, é como replicar o aplicativo da web entre instâncias? Por exemplo, temos dois servidores da Web em execução e precisamos fazer uma atualização crítica para o aplicativo da Web. No final, queremos apenas fazer o upload para uma instância e não para ambas.

É prática recomendada armazenar seu aplicativo da web na instância ou existem maneiras melhores de armazenar e compartilhar o aplicativo entre instâncias?

    
por Peuge 02.12.2012 / 07:56

1 resposta

1

Confira Elastic Beanstalk . Isso faz tudo para você. É um serviço bastante novo da AWS.

O Elastic Beanstalk manipula automaticamente os detalhes de implantação de provisionamento de capacidade, balanceamento de carga, ajuste automático de escala e monitoramento de integridade do aplicativo.

Suporta muitas das linguagens de desenvolvimento web comuns: PHP, .NET, Java, Python e Ruby. Não tenho certeza quais são seus idiomas preferidos, mas se for um dos itens acima, você achará mais fácil implantá-lo a partir do seu IDE (Eclipse ou Visual Studio).

Você ainda pode se conectar às suas instâncias, mesmo que elas tenham sido implantadas com o Beanstalk.

A maneira manual de fazer isso é simplesmente ter sua instância instalada com seu aplicativo, anexado ao EBS. A imagem do seu aplicativo pode ser lançada novamente com mais instâncias. Você terá que fazer algumas alterações nas configurações das diferentes instâncias, usando os campos USER_DATA da instância (novamente, se for muito complexo, procure novamente no Beanstalk ...).

Uma maneira mais automatizada é usar CloudFormation , que é basicamente um script que descreve seus diferentes servidores. Usando este script, você pode iniciar várias instâncias com muita facilidade. Você pode iniciá-los através do console da web ou usando as ferramentas CLI. Eu recomendo usar a biblioteca python de código aberto boto .

Você também pode considerar o uso do S3 para armazenar e compartilhar seus arquivos da web. Você não precisa se preocupar em replicar os arquivos entre as instâncias e também pode atendê-los com CloudFront ou outros serviços CDN .

Outra alternativa é usar o Route 53 , que é o serviço de DNS da AWS, mas tem recursos muito bons que permitem roteamento de seus dados para diferentes servidores da web para testes A / B ou com base na latência de seus servidores (LBR).

    
por 03.12.2012 / 12:18