启动器 产品 Bitnami 文档imaxe CLI 博客 联系

AWS Marketplace 与生命周期终止的软件:为什么我们只维护 Zabbix 的最新 LTS

AWS Marketplace 不会发布系统或软件已不受支持的镜像。本文介绍它如何执行这一规定,以及为什么我们的 Zabbix 目录中只能保留最新的 LTS。

推车上堆放着一摞已退役的机架式服务器,准备报废
推车上堆放着一摞已退役的机架式服务器,准备报废 图片: Jemimus · CC BY 2.0 · Wikimedia Commons

多年来,我们在 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 情况如下:

AMIZabbixUbuntu无法通过的原因
Zabbix 4.2standard,自 2019 年起停止维护18.04,自 2023 年起无标准支持Zabbix 与系统均已 EOL。4.2 没有适用于 18.04 之后任何 Ubuntu 的软件包
Zabbix 4.4standard,已停止维护18.04,自 2023 年起无标准支持Zabbix 与系统均已 EOL。4.4 最高只支持 Ubuntu 20.04,而它同样已无支持
Zabbix 6.0LTS20.04,自 2025 年起无标准支持基础系统已 EOL
Zabbix 6.4standard,已停止维护22.04Zabbix 版本本身已 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 检查每个 产品的时间表:当系统或软件接近生命周期终点时,迁移必须在扫描发现之前完成。

aws marketplaceeolzabbixubuntu生命周期
IM

imaxe 团队

我们构建并维护目录中的 AMI。当我们发布一个版本时,我们会比任何人都先在生产中使用它。

来自产品目录

与本文相关的 AMI

继续阅读

相关文章