Привет! У меня есть такой вопрос. Я использую различные сервисы AWS. Появилась необходимость auto scaling’a. У AWS есть сервис Auto Scaling Groups. Кто-нибудь знаком с ним? Насколько я понял - инстансы поднимаются только из заранее подготовленного AMI образа. Вопрос мой заключается вот в чем - как быть, если я этот AMI сделал сегодня, а завтра код моего приложения изменился, то получается что для новых инстансов нужно пересобрать AMI? Как деплоить приложение если Auto Scaling Group запустил например 3 инстанса?
Здраствуйте! Как вариант попробуйте packer.io . Они предлагают вести инфраструктуру как код. Собственно, packer умеет собирать vagrantbox, docker image, amazon ami. Мы собираем свой ami с уже предустановлеными сервисами и готовым кодом и потом просто указываем етот ami для autoscale. Или можна запустить руками. Или через aws cli. Или есть terraform . Мы используем terraform.
Вот маленький пример: github/rabbitmq-infrastucture-example
ну можно просто при запуске на инстансе делать git pull и будет у вас последнее приложение
ну или beanstalk заюзать он умеет сам деплоить из гита или можно архивом туда заливать
За beanstalk спасибо, похоже на правду. По-поводу git pull - это хорошо, но что делать когда нужно раздеплоить новый релиз на все запущенные инстансы? Допустим инструмен для деплоя умеет параллельно деплоить на несколько хостов. Но как узнать адреса этих хостов? aws-cli?