Construindo meu serviço da Web no EC2 agora e ter uma única instância atrás de um balanceador de carga. É claro que vou atender a várias instâncias.
Minha idéia inicial era executar todas as instâncias como escravas idiotas e usar o S3 como armazenamento local. Para isso, comecei a usar o S3FS, mas, pelo que vi, não está realmente pronto para uso em produção em um ambiente de serviço da web. A gravação dos logs parece parecer muito tarde, se não nunca. Inúmeros problemas com o cache estranho, mesmo sem sinalizadores de cache, etc. Geralmente, é um pesadelo para se desenvolver.
Mas, as alternativas parecem poucas. Um deles é obviamente os volumes EBS, que podem ser anexados a uma única instância. Algumas soluções para compartilhar isso: -
- Compartilhamento de SMB para outras instâncias. Ter um mestre e os demais escravos - obv precisa de redundância aqui com talvez vários volumes EBS?
- Rsync compartilhando com outras caixas. Isso parece doloroso, considerando que não é persistente e será atualizado periodicamente. Possivelmente ok, se houver forçando scripts para atualizar quando grandes alterações ocorrerem.
A questão é ... o que as pessoas fazem? Parece um caso de uso totalmente comum, mas a variedade de respostas encontradas nos fóruns e até aqui no SF parece sugerir que não há uma resposta concisa ... é preciso ajuda!
Um volume EBS direcionado para o S3 / CloudFront parece ser a melhor opção aqui, especialmente se você estiver preocupado com imagens, CSS, javascript, esse tipo de coisa.
O EBS será mais fácil de fazer snapshot / backup do que o S3, especialmente para o sistema de arquivos do servidor.
Você também pode designar um servidor como "mestre" e outro como "escravo" e apenas fazer alterações no "mestre", por exemplo.
Quanto ao registro, dê uma olhada em alguns dos serviços de registro em nuvem, como http://loggly.com/ ou https://papertrailapp.com/ .
HTH
fonte