Надеюсь, кто-то может указать мне. Google не дает ничего, что просто понять (есть такие вещи, как Pheanstalk и т. Д.), И Собственная документация Amazon по Beanstalk как всегда печально загадочно предполагать, что мы используем Laravel или Symfony2.
У нас есть простой набор из 10 PHP-скриптов, составляющих весь наш «сайт», с быстрым функциональным программированием. В нашем тестировании это было намного быстрее, чем делать то же самое с ненужным ООП. В любом случае, с PHP 7 мы очень довольны простым функциональным кодом, который у нас есть.
Мы могли бы пойти по маршруту EC2. Нагрузка на два сервера EC2 сбалансирована с помощью ELB. На обоих серверах EC2 просто Nginx работает с PHP-FPM и вызывает данные RDS для данных (ElastiCache для некоторой скорости кэширования запросов только для чтения).
Однако идея состоит в том, чтобы снизить затраты на управление для EC2, полагаясь на Beanstalk для простой обработки, которая необходима в этих 10 PHP-скриптах.
Думаем ли мы правильный путь? Легко ли «загружать» скрипты в Beanstalk так, как мы делаем в EC2 через SSH или SFTP? Или это только программно доступно через git и т. Д.?
Вы можете легко скопировать свою среду EC2 в Elastic Beanstalk, используя контейнеры Docker.
Создайте Docker-контейнер, содержащий необходимые пакеты (nginx и т. Д.), Любые файлы конфигурации и ваши PHP-скрипты. Затем вы развернете контейнер в Beanstalk.
С Beanstalk вы можете определить переменные среды которые передаются в базовые экземпляры EC2, где запущено ваше приложение. Как правило, можно использовать переменные среды для передачи, например, имени хоста RDS, имени пользователя и пароля в приложение Beanstalk.
Кроме того, вы можете хранить Dockerfile, файлы конфигурации и скрипты в вашем git-репозитории для контроля версий и извлекать их при каждом создании контейнера.
См. Документацию AWS о развертывание приложения beanstalk из контейнеров Docker.
Других решений пока нет …