Como devo implantar um servidor web no Amazon EC2?

1

Eu tenho um site pequeno que queremos implantar no Amazon EC2. A razão é que é mais barato que a maioria dos outros sistemas VPS, e nós queremos ter uma configuração completamente personalizada para que um host compartilhado não seja uma possibilidade. Além disso, a opção de escalar para um servidor maior com as mesmas imagens é uma das razões para ir para o EC2.

Como começamos com uma instância t1.micro, usaremos instâncias inicializadas do EBS (x64_64). Nosso sistema operacional de escolha é o Ubuntu Server. Nós não compilamos nenhum pacote, ficando com pacotes estáveis dos repositórios.

Todos os dados do nosso servidor web são armazenados em outro volume de dados do EBS.

Agora, a pergunta: como podemos implantar melhor o nosso servidor da Web, mantendo os dados atualizados.

As opções que considerei até agora:

  • Criando nossa própria imagem com todo o software que precisamos instalar.
    • Desvantagem: temos que atualizar regularmente a imagem para ter uma imagem atualizada de segurança quando reiniciarmos um servidor. Além disso, quando mudamos para uma nova versão da distribuição, temos que instalar tudo de novo.
    • Vantagem: não há tempo necessário ao iniciar o servidor para quaisquer procedimentos de instalação
  • Usando imagens padrão do Ubuntu e, na inicialização, instala todos os servidores e copia todos os arquivos de configuração não padrão do disco de dados
    • Desvantagens: o tempo de inicialização é mais demorado, possivelmente, as coisas podem dar errado com a instalação, portanto, propenso a erros
    • Vantagens: Nova distribuição ou imagens atualizadas podem ser usadas com muita facilidade

Qual é a melhor maneira de fazer isso? Existem boas opções que eu perdi, ou existem outros aspectos para minhas opções que eu não considerei?

    
por Peter Smit 26.10.2010 / 15:09

3 respostas

2

Nós usamos Tecido e libcloud para escrever scripts python que podem chamar api's para criar um servidor, instalar todo o software necessário e alterar as configurações. Leva um pouco mais de tempo toda vez que criamos um servidor do que se tivéssemos uma imagem de disco, mas achamos que a simplicidade de não ter que construir muitas imagens é muito melhor.

Certifique-se de que todos esses arquivos estão no seu VCS (incluindo arquivos de configuração) para que você possa essencialmente usá-los como documentação para a aparência de sua configuração. Então, girar um novo servidor pode ser tão simples quanto

fab create_server:server_type=webserver
    
por 26.10.2010 / 17:41
1

Confira o Chef e o serviço hospedado do OpsCode. Chef permite que você automatize sua implantação e configuração. O chef-client é executado no servidor como um daemon e pode atualizar pacotes para você, se desejar.

Fabric também é ótimo, usamos principalmente para manipular servidores ativos.

    
por 26.10.2010 / 18:39
1

Eu criei minha própria AMI que já tem a pilha LAMP e todos os aplicativos instalados. Eu acompanho todas as alterações e, quando tenho o suficiente, atualizo a imagem. Eu tenho os arquivos de configuração apache, mysql e php e os bancos de dados mysql linkados para o EBS. Isso me permite não ter que rastrear essas alterações e elas são capturadas quando eu anexar um instantâneo atual à nova instância.

    
por 26.10.2010 / 18:42