Pergunta

Quero publicar um site nos servidores da Amazon, que:

  1. Executa CakePhp
  2. Usa o mysql para armazenar dados
  3. Permite que os usuários enviem o áudio através do Flash (atualmente usando um servidor de mídia flash hospedado) e ouça os arquivos posteriormente

Preciso de EC2 da Amazon para o site, RDS para o banco de dados MySQL e CloudFront para o FMS? Eu realmente gostaria de um passo a passo de quais serviços eu deveria usar.

Obrigado.

Foi útil?

Solução

Antes de tudo, você precisa do serviço EC2 para ter uma máquina virtual, onde você pode instalar o Apache, o PHP e seu aplicativo da Web.

Em seguida, você também precisa de um servidor de banco de dados e repositório de dados para os arquivos de mídia. A maneira recomendada é exatamente o que você sugere: RDS para MySQL e CloudFront como o repositório de arquivos.

Inicialmente, nenhum dos serviços acima (RDS, Cloudfront e até EBS) estava disponível. Os desenvolvedores não têm como usar um banco de dados MySQL, porque mesmo que tenha sido instalado em uma instância do EC2, a instância não é garantida para permanecer em funcionamento e, se a instância for perdida, os dados também serão perdidos. Por esse motivo, o EBS foi introduzido. Ele criou um armazenamento montado com persistência garantida que você poderia acessar na instância do EC2. Teoricamente, você pode instalar o MySQL lá e usá -lo para armazenar os arquivos flash. Se você deseja servir apenas arquivos através do protocolo HTTP, não há problema em usar o EBS.

O CloudFront, no entanto, tem algumas vantagens:

  • Os usuários são roteados automaticamente para o local da borda mais próximo para entrega de alto desempenho do seu conteúdo.
  • Você também pode usá -lo para transmitir conteúdo através do protocolo RTMP.
  • Você não precisa se preocupar com o tamanho do armazenamento. Com o EBS, você cria um armazenamento com um tamanho específico. Isso pode ser um problema se você descobrir mais tarde que precisa de mais armazenamento. Com o CloudFront, os arquivos estão instalados no S3 e você não precisa se preocupar com o tamanho deles.
  • Você não desperdice a capacidade do servidor da Web. Se você usar o EBS, os arquivos serão servidos pelo servidor no EC2.

Você também pode usar o S3, mas não seria capaz de usar o protocolo RTMP e precisaria criar manualmente links para seus arquivos. Além disso, não seria possível usar seu nome de domínio para os arquivos.

O RDS também tem algumas vantagens sobre a instalação do MySQL no EC2, EBS:

  • Backups automatizados de banco de dados
  • Você pode monitorar seu banco de dados com a Amazon CloudWatch (serviço gratuito)

Outras dicas

Você precisa do EC2 para iniciar a instância e criar seu servidor de lâmpadas. O RDS é bom se você não precisar gerenciar o MySQL DB, mas um fator limitador de RDS é que você não pode ter replicação de banco de dados.

Para armazenamento persistente, você pode usar o EBS ou S3 para arquivo de dados.

Uma coisa que não é mencionada em nenhuma dessas respostas é a segurança que pode (ou não) precisar contornar o acesso ao arquivo. As redes em nuvem são boas para dados acessíveis ao público, mas ainda não vi uma rede em nuvem que fornecerá um nível granular de acesso ao arquivo por usuário. Embora você possa ofuscar os URLs para acessar arquivos para que não seja fácil adivinhar sequencialmente IDs de arquivo de áudio, isso pode não ser suficiente se as pessoas mantiverem o áudio privado. Não estou dizendo, não faça isso, apenas tome a decisão com cuidado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top