Настройка автоматического масштабирования на EC2
Я новичок в веб-разработке и дизайне (я перешел от разработки, где ответы намного больше), и я пытаюсь построить масштабируемую архитектуру AWS для сайта Wordpress, который живет на бесплатном уровне, но будет наращивать, чтобы удовлетворить спрос, Существует ли единственное решение для экземпляра EC2, позволяющее автоматически масштабировать и клонировать мои веб-серверы, чтобы изменения распространялись по всему уровню без необходимости вручную обновлять каждый экземпляр?
Мой поиск поставил меня на nginx и heartbeat или corosync в качестве возможных программных решений, но я действительно не знаю, где искать, чтобы реализовать это по дешевке.
РЕДАКТИРОВАТЬ: теперь обращаемся к rsync и incron, но приведет ли то, что все экземпляры сервера будут выдвигать изменения, вызовет бесконечный цикл изменений?
2 ответа
Дайте себе "золотой" экземпляр, единственной целью которого является обновление вашего сайта. Когда вы выполняете обновление сайта, запустите экземпляр, обновите свой сайт, остановите экземпляр, а затем создайте свежий образ AMI экземпляра.
Как только вы это сделаете, обновите свою группу автоматического масштабирования, чтобы запустить копии этого нового образа AMI. Завершите экземпляры, которые используют старый образ AMI.
Таким образом, вы обновляете только один экземпляр.
Существует ли единственное решение для экземпляра EC2, позволяющее автоматически масштабировать и клонировать мои веб-серверы, чтобы изменения распространялись по всему уровню без необходимости вручную обновлять каждый экземпляр?
Доступно несколько вариантов, но трудно найти "правильное" решение без дополнительной информации.
Вы можете использовать профессиональные инструменты для управления каждой операционной системой, такие как Puppet или Chef. Это позволяет вам сохранять всю конфигурацию вашего сервера в коде и развертывать изменения на одном или нескольких компьютерах.
Для своего кода приложения вы можете сохранить его в репозитории (git или svn), и в зависимости от того, как вы хотите управлять процессом развертывания, вы можете автоматизировать свои серверы таким образом, чтобы при регистрации в коде это вызывало все серверы для обновления. Команда в SVN будет "svn up".
Конечно, эти варианты могут не подходить вам лучше всего, все зависит от того, чего вы пытаетесь достичь и как вы хотите этого достичь.
С помощью такого решения вы можете в любой момент сделать копию сервера, зарегистрировать ее в режиме АВТО-МАСШТАБ, и когда машина включится, она обновится. Вы можете время от времени обновлять моментальный снимок, чтобы ускорить процесс, но нет необходимости постоянно обновлять его при каждом изменении.