AWS Greengrass
User Guide

Developing and deploying Greengrass groups

Greengrass groups consist of cores, devices, and Lambda functions configured to communicate locally with each other and AWS services. These objects and their relationships are defined in the cloud and then deployed to the physical devices.

The first step in defining an AWS Greengrass group is to provision its core. Every group requires a core that runs the AWS Greengrass core software that manages the local environment. An AWS Greengrass core device can be as small as a Raspberry Pi or as large as you require to meet your group's needs. The AWS Greengrass core device:

  • Enables a secure connection to AWS.

  • Manages the data connections between a group's objects.

  • Hosts and executes local Lambda functions.

After you have created a group and provisioned a core, you create subscriptions to define how the group and its objects will function. Subscriptions define how messages are exchanged within a group. You add objects to your group and define how the objects exchange data.

AWS Greengrass cores and devices are AWS IoT things. This makes it easier to track and manage your devices as you scale.

When any change is made to a group definition (modifying overall group settings, adding objects, or configuring subscriptions), AWS Greengrass creates a group definition version automatically. Changes made to a group definition in the cloud have no effect on your local group until the group definition version is deployed to your hardware. If there are issues with a deployed group's definition, you can redeploy an earlier, successfully deployed version.