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

Не знаете, как масштабируется Elastic Beanstalk / EC2?

Я установил среду PHP Elastic Beanstalk.

На экземпляре EC2 я установил несколько других пакетов, включая PhpMyAdmin, и внес в экземпляр различные изменения, чтобы получить нужную мне конфигурацию. Я также загрузил все файлы своего сайта в /var/www/html.

Но я не понимаю, как все это масштабируется. Допустим, производительность моего единственного экземпляра достигает пика, и AWS определяет, что мне нужен второй экземпляр, чтобы удовлетворить спрос.

Как Elastic Beanstalk создает второй экземпляр моего сервера EC2 вместе с PhpMyAdmin (и другими пакетами), а также все файлы моего веб-сайта в /var/www/html?

Могу ли я иметь два сервера с PhpMyAdmin и файлами моего сайта? Как он узнает, как переустановить PhpMyAdmin на втором экземпляре и настроить его так же, как настроен мой первый экземпляр?

Спасибо.

При использовании Elastic Beanstalk и / или Auto Scaling (EB использует Auto Scaling под капотом), если вы делаете что-либо вручную с экземплярами EC2, эти изменения не будет волшебным образом распространяться на другие экземпляры EC2.

Таким образом, PhpAdmin не будет автоматически установлен на других экземплярах EC2, и если вы вручную загрузили свое приложение PHP в /var/www/html, тогда это тоже будет потеряно.

При использовании Elastic Beanstalk необходимо помнить, что:

  • Ваш единственный экземпляр EC2 может быть заменен в любое время. Таким образом, любые ручные изменения, внесенные вами в экземпляры, исчезнут.
  • Любые дополнительные инстансы EC2, добавленные посредством увеличения, не будут иметь этих изменений вручную.
  • При запуске все экземпляры EC2 будут иметь конфигурацию по умолчанию: (a) базовый EB AMI + (b) версия приложения PHP, развернутая через EB (не вручную).

Итак, всегда делайте следующее:

  • Развертывайте все версии вашего PHP-приложения через интерфейс Elastic Beanstalk, а не вручную.
  • Храните все данные вне экземпляра. Это означает, что все файлы базы данных, загруженные пользовательские данные и т. Д. Должны находиться в S3, RDS или каком-либо другом носителе за пределами вашей группы автоматического масштабирования Elastic Beanstalk. На ваших экземплярах EC2 должен быть только исходный код веб-сервера и / или развертываемые объекты.
  • Настройте свои инстансы EC2 с помощью .ebextensions файлы.

Дополнительные ресурсы: