AWS Beanstalk PHP: как хранить файлы между развертываниями?
Как лучше хранить динамические или пользовательские файлы между развертываниями? т.е. git aws.push
просто удаляет существующий каталог приложения, а затем извлекает новую версию в экземпляр EC2, но мне нужно сохранить некоторые журналы, настройки и данные, отправленные пользователем, в файловой системе.
Я собираюсь смонтировать S3 bucket, но я не могу найти никаких перехватов после развертывания на AWS Beanstalk для автоматического запуска S3...
1 ответ
Я бы переосмыслил, почему ваше приложение сначала хранит данные в локальной системе. Удаление этих файлов при развертывании - только одна проблема. Другая проблема заключается в том, что когда ваше приложение масштабируется до нескольких экземпляров, эти экземпляры не будут знать ни о одном из файлов в других экземплярах. Было бы лучше, чтобы ваше приложение использовало S3 для всего вашего хранилища или использовало какой-то другой механизм, который является постоянным и доступным из любого экземпляра, на котором запущено ваше приложение.
Еще одна вещь, чтобы думать о пользовательских сессиях. Если вы ранее хранили сеансы на сервере, то вам также нужно сделать что-то другое. Если запущено несколько экземпляров вашего приложения, данные сеанса будут ненадежными, если вы не сохраните их в месте, доступном для всех экземпляров. Elasticache или DynamoDB могут быть хорошими вариантами для хранения сессии.