AWS IoT Greengrass

在边缘设备上执行本地处理、机器学习推理和消息传递,与云无缝协作的 IoT 运行时

概述

AWS IoT Greengrass 是一个 IoT 运行时,可在边缘设备上本地执行 AWS Lambda 函数、容器和机器学习模型。即使网络连接不稳定,设备也能自主运行,连接恢复时与云同步数据。Greengrass V2 采用基于组件的架构,可按独立组件单位管理向设备的软件分发。包括将 SageMaker 训练模型部署到边缘执行推理的 ML 推理组件、以及中介本地设备间 Pub/Sub 消息传递的 IPC 功能等,全面提供边缘计算所需功能。

组件架构与部署管理

Greengrass V2 的组件是可独立部署和更新的软件单元。每个组件由配方 (定义生命周期和配置的 YAML/JSON) 和制品 (二进制文件、脚本、模型文件等) 组成。AWS 提供的公共组件包括日志管理器 (将日志上传到 CloudWatch)、流管理器 (将数据导出到 S3/Kinesis)、MQTT 桥接 (连接本地和云 MQTT) 等。自定义组件可用任意语言开发,通过 IPC 与其他组件通信。部署通过 IoT Core 的作业功能执行,可指定目标设备组和滚动策略。部署失败时的回滚、健康检查、组件间依赖解析均自动处理。

边缘 ML 推理与模型管理

Greengrass 的 ML 推理功能可将云端训练的模型部署到边缘设备执行实时推理。SageMaker Neo 编译的模型针对目标硬件 (ARM、x86、GPU) 优化,在资源受限的边缘设备上也能高效运行。ML 推理组件封装了模型加载、预处理、推理执行、后处理的完整管道。模型更新通过组件版本升级实现,可在不停止推理服务的情况下热替换模型。典型用例包括:工厂产线的视觉检测 (不良品检测)、农业的作物病害识别、零售的客流分析。推理结果在本地即时用于控制决策,同时汇总数据发送到云端用于模型再训练。

离线运行与数据同步策略

Greengrass 的核心价值之一是网络断开时的自主运行能力。组件在本地持续运行,设备影子的本地副本维护设备状态,本地 MQTT 消息传递不受影响。流管理器在网络断开期间将数据缓冲到本地磁盘,连接恢复后按优先级顺序上传到云端。缓冲策略可配置最大缓冲大小、数据保留期限和上传优先级。对于带宽受限环境,可配置仅在特定时间段 (如夜间) 或 Wi-Fi 连接时上传数据。与 IoT Core 的连接管理自动处理重连和会话恢复,应用层无需关心连接状态管理。

共有するXB!