Setting up Amazon IoT Greengrass core devices
Complete the tasks in this section to install, configure, and run the Amazon IoT Greengrass Core software.
Note
This section describes advanced installation and configuration of the Amazon IoT Greengrass Core software. These steps do not apply to nucleus lite.If you're a first-time user of Amazon IoT Greengrass V2, we recommend that you first complete the getting started tutorial to set up a core device and explore the features of Amazon IoT Greengrass.
Topics
- Supported platforms
- Device requirements
- Lambda function requirements
- Set up an Amazon Web Services account
- Install the Amazon IoT Greengrass Core software
- Run the Amazon IoT Greengrass Core software
- Run Amazon IoT Greengrass Core software in a Docker container
- Configure the Amazon IoT Greengrass Core software
- Update the Amazon IoT Greengrass Core software (OTA)
- Uninstall the Amazon IoT Greengrass Core software
Supported platforms
Device requirements
Lambda function requirements
Important
Greengrass Lambda functions are currently not supported by Greengrass nucleus lite.
Your device must meet the following requirements to run Lambda functions:
-
A Linux-based operating system.
-
Your device must have the
mkfifo
shell command. -
Your device must run the programming language libraries that a Lambda function requires. You must install the required libraries on the device and add them to the
PATH
environment variable. Greengrass supports all Lambda supported versions of Python, Node.js, and Java runtimes. Greengrass doesn't apply any additional restrictions on deprecated Lambda runtime versions. For more information about Amazon IoT Greengrass support for Lambda runtimes, see Run Amazon Lambda functions. -
To run containerized Lambda functions, your device must meet the following requirements:
-
Linux kernel version 4.4 or later.
-
The kernel must support cgroups
v1, and you must enable and mount the following cgroups: -
The memory cgroup for Amazon IoT Greengrass to set the memory limit for containerized Lambda functions.
-
The devices cgroup for containerized Lambda functions to access system devices or volumes.
The Amazon IoT Greengrass Core software doesn't support cgroups v2.
To meet this requirement, boot the device with the following Linux kernel parameters.
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
Tip
On a Raspberry Pi, edit the
/boot/cmdline.txt
file to set the device's kernel parameters. -
-
You must enable the following Linux kernel configurations on the device:
-
Namespace:
-
CONFIG_IPC_NS
-
CONFIG_UTS_NS
-
CONFIG_USER_NS
-
CONFIG_PID_NS
-
-
Cgroups:
-
CONFIG_CGROUP_DEVICE
-
CONFIG_CGROUPS
-
CONFIG_MEMCG
-
-
Others:
-
CONFIG_POSIX_MQUEUE
-
CONFIG_OVERLAY_FS
-
CONFIG_HAVE_ARCH_SECCOMP_FILTER
-
CONFIG_SECCOMP_FILTER
-
CONFIG_KEYS
-
CONFIG_SECCOMP
-
CONFIG_SHMEM
-
Tip
Check the documentation for your Linux distribution to learn how to verify and set Linux kernel parameters. You can also use Amazon IoT Device Tester for Amazon IoT Greengrass to verify that your device meets these requirements. For more information, see Using Amazon IoT Device Tester for Amazon IoT Greengrass V2.
-
-
Set up an Amazon Web Services account
If you do not have an Amazon Web Services account, use the following procedure to create one.
To sign up for Amazon Web Services
Open http://www.amazonaws.cn/
and choose Sign Up. Follow the on-screen instructions.
Secure IAM users
After you sign up for an Amazon Web Services account, safeguard your administrative user by turning on multi-factor authentication (MFA). For instructions, see Enable a virtual MFA device for an IAM user (console) in the IAM User Guide.
To give other users access to your Amazon Web Services account resources, create IAM users. To secure your IAM users, turn on MFA and only give the IAM users the permissions needed to perform their tasks.
For more information about creating and securing IAM users, see the following topics in the IAM User Guide: