Запуск Продукты Bitnami Документацияimaxe CLI Блог Контакты

Как перейти на новый AMI без остановки сервиса

Обновление образа, на котором держится ваш сервис, не обязано означать бессонную ночь и страницу техобслуживания. При верной стратегии вы меняете AMI без простоя, и задняя передача всегда под рукой.

Рычаг стрелочного перевода рядом с железнодорожным путём
Рычаг стрелочного перевода рядом с железнодорожным путём Фото: W.carter · Общественное достояние · Wikimedia Commons

Сменить AMI, на котором работают ваши инстансы, — всё равно что менять фундамент сервиса, пока он продолжает работать. Сделать это плохо — получить простой; сделать хорошо — остаться почти незаметным для пользователя. Хорошая новость: есть проверенные шаблоны, делающие такую миграцию безопасной и обратимой.

Общая основа — не править живые инстансы, а запускать новые инстансы с новым AMI и переводить трафик под контролем.

Перед миграцией: подготовьте почву

  • Проверьте новый AMI на staging, идентичном продакшену.
  • Надёжные health-check: задайте проверки, подтверждающие, что новый инстанс действительно здоров.
  • План отката: держите наготове предыдущую версию и процедуру возврата к ней.
  • Наблюдаемость: метрики и алерты, чтобы мгновенно замечать регрессии.

Стратегии миграции без простоя

СтратегияКак работаетИдеальна для
Rolling updateЗаменяет инстансы партиями, понемногуСервисов в Auto Scaling Group
Blue/GreenПоднимаете новую среду и разом переключаете трафикМиграций с мгновенным откатом
CanaryНаправляете небольшой процент трафика на новую версиюПроверки в продакшене с низким риском

Три шаблона смены AMI без остановки сервиса.

Rolling update

Вы обновляете Launch Template новым AMI, и Auto Scaling Group заменяет инстансы волнами: поднимает новые, ждёт прохождения health-check и выводит старые. Просто и без дополнительной инфраструктуры, хотя какое-то время сосуществуют обе версии.

Blue/Green

Вы поднимаете параллельную среду (green) с новым AMI, пока текущая (blue) продолжает обслуживать. Когда green проверен, вы перенаправляете трафик на балансировщике или в DNS. Если что-то пойдёт не так, вернётесь на blue за секунды. Это шаблон с самым быстрым откатом ценой временного удвоения ресурсов.

Canary

Вы отправляете небольшую долю трафика на инстансы с новым AMI и наблюдаете. Если метрики держатся, постепенно поднимаете долю до 100 %. Это минимизирует радиус поражения при неожиданной проблеме.

После миграции

  • Понаблюдайте за метриками и логами разумное время, прежде чем счесть миграцию удачной.
  • Пометьте старый AMI как устаревший, чтобы его не запустили по ошибке.
  • Задокументируйте развёрнутую версию и причину изменения.
  • Не удаляйте предыдущий образ сразу: сохраните его на случай отката.

Часто задаваемые вопросы

Какая стратегия лучше для нулевого простоя?

Blue/Green даёт самый быстрый откат; rolling update проще и дешевле; canary снижает риск, проверяя в продакшене. Выбор зависит от вашей терпимости к риску и бюджета на инфраструктуру.

Нужно ли удваивать инфраструктуру для миграции?

Только при blue/green, и то временно. С rolling update или canary вы используете ту же группу и постепенно заменяете инстансы, не дублируя всю среду.

Как гарантировать возможность вернуться?

Сохраните предыдущий AMI и его Launch Template, задайте надёжные health-check и протестируйте процедуру отката до начала миграции.

В imaxe.cloud мы версионируем свои образы, чтобы переход между версиями был предсказуемым и обратимым.

blue/greenrolling updatecanaryauto scalingразвёртывание
IM

Команда imaxe

Мы создаём и поддерживаем AMI каталога. Когда мы публикуем версию, мы используем её в продакшене раньше всех.

Из каталога

AMI по теме статьи

Продолжайте читать

Похожие статьи