Как вставить последний код в машины группы автоматического масштабирования
Я пытаюсь запустить производственные серверы на AWS
с участием auto scaling framework
.
Интересно, как я могу развернуть новый опубликованный код на работающих производственных серверах.
Мне все равно down time
В настоящее время.
Я запускаю веб-сервер с nginx
с обратным прокси для puma
Как обычно выполняется эта задача?
Я думаю, что для входа в консоль AWS найдите все IP-адреса серверов и SSH. Обновить кодовую базу и перезапустить веб-сервер puma - не лучший способ поддерживать качество продукта.
CodeDeploy на данный момент имеет действительно хорошую интеграцию с группами ASG. Если вы решите его использовать, просто убедитесь, что вы либо запекаете агент CodeDeploy в AMI вашей ASG, либо используете данные пользователя для установки агента. Если вы используете свой AMI, просто имейте в виду, что вам нужно будет обновлять AMI так часто, чтобы он не перегружался обновлениями.
Существуют также дополнительные сценарии, которые AWS предоставляет для интеграции ASG, которые не позволяют действиям автомасштабирования заменять экземпляр, когда он находится в автономном режиме во время обновления, и, если вы используете ELB, он также отменит его регистрацию, чтобы ELB не отправлял на него трафик. .
http://docs.aws.amazon.com/codedeploy/latest/userguide/auto-scaling-integ.html
Как упоминалось в других плакатах, Elastic Beanstalk также является вариантом.
Интересно, как я могу развернуть новый опубликованный код на работающих производственных серверах.
Легко: нет.
Вместо этого обновите AMI, из которого запускаются экземпляры ASG, или обновите конфигурацию запуска, чтобы включить новый код, который развертывается при загрузке.