Precisa de uma recomendação para armazenamento compartilhado em escalonamento automático ec2 w / scalr

2

Eu encontrei tantas respostas para essa pergunta que estou completamente perdida! Estou movendo nossos dois sites para um sistema ec2 com balanceamento de carga com escalr como nosso gerenciador de nuvem. Agora, surge a pergunta sobre armazenamento persistente para o conteúdo enviado pelo usuário e outros arquivos. Alguém poderia me dar uma sugestão e um link para um tutorial para a seguinte configuração e objetivos. 2 sites (1 Fórum, 1 comércio eletrônico). 1 LB 1 servidor de aplicativos (para escalar para quantos forem necessários) 1 servidor de banco de dados (para escalar para quantos forem necessários)

Nossos sites precisarão escalar automaticamente e, de acordo com o que estou aprendendo sobre scalr, isso significa que, à medida que novas instâncias são carregadas, eu preciso executar um script para definir o básico nesse servidor (git, php mods, pull site from git, move keys, etc)

O que não entendo é como lidar com conteúdo enviado por usuários, como fotos de perfil, avatares, imagens de produtos, temas etc.

Monte uma pasta EBS ou s3fs para armazenar os sites (talvez / var / www / websitefolder) ou eu faço algo como montar as pastas de avatar / var / www / websitefolder / images / avatars)

Não sei ao certo para onde ir com isso. Alguém poderia me dar uma ajuda detalhada? -John

    
por john h. 21.10.2012 / 15:14

1 resposta

2

Este é um problema comum quando se muda para o EC2. Suas opções são uma das seguintes:

  1. S3

    • Use s3fs como mencionado, mas você pode sofrer problemas de desempenho
    • Reescreva o aplicativo para armazenar o conteúdo do usuário no S3 em vez de no disco.
      • Seu aplicativo pode fazer proxy da solicitação para S3 ou
      • Você pode fazer com que seu cliente seja enviado diretamente para o S3 usando URLs pré-assinados.
      • O usuário pode ser direcionado para recuperar conteúdo diretamente do S3.
  2. Use um sistema de arquivos em cluster como Gluster.

  3. Use 2 servidores NFS dedicados em Ativo / Passivo usando um back-end de DRBD.

EDIT 20160705

A AWS agora oferece o Elastic File System (EFS) em várias regiões. O EFS é um serviço NFS hospedado, efetivamente fornecendo um NAS como Serviço.

    
por 21.10.2012 / 16:12