IoT 事件检测 - AWS IoT Events 终止提供与迁移指南
AWS IoT Events 已于 2026 年 5 月 20 日终止提供。本文介绍使用 Kinesis Data Streams + Lambda 重新实现状态监控等官方迁移方案,以及服务提供期间检测器模型的机制。
终止提供与迁移方案
AWS IoT Events 已于 2026 年 5 月 20 日终止提供(End of Support)。新用户的受理已于 2025 年 5 月 20 日结束。迁移时,一种具有代表性的选择是使用 Amazon Kinesis Data Streams + AWS Lambda 等组合重新实现相当于检测器模型的状态监控的架构。另一种是将告警功能替换为 AWS IoT SiteWise 告警的架构。两者都是组合标准 AWS 服务的迁移方案,根据需求进行设计。本文作为记录服务提供期间机制的历史资料 + 迁移指南予以保留。
IoT 设备状态监控面临的挑战
在 IoT 设备的监控中,不仅需要检测简单的阈值超限,还需要检测复杂的状态转换。例如,“温度超过 80°C 的状态持续 5 分钟以上则发出告警”“振动值超出正常范围后,若 10 分钟以内未恢复正常则通知维护团队”“连续 3 次心跳中断则判定设备离线”等条件就属于这一类。如果使用 Lambda 和 DynamoDB 自行实现这些条件,状态管理的逻辑会变得复杂,并且随着设备数量的增加,还会面临扩展方面的挑战。AWS IoT Events 曾是一项将 IoT 设备的状态转换定义为检测器模型(Detector Model),并根据条件执行自动操作的服务。其机制是可以在可视化编辑器中定义状态机,并为每台设备自动生成独立的检测器实例。
检测器模型与告警
检测器模型曾是由状态(State)、转换条件(Transition)和操作(Action)构成的状态机。例如,在温度监控的检测器模型中,定义“正常”“警告”“异常” 3 种状态,并根据温度阈值设置状态转换。可以在进入各状态时(onEnter)、停留期间(onInput)和退出时(onExit)执行操作。为每台设备指定键(设备 ID)后,会为每台设备生成独立的检测器实例,从而可以分别管理数千台设备的状态。告警功能是检测器模型的简化版,用于设置基于单一阈值的监控,并在超过阈值时执行 SNS 通知或 Lambda 调用。其定位是:在不需要复杂状态转换的情况下,告警功能即已足够。
操作与集成
检测器模型在状态转换时可以执行的操作曾经多种多样。可以进行以下联动:通过 SNS 通知操作员、通过 Lambda 执行自定义逻辑、向 SQS 发送消息以触发下游处理。还可以向 IoT Core 发布 MQTT 消息以向设备发送命令、向 DynamoDB 写入事件日志、向 Firehose 发送数据并积累到 S3。最常见的设置是通过 IoT Core 的规则操作向 IoT Events 发送数据。其流程是:设备通过 MQTT 发送遥测数据后,IoT Core 的规则将数据转发到 IoT Events,再由检测器模型评估状态。使用 BatchPutMessage API,也可以不经过 IoT Core 直接发送数据。
IoT Events 的费用
随着服务终止提供,以下计费体系现已不复存在(服务提供期间的记录)。IoT Events 按消息评估次数计费。消息评估以 1 KB 为单位计量,在美国东部(弗吉尼亚北部),每月 1 亿次以内为每 100 万次 15 美元,并随着用量增加阶梯式降至每 100 万次 10 美元、5 美元、3 美元。告警属于单独的计费类别,当月至少评估过 1 次消息的活跃告警每个每月加收 0.10 美元,评估本身另按普通的消息评估费率计费。例如,1,000 台设备以 1 分钟的间隔发送 1 KB 的消息时,每月约产生 4,320 万次评估,在美国东部约合 648 美元。在评估次数急剧增加的环境中,通过 IoT Core 的规则引擎预先过滤、仅将接近阈值的值转发到 IoT Events 的设计,是成本优化的惯用做法。
基于状态机的检测逻辑
IoT Events 的核心是表示设备状态变化的检测器模型。其方式是将其设计为一个状态机,定义设备可能处于的状态以及从一个状态转到另一个状态的条件。例如,温度超过一定值时转到“警告”状态,进一步升高时转到“危险”状态,恢复正常时转回“常规”状态,以这样的方式描述转换。其优势在于可以进行考虑状态变化和持续时间的检测,而这些是简单的阈值监控难以捕捉的。将设备的行为整理为状态、以便清晰地管理复杂条件,这一思路本身在使用 Kinesis Data Streams + Lambda 重新实现时依然有效。
用例与运维
IoT Events 曾用于监控大量设备的状态并对异常自动做出响应的场景。典型的例子包括:监控制造设备的运行状态,在检测到异常征兆时启动通知或停机处理;当空调或冷藏设备的温度偏离标准时向负责人发送告警。由于能够以检测为契机自动执行发送通知、启动其他系统的处理等操作,并且可以将同一检测逻辑应用于大量设备以监控整个设备群,因此即使规模大也能保持一致的监控。捕捉状态变化并自动做出响应这一运维模式,是支撑减轻运维负担和快速处理异常的基本形式,可以原样沿用到重新实现后的架构中。
总结 - 迁移指南
AWS IoT Events 曾是一项检测 IoT 设备的复杂状态转换并执行自动操作的服务,但已于 2026 年 5 月 20 日终止提供。在迁移后的常见架构中,由 Kinesis Data Streams 接收遥测数据,由 Lambda 评估状态转换逻辑,并通过 SNS 等服务执行操作。这一组合是可以仅使用 AWS 标准服务再现相当于检测器模型的处理的架构示例。本文中仅处理阈值附近数据的预先过滤、按设备独立管理状态等设计,在重新实现后的架构中也直接具有参考价值。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。