Гид по технологиям

Обновление EC2-инстанса в AWS: минимум простоев

5 min read Облако Обновлено 22 Nov 2025
Обновление EC2-инстанса в AWS
Обновление EC2-инстанса в AWS

Логотип AWS

Быстрые ссылки

  • Рассмотрите Auto Scaling или балансировщик нагрузки

  • Обновление EC2 с минимальным простоем

  • Обновление EC2 без простоев

Вы можете свободно обновлять или понижать on-demand EC2-инстансы. Если текущая машина не справляется с нагрузкой, переход на более мощный тип или класс инстансов поможет приложению работать стабильнее.

Рассмотрите Auto Scaling или балансировщик нагрузки

Auto Scaling — это автоматическое масштабирование количества инстансов по метрикам (CPU, память и т.д.). Load Balancer — сетевой компонент, который равномерно распределяет трафик между инстансами.

Если ваша нагрузка пиковая и она наблюдается лишь в отдельные часы, постоянный большой инстанс будет дорогим решением. Auto Scaling позволяет увеличивать и уменьшать пул машин по мере нужды. Балансировщик нагрузки (обычно ALB или NLB) распределит трафик и обеспечит отказоустойчивость.

Важно: если у вас зарезервированные (reserved) инстансы, переключение между типами может быть ограничено. Convertible Reserved Instances можно обменивать на другие типы, стандартные — нет.

Примечание: вы не обязаны использовать Auto Scaling вместе с балансировщиком — но сочетание даёт гибкость и резервирование.

Обновление EC2 с минимальным простоем

Когда простое выключение инстанса допустимо, самый простой способ — остановить, сменить тип и запустить заново. Это займёт несколько минут и подойдёт для ночного обслуживания или для инстансов вне пиков.

Шаги (минимальный простой):

  1. Откройте EC2 Management Console.
  2. Выберите инстанс, затем Instance State > Stop и дождитесь статуса stopped.

Остановите инстанс через EC2 Management Console

  1. Выберите Instance Settings > Change Instance Type.

Выберите Instance Settings > Change Instance Type

  1. В диалоге укажите новый тип инстанса и подтвердите.

Выберите новый тип инстанса в диалоге

  1. После изменения: Instance State > Start.

Если у вас несколько инстансов за балансировщиком — обновляйте поочерёдно, чтобы приложение оставалось доступным.

Краткое определение: Stop — безопасная остановка ОС; Start — запуск. Изменение типа требует состояния stopped.

Обновление EC2 без простоев

Для нулевого простоя воспользуйтесь blue/green deployment. Идея: создайте новую инстансу нужного типа, подготовьте конфигурацию и переключите трафик на неё.

Пошаговый план (zero downtime):

  1. Подготовьте конфигурацию целевой инстансы. Лучше всего иметь автоматизированный build script или custom AMI.
  2. Если нет готового AMI, создайте image текущего инстанса и запустите новую инстансу из неё.
  • В консоли: правый клик на инстансе > Image > Create Image.

Создайте AMI из запущенного инстанса

  • В разделе AMIs выберите созданный образ и нажмите Launch.
  1. Настройте новую инстансу (проверка зависимостей, конфигурация приложений, health checks).
  2. Переключите сетевой трафик. Проще всего — изменить ассоциацию Elastic IP (EIP) на новую инстансу.
  • В консоли: Elastic IP > Associate Elastic IP Address, укажите новую инстансу.

Измените ассоциацию Elastic IP на новую инстансу

  • Выберите инстанс и нажмите Associate.

Выберите новую инстансу для ассоциации EIP

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

Опции переключения трафика: EIP, изменение записи в DNS с учётом TTL, переключение target group у балансировщика.

Когда такой подход не сработает

  • Stateful-приложения с локальным хранилищем данных (например, базы на локальном диске) потребуют отдельной миграции данных.
  • Если вы используете привязанные локальные IP или специфичные сетевые настройки, простая смена EIP может быть недостаточной.
  • Если у вас зарезервированные инстансы, вы ограничены контрактом.

Альтернативные подходы

  • Миграция на Auto Scaling Group с immutable deployments. Создаёте новую ASG с новым launch template и делаете переключение через нагрузочный балансировщик.
  • Контейнеризация приложения (ECS/EKS) — масштабирование и обновления управляются на уровне контейнеров.
  • Использование AWS Systems Manager для применения изменений конфигурации без ручной подготовки AMI.

Чек-лист перед обновлением

  • Резервная копия данных и снимок томов (EBS snapshot).
  • Проверка зависимости (drivers, kernel modules, ENA поддержка для нового типа).
  • Тестовый запуск новой инстансы в staging.
  • Задайте health check и мониторинг (CloudWatch).
  • Подготовьте план отката: как быстро вернуть трафик на старую инстансу.

Критерии приёмки

  • Новая инстанса проходит health checks в течение X минут.
  • Производительность (latency, CPU/memory) соответствует или лучше, чем у старой.
  • Нет ошибок в логах приложения в течение заданного окна после переключения.

Мини-методология (SOP) для обновления с нулевым простоем

  1. Подготовка: создать AMI или build-скрипт.
  2. Развертывание: запустить новую инстансу, провести smoke tests.
  3. Переключение: изменить ассоциацию EIP или обновить target group.
  4. Наблюдение: мониторинг 15–30 минут за метриками и логами.
  5. Откат: при критических проблемах вернуть EIP/target group на старую инстансу.
  6. Удаление: корректно завершить старую инстансу и удалить ненужные AMI/EBS snapshots.

Роли и задачи (кто что делает)

  • DevOps: создаёт AMI, настраивает мониторинг, выполняет переключение EIP.
  • Разработчики: проверяют совместимость приложения и драйверов с новой инстансой.
  • QA: проводит smoke и regression тесты на новой инстансе.
  • Менеджмент: даёт окно для изменения в случае влияния на SLA.

Риски и меры снижения

  • Несовместимость драйверов -> тестировать в staging и иметь откат.
  • Потеря данных при ошибке миграции -> делать EBS snapshots и бэкапы.
  • DNS-кэширование клиентов -> использовать низкий TTL перед переключением.

Короткий глоссарий

  • Auto Scaling: автоматическое изменение числа инстансов по метрикам.
  • Load Balancer: компонент, распределяющий входящий трафик между инстансами.
  • Elastic IP (EIP): статический IP, который можно ассоциировать с инстансой.
  • AMI: образ машины для запуска новых инстансов.

Итог

Обновление типа EC2-инстанса — простая задача при правильной подготовке. Для минимизации затрат сначала подумайте об Auto Scaling и балансировщике. Если требуется нулевой простой — применяйте blue/green: создайте новую инстансу, переключите EIP или target group и удалите старую инстансу после проверки.

Важно: всегда тестируйте шаги в staging и имейте план отката.

Ключевые шаги: создать AMI, развернуть новую инстансу, переключить трафик, следить за метриками, удалить старую инстансу.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Исправить ошибку «Oops! Something went wrong» в YouTube
Техподдержка

Исправить ошибку «Oops! Something went wrong» в YouTube

Экран входа macOS — настройки и советы
macOS

Экран входа macOS — настройки и советы

Удалить историю Google Bard и отключить её
Конфиденциальность

Удалить историю Google Bard и отключить её

TinyLetter для блогеров: быстро и просто
Email-маркетинг

TinyLetter для блогеров: быстро и просто

Как включить и отключить блокировщик всплывающих окон IE11
браузер

Как включить и отключить блокировщик всплывающих окон IE11

Применение патчей при перемещённых файлах в Git
GIT

Применение патчей при перемещённых файлах в Git