У меня есть небольшой парк серверов EC2, на которых установлено одно и то же приложение nodejs. Развертывание обновления болезненно: создайте новый AMI, отключите старые экземпляры, запустите новые экземпляры.
Можно ли централизовать исходный код node js и обновить его в одном месте для всех экземпляров EC2?
Да. Вероятно, есть много способов сделать это.
Можно поместить код на S3 и заставить скрипт загружать последний исходный код при загрузке экземпляра EC2.
Другой вариант - хранить исходный код на Эластичная файловая система и смонтировать на каждом сервере.
Тогда вам просто нужно автоматизировать обновления и тому подобное. Я не придумал, как автоматизировать обновления ОС, потому что мне это никогда не нужно, но я знаю, что для этого есть поддержка.
Вы также можете попробовать активировать новый экземпляр EC2 и использовать его в качестве выделенного сервера NFS. Это своего рода DIY EFS. К сожалению, производительность Amazon Elastic File System зависит от размера файловой системы, и вы не получите ничего хорошего, пока ваша файловая система не достигнет определенного размера. К сожалению, EFS довольно дорого по сравнению с EBS или S3. Таким образом, выделенный сервер NFS EC2 может быть дешевле.