Назад | Перейти на главную страницу

AWS Beanstalk PHP: как хранить файлы между развертываниями?

Как лучше всего хранить динамические или отправленные пользователем файлы между развертываниями? т.е. git aws.push просто удаляет существующий каталог приложения, а затем извлекает новую версию в экземпляр EC2, но мне нужно сохранить некоторые журналы, настройки и отправленные пользователем данные, хранящиеся в файловой системе.

Я собираюсь смонтировать бакет S3, но не могу найти на AWS Beanstalk каких-либо крючков после развертывания для автоматического запуска монтирования S3 ...

Я бы еще раз подумал, почему ваше приложение хранит вещи в локальной системе. Удаление этих файлов при развертывании - только одна проблема. Другая проблема заключается в том, что когда ваше приложение масштабируется до нескольких экземпляров, эти экземпляры не будут знать ни о каких файлах в других экземплярах. Было бы лучше, если бы ваше приложение использовало S3 для всего вашего хранилища или какой-либо другой механизм, который является постоянным и доступным из любого экземпляра, на котором запущено ваше приложение.

Еще одна вещь, о которой следует подумать, - это пользовательские сеансы. Если вы ранее хранили сеансы на сервере, вам также нужно сделать что-то другое. Если запущено более одного экземпляра вашего приложения, данные сеанса будут ненадежными, если вы не сохраните их где-нибудь, доступным для всех экземпляров. Elasticache или DynamoDB могут быть хорошими вариантами для хранения сеансов.