AWS IoT Greengrass Specialized2016年〜
A service for running local compute, messaging, and ML inference on edge devices
What It Does
AWS IoT Greengrass runs AWS Lambda functions, Docker containers, and ML inference models locally on edge devices. Even in environments with intermittent cloud connectivity, devices can process data and make decisions locally. Synchronization with the cloud happens automatically when the network recovers.
Use Cases
It is used for real-time anomaly detection on factory production lines, local processing of sensor data in agricultural IoT, edge computing in vehicles, and local ML inference in retail stores.
Everyday Analogy
Think of it like a small computer deployed at a branch office. Even when communication with headquarters (cloud) is down, the branch (edge) can independently make decisions and process data, reporting results to headquarters when communication resumes.
What Is IoT Greengrass?
AWS IoT Greengrass extends cloud capabilities to edge devices. Install the Greengrass Core software on a device, and you can run Lambda functions and containers locally. It also supports local messaging between devices and edge inference with ML models trained in SageMaker.
Components and Deployment
Greengrass V2 deploys software to devices in units called components. You combine AWS-provided components (log manager, stream manager, etc.) with custom components to configure device functionality. Deployments are executed OTA (Over-The-Air) from the cloud, with batch deployment to device groups also supported. For case studies and practical guidance on components and deployment, related books (Amazon) are also a good reference.
Getting Started
Install the Greengrass Core software on a Raspberry Pi or Linux device. Select components in the IoT Greengrass console and deploy them to the device. Starting with a Hello World component and gradually adding local ML inference and device-to-device communication is recommended.
Things to Watch Out For
- Greengrass Core devices require at least 128 MB of RAM and a Linux OS. For resource-constrained microcontrollers, consider FreeRTOS
- Monthly per-device pricing applies. Up to 10 devices are covered by the free tier