EC2 - Armazenamento compartilhado - S3FS ou EBS?

9

Construindo meu serviço da web no EC2 agora mesmo e tenho uma única instância por trás de um balanceador de carga. Eu irei, claro, atender a várias instâncias.

Minha ideia inicial era executar todas as instâncias de escravos estúpidos e usar o S3 como armazenamento local. Para isso, comecei a usar o S3FS, mas ele não está realmente pronto, pelo que vi, para uso em produção em um ambiente de serviço da web. Escrever troncos parece aparecer muito tarde, se não nunca. Numerosos problemas com caching ímpar, mesmo sem nenhum sinalizador de cache, etc. Simplesmente um pesadelo para se desenvolver.

Mas as alternativas parecem poucas. Um é obviamente os volumes do EBS, que podem ser anexados a uma única instância. Algumas soluções para compartilhar isso: -

  • Compartilhamento SMB para outras instâncias. Ter um mestre e os outros escravos - obv precisa de redundância embutido aqui com vários volumes de EBS, talvez?
  • Compartilhamento de rsync para outras caixas. Isso parece doloroso, considerando que não é persistente e será atualizado periodicamente. Potencialmente ok, se houver forçar scripts a serem atualizados quando mudanças importantes acontecerem.

A pergunta é ... o que as pessoas fazem? Parece um caso de uso totalmente comum, mas a variedade de respostas encontradas em fóruns e até aqui no SF, parece sugerir que não há uma resposta concisa ... help wanted!

    
por waxical 26.10.2011 / 13:53

2 respostas

0

Isso porque há muitas respostas, dependendo da sua familiaridade com as opções, com o que você se sente confortável, com o que está compartilhando e com a frequência com que vai ser sincronizado, com o quanto "sincronizado" precisa ser como eles serão utilizados (sobressalente para pulsação? Somente leitura versus uma instância de gravação? Instâncias balanceadas?) e quão complicada você deseja que a configuração seja e qual aplicativo você está usando (bancos de dados que podem se sincronizar? Aplicativos construídos para armazenamento compartilhado? ...)

Você pode usar o Rsync para agendar sincronizações, compartilhamentos de um servidor de arquivos, servidor NFS, DRBD "software RAID 1", etc ... depende do seu caso de uso específico e de como você está fazendo o backup dos dados.

A resposta curta é que não há resposta para sua pergunta porque depende do caso de uso.

    
por 26.10.2011 / 14:53
2

Um volume do EBS que envia para o S3 / CloudFront parece ser a melhor jogada aqui, especialmente se você estiver preocupado com imagens, CSS, javascript, esse tipo de coisa.

O EBS será mais fácil de 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 link ou link .

HTH

    
por 24.01.2012 / 06:19