Годами мы держали в AWS Marketplace сразу несколько AMI с Zabbix: 4.2, 4.4, 6.0, 6.4 и 7.0. Идея была простой: у некоторых команд есть инсталляции, которые из-за интеграций, шаблонов или просто из осторожности не могут перейти на новую мажорную версию, и мы хотели, чтобы у них был сопровождаемый образ именно их версии.
Теперь это невозможно. Из всего этого каталога в Marketplace осталась только наша AMI с Zabbix 7.0 LTS, и это не наше решение: AWS Marketplace не принимает остальные. Объясняем почему.
Правило: ничего с истёкшим жизненным циклом
AWS Marketplace проверяет каждую версию AMI перед публикацией. Помимо того, что образ запускается и соответствует техническим требованиям, его сканируют на уязвимости и неподдерживаемое ПО. Политика однозначна: не принимаются продукты, использующие операционную систему или программное обеспечение, достигшие конца жизненного цикла (end of life, EOL).
Важны обе половины этой фразы. Недостаточно, чтобы поддерживалась базовая система; учитывается и ПО внутри образа. И критерий не «установлены ли патчи», а «сопровождают ли его ещё разработчики».
Как это применяется
На практике проверка срабатывает двумя путями:
- При публикации новой версии. Сканирование образа отмечает систему или ПО с истёкшим сроком поддержки, и версия отклоняется. Неважно, насколько безупречно всё остальное: пересборка эту проблему не устраняет.
- Для уже опубликованного продукта. AWS может перевести продукт в состояние Restricted: он больше не предлагается новым покупателям и не принимает новые версии. Действующие подписчики сохраняют доступ к своим инстансам, но продукт заморожен.
Одно связано с другим. Ограниченный продукт не может получить версию, которая выведет его из этого состояния, а любая версия на той же базе упрётся в то же сканирование.
Два календаря, которые должны совпасть
AMI с Zabbix зависит сразу от двух жизненных циклов, и оба должны быть в пределах поддержки:
- Цикл Zabbix. Версии standard (4.2, 4.4, 6.4…) сопровождаются всего несколько месяцев, до выхода следующей. У LTS-версий (6.0, 7.0…) несколько лет поддержки, но и они заканчиваются.
- Цикл Ubuntu. Каждая версия Zabbix публикует пакеты только для тех релизов Ubuntu, которые существовали во время её разработки. Старая версия Zabbix никогда не появляется в новых Ubuntu и остаётся привязанной к системе, которая рано или поздно лишится поддержки.
С учётом этих двух календарей наши старые AMI выглядят так:
| AMI | Zabbix | Ubuntu | Почему не проходит |
|---|---|---|---|
| Zabbix 4.2 | standard, не сопровождается с 2019 года | 18.04, без стандартной поддержки с 2023 года | EOL и у Zabbix, и у системы. Для 4.2 нет пакетов новее Ubuntu 18.04 |
| Zabbix 4.4 | standard, не сопровождается | 18.04, без стандартной поддержки с 2023 года | EOL и у Zabbix, и у системы. 4.4 доходит максимум до Ubuntu 20.04, которая тоже без поддержки |
| Zabbix 6.0 | LTS | 20.04, без стандартной поддержки с 2025 года | EOL у базовой системы |
| Zabbix 6.4 | standard, не сопровождается | 22.04 | EOL у самой версии Zabbix |
Вывод неприятный, но ясный: единственная линейка, которая стабильно соответствует политике, — последняя LTS-версия Zabbix на поддерживаемой Ubuntu LTS. Сегодня это Zabbix 7.0 на Ubuntu 24.04. Держать в Marketplace больше линеек значит сопровождать продукты, которые AWS снимет, как только истечёт следующий календарь.
Случай, который это выявил: Zabbix 4.2
Мы столкнулись с этим, готовя последнюю версию AMI с Zabbix 4.2. Сканирование AWS выдало три замечания: использование ПО с истёкшим сроком поддержки (Ubuntu 18.04) и две CVE — CVE-2023-4863 в libwebp и CVE-2023-44487 в nghttp2.
А если установить патчи?
Это первый вопрос, и ответ — не поможет. Исправления этих двух CVE для Ubuntu 18.04 есть только в ESM, то есть в Ubuntu Pro. Даже если их установить, главное замечание останется: платная расширенная поддержка не делает поддерживаемым релиз, у которого закончилась стандартная поддержка.
А если сменить систему?
Тоже нет. Официальный репозиторий Zabbix 4.2 публикует пакеты только до Ubuntu 18.04. Мы проверили и вариант с Debian — результат тот же: последний Debian с пакетами 4.2 уже без поддержки, а на актуальных релизах пакеты не устанавливаются, и код не собирается без переписывания половины веб-интерфейса. И даже если бы это удалось, это всё равно был бы Zabbix 4.2 — ПО с истёкшим сроком поддержки само по себе.
То же рассуждение, с оговорками, относится и к остальной таблице. Поэтому мы убрали страницу Zabbix 4.2 и оставляем в Marketplace только 7.0.
Что это значит для вас
- Если у вас уже работает инстанс со старой версией, он продолжит работать точно так же. Ничего не отключается. Просто новых версий в Marketplace не будет.
- Если вы можете обновиться, рекомендуемый путь — наша AMI с Zabbix 7.0 LTS на Ubuntu 24.04. На её странице есть руководство по миграции, чтобы перенести базу данных без потери истории.
- Если вам нужно остаться на более старой версии, мы можем подготовить индивидуальную версию для вашего аккаунта AWS вне Marketplace, с тем же автомасштабированием и теми же уведомлениями через SNS. Напишите в поддержку, и мы всё обсудим.
Урок, который касается не только Zabbix
То, что случилось с нашим каталогом Zabbix, рано или поздно случится с любым образом, привязанным к конкретному релизу. Поэтому наши AMI устанавливают каждый компонент из официального репозитория его проекта и следуют поддерживаемым линейкам, и поэтому мы проверяем календарь каждого продукта раньше, чем это сделает AWS: когда система или ПО приближаются к концу жизненного цикла, миграция должна быть завершена до того, как об этом скажет сканирование.



