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

Как защитить кошелёк: автоматическое выключение EC2

4 min read AWS Обновлено 12 Dec 2025
Авто-выключение EC2: защита от переплаты
Авто-выключение EC2: защита от переплаты

Если вы используете мощные EC2-инстансы для одноразовых задач, поставьте автоматическую тревогу CloudWatch, которая остановит простаивающие экземпляры по низкой загрузке CPU. Это сэкономит деньги и предотвратит «переполнение кошелька». Ниже — пошаговое руководство, чек‑лист, варианты настройки и рекомендации по проверке.

Логотип AWS

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

  • Предотвращение опустошения кошелька

  • Настройка тревоги

Предотвращение опустошения кошелька

«Облачное переполнение» — это ситуация, когда масштабируемая услуга неожиданно начинает стоить в разы дороже, чем вы рассчитывали. Часто это случается с мощными EC2-инстансами, которые подходят для краткосрочных тяжёлых задач — например, сборки проекта на 64‑ядерной машине или рендеринга на GPU‑кластерe.

Такие инстансы стоят дорого: для некоторых ускоренных вычислительных машин счет может достигать $25k за непрерывные 750 часов работы. Для коротких задач это экономично, но только если экземпляр выключается сразу после завершения работы.

AWS не выключит вашу машину автоматически «по умолчанию», но предоставляет инструменты: CloudWatch‑тревоги, которые можно настроить так, чтобы они отслеживали метрики (CPU, сеть, диск) и выполняли действия — остановку, перезапуск, или отправку уведомлений через SNS.

Краткое определение: CloudWatch — служба мониторинга AWS, собирает метрики и может запускать действия при соблюдении условий.

Важно: используйте тестовую конфигурацию сначала на небольшом экземпляре, чтобы убедиться, что тревога срабатывает корректно и не прерывает нужные задачи.

Настройка тревоги

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

Общие шаги:

  1. Откройте консоль EC2.
  2. Правой кнопкой на инстанс → Monitoring → Manage CloudWatch Alarms, или нажмите плюс рядом с «Alarm Status», если тревог ещё нет.

/wordpress/wp-content/uploads/csit/2021/12/fb6d18c1.png

  1. В настройках тревоги выберите:
    • Metric: CPU Utilization
    • Statistic: Average (среднее)
    • Условие: меньше ~10% (примерное значение, подберите под свою нагрузку)
    • Период: например, 5 минут
    • Consecutive Periods: 12 (5 мин × 12 = 1 час) или используйте 1 час как период

/wordpress/wp-content/uploads/csit/2021/12/8f9c9dd4.png

  1. В Actions выберите действие при срабатывании: Stop instance.

/wordpress/wp-content/uploads/csit/2021/12/6739f608.png

  1. Сохраните тревогу. Она начнёт работать автоматически.

Советы по подбору порогов:

  • Если задача периодически простаивает, не ставьте порог слишком чувствительным (например, 1–2%).
  • Если задача может иметь паузы, увеличьте «Consecutive Periods» или время периода.
  • Для коротких интерактивных задач используйте более короткий период (5 мин). Для длительных фоновых — 1 час.

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

  • Lambda‑скрипт: периодически запрашивает DescribeInstances и останавливает инстансы с метками и низкой загрузкой. Подходит, если нужны более сложные правила.
  • Auto Scaling с минимальным размером 0: если инфраструктура поддерживает автоматическое масштабирование, можно запускать инстансы через ASG и задавать политики масштабирования.
  • Tagging + IAM: помечайте временные экземпляры тегом, и применяйте отдельные политики и тревоги к таким тегам.

Пошаговый playbook (SOP)

  1. Определите рабочую нагрузку и тип инстанса. Проверяйте графики загрузки за предыдущие запуски.
  2. Настройте тестовый инстанс меньшего класса.
  3. Создайте CloudWatch Alarm по CPU Utilization с выбранными периодом/порогом.
  4. Установите действие Stop instance и при необходимости уведомления через SNS (email или webhook).
  5. Запустите тест: запустите рабочую задачу, дождитесь завершения, и проверьте, что инстанс останавливается при простое.
  6. Внедрите на боевых инстансах и мониторьте первые 24–72 часа.
  7. Включите глобальные уведомления по биллингу в AWS (Billing Alerts).

Чек‑лист ролей

  • Разработчик: пометить временные инстансы тегом и проверить логи задач.
  • Оператор/DevOps: настроить и протестировать CloudWatch Alarm, прописать IAM‑разрешения для остановки.
  • Финансист/менеджер: включить оповещения по биллингу и задать бюджетные лимиты.

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

  • Тревога останавливает тестовый инстанс при заданном пороге в тестовой среде.
  • Оповещения приходят на указанные контакты (SNS).
  • Ни одна продовая задача не была внезапно прервана из‑за ложного срабатывания.
  • Биллинг показывает отсутствие непрогнозируемых затрат по помеченным инстансам в течение недели.

Когда такой метод не подходит

  • Если задача периодически простаивает, но должна сохранять состояние в памяти — остановка неуместна.
  • Если нагрузка не отражается в CPU (узким местом является диск или сеть), тревога по CPU даст ложные результаты.

Меры предосторожности и риски

  • Риск: остановленный экземпляр теряет локальные данные на instance store. Митигируйте: используйте EBS или сохраняйте артефакты в S3.
  • Риск: некорректно настроенная тревога прервет важные процессы. Митигируйте: тестирование на малых инстансах и оповещения до остановки (например, сначала отправить SNS, затем через N минут — остановить).

Короткий словарь

  • EC2: виртуальные серверы AWS.
  • CloudWatch: служба мониторинга метрик и логов.
  • SNS: Simple Notification Service — служба уведомлений.
  • Stop instance: операция, переводящая EC2 в состояние остановлено (неудаляемая, сохраняются EBS‑тома).

Итог

Настройка CloudWatch Alarm по низкой загрузке CPU — простая и эффективная защита от случайных больших затрат при использовании дорогостоящих EC2‑инстансов для кратковременных задач. Тестируйте настройки, используйте теги и включайте биллинговые оповещения, чтобы быстро реагировать на аномалии.

Дополнительные ресурсы: проверьте статистику CloudWatch по вашему инстансу перед внедрением и начните с тестовой среды.

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

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство