2012-08-27 10 views
7

Sto creando un'app per iPhone per consentire agli utenti di caricare le foto condivise da &. Attualmente le foto caricate sono memorizzate nel mio server cloud 1 e 1 che ho sottoscritto. Ora voglio provare AWS. Ho sottoscritto un piano gratuito AWS Linux EC2 e configurato php/mysql. La mia domanda è, per scopo di scalabilità, dove dovrei memorizzare le immagini dell'utente: EC2 o S3? E come collegare EC2 con S3 in modo che le foto caricate dall'utente vengano archiviate in S3? La mia comprensione è che quando l'utente carica una foto nella mia istanza EC2, è memorizzata in EC2 e riempirà lo spazio presto poiché ho solo 5 GB di spazio.Come utilizzare AWS S3 per archiviare le immagini caricate dall'utente?

Con una conoscenza limitata di AWS, la mia domanda può sembrare st ** d ma qualsiasi aiuto e consiglio sarà apprezzato!

risposta

6

funzione consente di memorizzare le immagini in S3, i dati memorizzati all'interno delle istanze EC2 non sono persistenti. Utilizza AWS SDK per caricare i dati su S3.

+2

Le istanze EC2 * sono * persistenti se le si creano come volumi backed EBS, cosa che si dovrebbe quasi sempre fare. http://stackoverflow.com/a/3630707/141172 –

+0

Ciao, Michael - Stai dicendo che la mia app dovrebbe chiamare direttamente S3 iOS API per salvare le foto in S3? Ho visto un post che dice che S3 è "consistenza finale", il che significa che dopo un caricamento di foto riuscito, la foto potrebbe non essere immediatamente disponibile per la lettura. Ma l'app per iPhone ha bisogno di leggere la foto dal server per visualizzarla sullo schermo. In questo modo l'app per iPhone interpreterà il caricamento come un "fallimento" e proverà a caricare di nuovo. – 100calorie

+0

Eric - si prega di consultare il seguente http://stackoverflow.com/questions/2288402/should-i-persist-images-on-ebs-or-s3 – 100calorie

5

Per questo caso di utilizzo, utilizzerei S3.

Il vantaggio di utilizzare il supporto S3 per le immagini è che è possibile utilizzare facilmente Amazon's Cloud Front CDN con S3 come origine (è possibile utilizzare anche l'istanza EC2, ma ciò comporta più lavoro).

e come collegare EC2 con S3 in modo utente ha caricato le foto verranno memorizzate in S3

C'è un'API S3 per PHP

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

Problemi correlati