2010-03-20 28 views
16

quiero publicar un sitio web en los servidores de Amazon, que:¿Necesito Amazon EC2, Cloudfront, RDS?

  1. ejecuta CakePHP
  2. usa MySQL para almacenar datos
  3. permite a los usuarios subir audio a través de flash (en la actualidad el uso de un alojada Flash Media Server), y escuchar los archivos más tarde

¿Necesito Amazon EC2 para el sitio web, RDS para la base de datos MySQL y CloudFront para el FMS? Realmente me gustaría un recorrido por los servicios que debería usar.

Gracias.

Respuesta

23

Antes que nada necesitas el servicio EC2 para tener una máquina virtual, donde puedes instalar Apache, PHP y tu aplicación web.

Luego también necesita un servidor de base de datos y un repositorio de datos para los archivos multimedia. La forma recomendada es exactamente lo que sugiere: RDS para MySQL y CloudFront como depósito de archivos.

Inicialmente ninguno de los servicios anteriores (RDS, CloudFront e incluso EBS) estaban disponibles. Los desarrolladores no tienen forma de utilizar una base de datos MySQL, porque incluso si se instaló en una instancia de EC2, no se garantiza que la instancia permanezca activa y si la instancia se pierde, los datos también se pierden. Por esta razón, se introdujo EBS. Creó un almacenamiento montado con persistencia garantizada al que se podía acceder desde la instancia de EC2. En teoría, puede instalar MySQL allí y usarlo para almacenar los archivos flash. Si solo desea servir archivos a través del protocolo HTTP, no hay problemas con EBS.

CloudFront sin embargo tiene algunas ventajas:

  • Los usuarios se dirigen automáticamente a la ubicación borde más cercano para la entrega de alto rendimiento de su contenido.
  • También puede usarlo para transmitir contenido a través del protocolo RTMP.
  • No tiene que preocuparse por el tamaño del almacenamiento. Con EBS, usted crea un almacenamiento con un tamaño específico. Esto podría ser un problema si más tarde descubre que necesita más almacenamiento. Con CloudFront los archivos están instalados en S3 y no necesita preocuparse por su tamaño.
  • No desperdicia la capacidad del servidor web. Si usa EBS, los archivos serán servidos por el servidor en EC2.

También podría usar S3, pero no podría usar el protocolo RTMP y tendría que crear manualmente enlaces a sus archivos. Además, no sería posible usar su nombre de dominio para los archivos.

RDS también tiene algunas ventajas sobre la instalación de MySQL en EC2, EBS:

  • base de datos de copias de seguridad automáticas
  • Puede supervisar su base de datos con Amazon CloudWatch (servicio gratuito)
+0

Genial, gracias, muy útil. – ash

+3

Puedes CNAME un dominio en S3 al igual que con CloudFront. – ceejayoz

0

Necesita EC2 para iniciar la instancia y crear su servidor LAMP. RDS es bueno si no necesita administrar MySql db usted mismo, pero un factor limitante de RDS es que no puede tener replicación de BD.

Para el almacenamiento persistente, puede utilizar EBS o S3 para el archivo de datos.

+0

¿Soporta EBS/S3 servidores/archivos de medios flash? No lo entiendo del todo. – ash

0

Una cosa no mencionado en cualquiera de estas respuestas es la seguridad que puede (o no) necesitar ir alrededor de su acceso a archivos. Las redes en la nube son buenas para los datos de acceso público, pero aún no he visto una red en la nube que proporcione un nivel granular de acceso a archivos por usuario. Si bien es posible que pueda ofuscar las URL para acceder a los archivos, por lo que no es fácil adivinar de forma secuencial las ID de archivos de audio, eso puede no ser suficiente si las personas mantienen el audio privado. No digo que no lo hagas, solo toma la decisión con cuidado.

+0

Cloudfront y S3 tienen soporte para activos "privados", es decir, archivos a los que solo se puede acceder utilizando una url marcada y con marca de tiempo. Los nombres de los archivos ni siquiera tienen que ser aleatorios. –