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

Оповещение CloudWatch для RDS по FreeStorageSpace

6 min read AWS DevOps Обновлено 24 Nov 2025
Оповещение CloudWatch для RDS — FreeStorageSpace
Оповещение CloudWatch для RDS — FreeStorageSpace

Иллюстрация мониторинга базы данных RDS

Коротко о задаче

Мониторинг экземпляров RDS важен для стабильности базы данных. В этой инструкции мы создадим простое оповещение CloudWatch для RDS MySQL, которое проверяет свободное место на диске экземпляра по метрике FreeStorageSpace. Эта метрика возвращает значение в байтах, а не в процентах. При достижении заданного порога оповещение переходит в состояние триггера и отправляет уведомление в выбранную тему SNS.

Вам понадобится рабочий экземпляр RDS в вашем аккаунте и доступ в консоль AWS.

Предпосылки

  • Аккаунт AWS. Если его нет, создайте его.
  • Экземпляр RDS MySQL, для которого вы будете настраивать оповещение.
  • Права на создание оповещений CloudWatch и тем SNS (рекомендуемые IAM действия перечислены ниже).

Что сделаем

  1. Войдём в AWS Management Console.
  2. Перейдём в CloudWatch и выберем метрику FreeStorageSpace для нужного экземпляра RDS.
  3. Настроим условие оповещения и тему SNS для уведомлений.
  4. Проверим оповещение и при необходимости удалим его.

Вход в AWS

Перейдите на страницу входа в AWS и выполните аутентификацию под своей учётной записью.

Страница входа в AWS

После входа вы увидите консоль управления AWS.

Консоль управления AWS после входа

Создание оповещения для RDS MySQL

  1. Введите CloudWatch в поле поиска в верхней части консоли и перейдите в службу CloudWatch.

Поиск CloudWatch в консоли AWS

  1. В левой панели выберите раздел оповещений.

Панель CloudWatch — раздел оповещений

  1. Нажмите кнопку создания оповещения.

Страница создания оповещения CloudWatch

  1. Нажмите кнопку выбора метрики.

Выбор метрики и условий для оповещения

  1. В поле поиска введите RDS и отфильтруйте метрики для RDS. Перейдите в группу Across All Databases, чтобы увидеть метрики по всем экземплярам в регионе.

Фильтрация метрик по RDS

  1. Выберите метрику FreeStorageSpace для нужного экземпляра RDS и подтвердите выбор.

Выбор метрики FreeStorageSpace для экземпляра RDS

  1. В блоке условий укажите порог в байтах и выберите условие менее. Оповещение сработает, если свободное место станет меньше указанного порога. Нажмите Далее, чтобы продолжить.

Указание порога и условия меньше

  1. На шаге действий выберите существующую тему SNS или создайте новую. Когда оповещение сработает, CloudWatch отправит уведомление в тему SNS, а подписчики темы получат сообщение на выбранные эндпоинты (email, SMS, Lambda и т. п.).

Выбор или создание темы SNS для оповещений

  1. Задайте имя и описание оповещения и нажмите Далее.

Задание имени и описания оповещения

  1. Проверьте конфигурацию и создайте оповещение.

Проверка конфигурации оповещения перед созданием

  1. После создания оповещение появится на странице оповещений. Если состояние оповещения OK, это значит, что текущая метрика выше порога.

Список оповещений: состояние OK

Удаление оповещения

Когда оповещение больше не нужно, его можно удалить. Выберите оповещение и используйте действие удаления.

Удаление оповещения — выбор действия Delete

Подтвердите удаление в появившемся диалоге. Удаление окончательное, восстановить оповещение нельзя.

Подтверждение удаления оповещения

Практические советы и рекомендации

  • Помните, что метрика FreeStorageSpace измеряется в байтах. Для удобства переводите в ГиБ: ГиБ = байты / 1024^3. Пример: 10 ГиБ = 10 × 1024^3 = 10 737 418 240 байт.
  • Подумайте о запасе безопасности: задавайте порог выше минимально допустимого размера с учётом пиков роста данных и временных файлов.
  • Оценивайте период выборок и количество точек данных при настройке оповещений. Короткий период даёт более оперативные триггеры, но может быть шумнее.
  • Выбирайте статистику метрики осознанно. Для свободного места чаще используют Minimum или Average в зависимости от кейса.
  • Настройте тему SNS с подписчиками: email для оповещений команды, webhook или Lambda для автоматических действий.

Перечень типичных причин, если оповещение не срабатывает

  • Метрика FreeStorageSpace не публикуется для региона или экземпляра.
  • Неправильно указан экземпляр RDS или выбрана не та метрика.
  • Параметры периода и количества точек данных не соответствуют ожидаемому поведению.
  • Условия сравнения и статистика выбраны неверно (например, используете Average вместо Minimum).
  • Права IAM не позволяют CloudWatch создавать оповещение или публиковать сообщения в SNS.

Минимальный набор IAM прав для создания и удаления оповещений и работы с SNS

  • cloudwatch:PutMetricAlarm — создание/обновление оповещений
  • cloudwatch:DescribeAlarms — просмотр оповещений
  • cloudwatch:DeleteAlarms — удаление оповещений
  • sns:CreateTopic, sns:Subscribe, sns:Publish, sns:DeleteTopic — работа с темами SNS

Разрешения можно ограничить по ресурсам и условиям в зависимости от политики безопасности.

Контрольный список перед включением оповещения

  • Экземпляр RDS работает и публикует метрики в CloudWatch.
  • Вы выбрали корректный регион в консоли.
  • Порог переведён в байты и учитывает запас.
  • Тема SNS создана и подписчики подтверждены.
  • Проверены IAM права для создания оповещений и публикации в тему SNS.

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

  • Оповещение создано и отображается в списке оповещений.
  • Состояние оповещения корректно отражает текущую метрику (OK/ALARM).
  • При искусном снижении свободного места до порога в тестовой среде подписчики получают уведомление.
  • Удаление оповещения проходит без ошибок и оповещение исчезает из списка.

Как выбрать порог — простая методика

  1. Оцените текущий средний объём данных и темп роста.
  2. Определите минимально допустимый объём диска для безопасной работы базы.
  3. Добавьте запас безопасности (например, объём для временных файлов и логов).
  4. Переведите итоговый порог в байты и установите оповещение.

Эта методика не универсальна: критичность и политика резервирования данных в вашей организации могут требовать других подходов.

Быстрый план реагирования после получения оповещения

  1. Проверить текущее состояние метрики в CloudWatch и логи RDS.
  2. Оценить, какой процесс использует диск (бэкапы, логи, временные таблицы).
  3. Увеличить объём хранения экземпляра или очистить временные файлы, если это безопасно.
  4. При необходимости откатить изменения и уведомить команду.

Небольшая диаграмма принятия решения (Mermaid)

flowchart TD
  A[Получено оповещение FreeStorageSpace] --> B{Ниже порога?}
  B -- Да --> C[Проверить метрику в CloudWatch]
  C --> D{Это ложное срабатывание?}
  D -- Да --> E[Отменить и настроить порог/период]
  D -- Нет --> F[Освободить место или увеличить диск]
  F --> G[Проверить восстановление состояния]
  B -- Нет --> H[Отслеживать]

Частые ошибки и как их избежать

  • Ошибка: указан процент вместо байтов. Проверка: переводите проценты в байты заранее.
  • Ошибка: подписчики темы SNS не подтвердили подписку. Решение: попросите подписчиков подтвердить письмо-приглашение или используйте другой тип подписки.
  • Ошибка: выбран неверный регион. Решение: убедитесь, что CloudWatch и RDS находятся в одном регионе.

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

  • Использовать агрегирующие метрики и комбинированные оповещения, если нужно учитывать несколько экземпляров одновременно.
  • Настроить автоматическое действие через Lambda при пересечении порога, чтобы временно очистить логи или оповестить систему управления инцидентами.

Резюме

Мы создали оповещение CloudWatch для RDS MySQL по метрике FreeStorageSpace, связали его с темой SNS и показали, как удалить оповещение. Привели рекомендации по выбору порога в байтах, проверкам прав и типичным причинам сбоев. Используйте контрольный список и методику выбора порога перед включением оповещений.

Ключевые действия: выбрать метрику FreeStorageSpace, указать условие меньше и порог в байтах, выбрать тему SNS для уведомлений, протестировать и при необходимости удалить оповещение.

Важно: перед удалением убедитесь, что оповещение действительно больше не требуется.

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

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

Как удалить Fortnite быстро
Игры

Как удалить Fortnite быстро

Увеличить время экрана блокировки — Windows 10
Windows

Увеличить время экрана блокировки — Windows 10

Проверка аппаратного обеспечения Linux — команды
Linux

Проверка аппаратного обеспечения Linux — команды

Отключение Google Analytics в Nintendo Switch eShop
Privacy

Отключение Google Analytics в Nintendo Switch eShop

Ошибка 500 в Google Drive — как исправить
Техподдержка

Ошибка 500 в Google Drive — как исправить

Резервное копирование сохранений Stardew Valley
Игры

Резервное копирование сохранений Stardew Valley