多年来,我们在 AWS Marketplace 上同时提供多个 Zabbix AMI:4.2、4.4、6.0、6.4 和 7.0。想法很简单:有些团队的环境由于集成、模板或出于谨慎,无法升级到新的大版本,我们希望 他们能用上所用版本的、持续维护的镜像。
现在这已经做不到了。在整个目录中,Marketplace 上只剩下我们的 Zabbix 7.0 LTS AMI,而这并非我们的决定:AWS Marketplace 不再接受其他版本。下面说明原因。
规则:不允许任何生命周期已终止的内容
AWS Marketplace 在发布 AMI 的每个版本之前都会进行审核。除了检查镜像能否启动、是否满足技术 要求之外,还会扫描漏洞和不受支持的软件。政策很明确:使用已终止生命周期(end of life, EOL)的操作系统或软件的产品不予接受。
这句话的两部分都很重要。仅仅基础系统受支持是不够的,镜像内的软件同样计算在内。而且判断标准 不是"是否打了补丁",而是"开发者是否仍在维护"。
如何执行
实际上,检查通过两种途径进行:
- 发布新版本时。 镜像扫描会把 EOL 的系统或软件标记为问题,版本随即被拒绝。其余部分再 完美也没用:重新构建并不能消除这个问题。
- 针对已发布的产品。 AWS 可以把产品设为 Restricted(受限)状态:不再向新买家提供, 也不接受新版本。已有订阅者仍可访问其实例,但产品被冻结。
两者是连在一起的。受限的产品无法通过新版本脱离这一状态,而基于相同基础构建的任何版本都会 在同样的扫描中碰壁。
两份必须对得上的时间表
Zabbix AMI 同时依赖两个生命周期,而且两者都必须处于支持期内:
- 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 年起无标准支持 | Zabbix 与系统均已 EOL。4.2 没有适用于 18.04 之后任何 Ubuntu 的软件包 |
| Zabbix 4.4 | standard,已停止维护 | 18.04,自 2023 年起无标准支持 | Zabbix 与系统均已 EOL。4.4 最高只支持 Ubuntu 20.04,而它同样已无支持 |
| Zabbix 6.0 | LTS | 20.04,自 2025 年起无标准支持 | 基础系统已 EOL |
| Zabbix 6.4 | standard,已停止维护 | 22.04 | Zabbix 版本本身已 EOL |
结论令人不快,但很清楚:唯一能长期符合政策的,是运行在受支持 Ubuntu LTS 上的最新 Zabbix LTS。目前就是 Ubuntu 24.04 上的 Zabbix 7.0。在 Marketplace 上维护更多版本线, 就意味着维护一旦下一份时间表到期就会被 AWS 下架的产品。
让问题暴露出来的案例:Zabbix 4.2
我们是在准备 Zabbix 4.2 AMI 的最新版本时发现的。AWS 的扫描返回了三个问题:使用了生命周期 已终止的软件(Ubuntu 18.04),以及两个 CVE:libwebp 中的 CVE-2023-4863 和 nghttp2 中的 CVE-2023-44487。
打补丁行不行?
这是第一个问题,答案是没有用。这两个 CVE 在 Ubuntu 18.04 上的补丁只存在于 ESM,也就是 Ubuntu Pro 中。即使打上补丁,主要问题依然存在:付费的扩展支持并不能让一个已脱离标准支持的 版本重新变成受支持的版本。
换个系统行不行?
也不行。Zabbix 4.2 的官方仓库只发布到 Ubuntu 18.04 为止的软件包。我们也试过 Debian,结果 一样:最后一个提供 4.2 软件包的 Debian 已无支持,而在当前版本上,软件包装不上,代码也无法 编译,除非重写半个前端。即便做到了,它仍然是 Zabbix 4.2,本身就是 EOL 软件。
同样的道理,略有差别地,也适用于表中的其他版本。因此我们撤下了 Zabbix 4.2 的页面,在 Marketplace 上只保留 7.0。
这对您意味着什么
- 如果您已经在运行旧版本的实例,它会一如既往地正常工作,不会被关闭。只是 Marketplace 上不会再有新版本。
- 如果您可以升级,推荐使用我们基于 Ubuntu 24.04 的 Zabbix 7.0 LTS AMI。页面中提供迁移指南,可在不丢失历史数据的 情况下迁移数据库。
- 如果您需要继续使用较早的版本,我们可以在 Marketplace 之外为您的 AWS 账户构建 定制版本,保留同样的自动扩缩容和 SNS 通知。请联系支持团队, 我们来评估。
不止于 Zabbix 的教训
发生在我们 Zabbix 目录上的事,迟早会发生在任何依赖特定版本的镜像上。正因如此,我们的 AMI 从各项目的官方仓库安装每个组件并跟随受支持的版本线;也正因如此,我们会先于 AWS 检查每个 产品的时间表:当系统或软件接近生命周期终点时,迁移必须在扫描发现之前完成。



