Частичная недоступность сервиса отправки массовых Email-рассылок для 83% клиентов в течение 100 минут
Incident Report for Mindbox
Postmortem

25 июля с 14:30 до 16:10 (мск) для 83% клиентов наблюдалась частичная недоступность сервиса отправки Email-сообщений.

Корневая причина недоступности — нестабильное разрешение доменных имён ресурсов Yandex Cloud.

Влияние на клиента

В период инцидента у 6% клиентов сообщения массовых email-рассылок отправлялись с задержкой. У 0.5% клиентов транзакционные письма отправлялись с задержкой более 1 минуты.

Как выявляли и устраняли инцидент

11:50 — автоматика завела дефект о нарушении SLA скорости массовых рассылок на одном проекте

11:54 — нарушение прекратилось

12:09 — автоматика завела дефект о нарушении SLA скорости массовых рассылок на множестве проектов

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

12:23 — откатили релиз с ошибкой, проблема не разрешилась, продолжили расследование

13:52 — диагностировали, что есть проблема, связанная с Redis

13:59 — эскалировали SRE о проблемах с Redis

14:11 — диагностика проблемы, проверка гипотез

14:41 — эскалировали в Yandex Cloud о том, что разрешение доменного имени Redis нестабильно

15:25 — организовали конференцию в Zoom с Yandex Cloud

16:00 — подключили CIO Mindbox к разбору

16:40 — устранили проблему

Отчёт

Для разрешения доменных имён ресурсов Yandex Cloud мы используем ВМ в Yandex Cloud, на которой установлен BIND (DNS-сервер). Этот DNS-сервер указан в качестве forwarder для внутренней зоны облака на DNS-серверах во внутренней инфраструктуре Mindbox.

Сервис рассылок обращается к DNS серверу за разрешением адреса Redis по-умолчанию запрашивая IPv6 адрес. ВМ опрашивает Yandex DNS и получает ошибку, поскольку Yandex не поддерживает IPv6 для Redis и возвращает сервису ответ о том, что хост не найден. При этом от ВМ попыток запросить IPv4 не происходит. Со стороны сервиса попыток запросить IPv4 также не происходит, потому что ответ об отсутствии хоста не является случаем, когда при повторении запроса через короткий промежуток времени может измениться ответ.

Такую проблему заметили впервые в день инцидента, и она случилась только с этим кластером Redis. В моменте починили при помощи того, что указали в DNS внутренней инфраструктуры Mindbox сразу запрашивать адреса при помощи Yandex DNS.

Точную корневую причину возникновения проблемы в BIND понять не удалось. Вместо её поиска просто исключим узел BIND из схемы функционирования сервиса рассылок за ненадобностью.

Что улучшим

  • Исключим из схемы функционирования сервиса рассылок ВМ с BIND (DNS-сервером), указав в рабочих нагрузках сервиса явно использовать Yandex DNS — 3й квартал 2024 года
Posted Aug 15, 2024 - 14:55 UTC

Resolved
С 14:30 до 16:10 (мск) наблюдалась частичная недоступность сервиса отправки Email-сообщений

В период инцидента до 83% клиентов могли сталкиваться с увеличением очереди отправок массовых Email-рассылок. Для 0,5% клиентов транзакционные рассылки этого канала также отправлялись с задержкой.

Email-письма отправлялись через административную панель, операции и сценарии с задержкой до 50 минут.
Posted Jul 25, 2024 - 13:46 UTC
Investigating
С 14:30 (мск) наблюдается частичная недоступность сервиса отправки Email для 83% клиентов. Скопилась очередь Email-рассылок. Письма этого канала отправляются через административную панель, операции и сценарии с задержкой.

Инцидент находится в работе у дежурной команды, вернемся со статусом в течение часа.
Posted Jul 25, 2024 - 12:52 UTC
This incident affected: Отправка Email.