2012-08-27 43 views
7

Estoy creando una aplicación de iPhone para permitir a los usuarios cargar & compartir fotos. Actualmente, las fotos cargadas se almacenan en mi servidor de nube 1and1 que suscribí. Ahora quiero probar AWS. Me he suscrito a un nivel gratuito AWS Linux EC2 y configuré php/mysql. Mi pregunta es, para fines de escalabilidad, ¿dónde debería almacenar imágenes de usuario: EC2 o S3? ¿Y cómo conectar EC2 con S3 para que las fotos cargadas por el usuario se almacenen en S3? Según entiendo, cuando el usuario carga una fotografía en mi instancia de EC2, se almacena en EC2 y pronto ocupará el espacio, ya que tengo solo 5 GB de espacio.¿Cómo uso AWS S3 para almacenar imágenes cargadas por el usuario?

Con conocimiento limitado de AWS, mi pregunta puede sonar bien pero cualquier ayuda y consejo será apreciado.

Respuesta

6

Debe almacenar sus imágenes en S3, los datos almacenados en sus instancias EC2 no son persistentes. Use AWS SDK para cargar datos en S3.

+2

Las instancias EC2 * son * persistentes si las crea como volúmenes respaldados por EBS, lo que casi siempre debería hacer. http://stackoverflow.com/a/3630707/141172 –

+0

Hola, Michael: ¿Estás diciendo que mi aplicación debería llamar directamente a la API S3 iOS para guardar fotos en S3? Vi una publicación que decía que S3 es "consistencia eventual", lo que significa que después de una carga exitosa de la foto, es posible que la foto no esté inmediatamente disponible para su lectura. Pero la aplicación iPhone necesita leer la foto del servidor para mostrarla en la pantalla de inmediato. De esta forma, la aplicación de iPhone interpretará la carga como un "error" e intentará volver a cargarla. – 100calorie

+0

Eric: compruebe lo siguiente http://stackoverflow.com/questions/2288402/should-i-persist-images-on-ebs-or-s3 – 100calorie

5

Para este caso de uso, utilizaría S3.

La ventaja de utilizar el respaldo S3 para sus imágenes es que puede usar fácilmente Amazon's Cloud Front CDN con S3 como origen (también puede usar su instancia EC2, pero eso implica más trabajo).

y cómo conectar EC2 con S3 para que el usuario Fotos subidas serán almacenados en S3

Existe una API S3 para PHP

http://aws.amazon.com/sdkforphp/

Cuestiones relacionadas