Лучшие практики для веб-приложений в AWS

В настоящее время я начинаю разработку веб-приложения для школы, которое будет служить своего рода базой данных плана уроков для преподавателей, которые будут искать, загружать и скачивать файлы для плана урока. У меня есть настроенный экземпляр EC2 для сборки моего приложения PHP, и мой RDS развернут для моего MySQL.

Я медленно изучаю PHP для вещей, которые мне нужно включить на веб-странице нашего клиента, но, поскольку я занимаюсь дополнительными исследованиями, я вижу другие методы, такие как использование Elastic-Beanstalk, хост с хранилищем S3, Dynamo … Я думал, что в целом знаю с чего начать, но я думаю, что я немного растерялся, как это сделать, не заставляя меня и голову клиента вертеться.

Наше приложение хочет несколько отразить эту настройку, но я не думаю, что мы будем использовать флэш-приложение: http://spirit.unomaha.edu/

Есть какие-нибудь рекомендации, как к этому подойти?
Более конкретно, как мне заставить PHP общаться с EC2 и разрешать загрузку файлов в этом сегменте? То есть я хочу, чтобы файл, хранящийся в AWS, не являлся временной папкой.

Любая помощь приветствуется!

0

Решение

Я предполагаю, что вы говорите о загрузке файла в S3, а не в корзину в EC2.

Вот документация для PHP SDK (и, в частности, часть, которую вы бы использовали для загрузки файлов на S3):
http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html

Что касается вашей настройки, самый простой способ — запустить приложение в Elastic Beanstalk, использовать RDS для базы данных и S3 для хранения.

Но запуск приложения на экземпляре EC2 с RDS для базы данных и S3 для хранения будет работать так же хорошо, но с вашей стороны это потребует немного больше работы, если вы хотите воспользоваться функциями автоматического масштабирования AWS.

Вот как вы можете загрузить файл на S3 из своего приложения:

    $s3 = S3Client::factory(array(
'key' => 'YOUR_KEY',
'secret' => 'YOUR_SECRET'
));
$result = $s3->putObject(array(
'Bucket' => 'MyBucket',
'Key' => 'myFolder/myFile.txt',
'SourceFile' => '/path/to/temp/upload/file',
'ACL' => 'private' // Access config
));
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector