AWS IoT Greengrass Documentation
AWS IoT Greengrass is an open-source edge runtime and cloud service for building, deploying, and managing device software.
Key Features
Local processing for AWS Lambda
AWS IoT Greengrass includes support for AWS Lambda. AWS IoT Greengrass is designed so you can run AWS Lambda functions on the device to respond quickly to local events, interact with local resources, and process data to minimize the cost of transmitting data to the cloud.
Local support for containers
AWS IoT Greengrass is designed so you can deploy, run, and manage Docker containers on AWS IoT Greengrass devices, including storing Docker images in Docker container registries, such as Amazon Elastic Container Registry (Amazon ECR), Docker Hub, or private Docker Trusted Registries (DTRs).
Local support for AWS IoT Device Shadows
AWS IoT Greengrass is also designed to include the functionality of AWS IoT Device Shadows. The Device Shadow is designed to cache the state of your device, like a virtual version or “shadow,” of each device that tracks the device’s current versus desired state and synchronize that state with the cloud when connectivity is available.
Local messaging
AWS IoT Greengrass is designed to enable messaging between the AWS IoT Greengrass Core and devices using the AWS IoT Device SDK on a local network, facilitating communication even when there is no connection to AWS. AWS IoT Greengrass is designed to allow your devices to process messages and deliver them to another device or to the cloud based on business rules you define.
Local resource access
Local resource access is designed to enable AWS Lambda functions deployed on an AWS IoT Greengrass Core to access local resources that are attached to the device. This allows you to use serial ports, peripherals such as add-on security devices, sensors and actuators, on-board GPUs, or the local file system to access and process local data.
Local development
AWS IoT Greengrass is designed to let you rapidly develop and debug code on a test device before using the cloud to deploy to your production devices. The AWS IoT Greengrass command-line interface (CLI) is designed so you can locally develop and debug applications on your device, and the local debug console is designed to help you visually debug applications.
AWS IoT Greengrass ML Inference
AWS IoT Greengrass ML Inference is a feature of AWS IoT Greengrass that is designed to make it easy to perform machine learning inference locally on AWS IoT Greengrass devices using models that are built and trained in the cloud. This helps you avoid data transfer costs or increased latency for applications that use machine learning inference.
Stream Manager for AWS IoT Greengrass
You can use AWS IoT Greengrass to help you collect, process, and export data streams from IoT devices and manage the life cycle of that data on the device to minimize development time. AWS IoT Greengrass is designed to provide a standard mechanism to process data streams, manage local data-retention policies, and transmit device data to AWS cloud services such as Amazon Simple Storage Service (Amazon S3), Amazon Kinesis, AWS IoT Core, and AWS IoT Analytics.
AWS IoT Greengrass components
AWS IoT Greengrass provides pre-built components for common use cases so you can more easily discover and import, configure, and deploy applications and services at the edge. You can also create your own components or simply re-use common business logic from one AWS IoT Greengrass device to another.
AWS IoT Greengrass is modular. It is designed so you can add or remove pre-built software components based on your IoT use case, and your device CPU and memory resources. For example, you can choose to include pre-built AWS IoT Greengrass components such as stream manager only when you need to process data streams with your application, or machine learning components only when you want to perform machine learning inference locally on your devices.
Manage IoT applications at scale
AWS IoT Greengrass makes it easier to remotely deploy and manage device software on millions of devices. You can organize your devices in groups and deploy and manage device software and configuration to a subset of devices or to all devices at once.
Over the air updates
AWS IoT Greengrass is designed to allow for updates the AWS IoT Greengrass Core software on AWS IoT Greengrass devices using the AWS IoT Greengrass console, APIs, or command-line interface, including updates to the version of AWS IoT Greengrass Cores or components running on your devices.
AWS IoT Greengrass Secrets Manager
AWS IoT Greengrass Secrets Manager is designed to allow you to store, access, rotate, and manage secrets – credentials, keys, endpoints, and configurations – at the edge. With AWS IoT Greengrass components integration, if an AWS IoT Greengrass component needs a secret to authenticate with an application or service, this feature is designed so you can select and deploy a secret to the AWS IoT Greengrass Core as part of the component configuration. For example, you can use AWS IoT Greengrass Secrets Manager to configure credentials for private Docker container registries.
Hardware Security Integration
AWS IoT Greengrass offers customers the option to store their device private key on a hardware secure element. You can store sensitive device information at the edge with AWS IoT Greengrass Secrets Manager and encrypt your secrets using private keys for root of trust security.
AWS IoT Device Tester for AWS IoT Greengrass
AWS IoT Device Tester for AWS IoT Greengrass is a test automation tool that helps you validate if your device meets the software and hardware requirements to run AWS IoT Greengrass. It is designed to support configuration and dependency checks and end-to-end tests to validate if a device can support specific AWS IoT Greengrass features such as Machine Learning Inference.
Additional Information
For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.