У меня есть экземпляр EC2 с установленным веб-сервером, на котором размещено несколько динамических веб-сайтов с базами данных. Я создал группу автоматического масштабирования, которая запускает новые экземпляры при высокой загрузке процессора.
Меня беспокоит то, что когда новый экземпляр запускается с помощью автоматического масштабирования, он полностью пустой, на нем не установлен веб-сервер и нет данных с моих сайтов. Поэтому, когда пользователь перенаправляется на этот новый экземпляр, он не сможет видеть мои сайты. Я подумал, что следует клонировать файловую систему для новых экземпляров, чтобы одни и те же данные были доступны из всех экземпляров, запущенных группой автоматического масштабирования.
Поэтому я предполагаю, что я должен каким-то образом клонировать свой экземпляр, чтобы использовать его для автоматического масштабирования и балансировки нагрузки. Так как мне это сделать? Должен ли я создать AMI из моего запущенного экземпляра и использовать его для моей конфигурации запуска, и будет ли он содержать данные моих веб-сайтов? Или мне следует использовать что-то вроде CodeDeployment, и можно ли будет развернуть несколько приложений (все мои веб-сайты) и как это повлияет на время запуска экземпляра?
Создайте AMI на своем настроенном веб-сайте (экземпляр EC2). Используйте этот AMI в своей конфигурации запуска. Это простейший способ запуска новых (или замененных) экземпляров с помощью группы автоматического масштабирования.
Вы также можете настроить свои серверы при запуске, но вам нужно будет учитывать, сколько времени потребуется, чтобы установить программное обеспечение, настроить все и дождаться запуска программного обеспечения. Для простых веб-сайтов это может быть очень быстро, но для сложных веб-сайтов с базами данных и т. Д. Это может быть слишком длинным.
Когда ASG определяет, что требуется еще один экземпляр, вы хотите, чтобы он как можно быстрее подключился к сети. Предварительно настроенный AMI - хорошее (или лучшее) решение.
[ИЗМЕНИТЬ после комментария Тима]
Предварительно настроенные AMI в основном требуют, чтобы ваши экземпляры EC2 с автоматическим масштабированием были «без сохранения состояния» или загружали свое состояние при запуске (подумайте о сценариях EC2 Userdata). Базы данных, как правило, отслеживают состояние, поэтому их следует переместить за пределы ASG. RDS - это хороший управляемый сервис для баз данных. Окончательный проект должен учитывать все компоненты и услуги, предоставляемые вашими системами.