

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 设置 AWS IoT Greengrass 核心设备
<a name="setting-up"></a>

完成本节中的任务以安装、配置和运行 AWS IoT Greengrass 核心软件。

**注意**  
本节介绍 AWS IoT Greengrass 核心软件的高级安装和配置。这些步骤不适用于 nucleus Lite。如果您是首次使用 nucleus Lite AWS IoT Greengrass V2，我们建议您先完成[入门教程](getting-started.md)，设置核心设备并探索其功能。 AWS IoT Greengrass



**Topics**
+ [支持的平台](#supported-platforms)
+ [设备要求](#device-requirements)
+ [Lambda 函数要求](#greengrass-v2-lambda-requirements)
+ [设置一个 AWS 账户](#set-up-aws-account)
+ [安装 AWS IoT Greengrass Core 软件](install-greengrass-core-v2.md)
+ [运行 AWS IoT Greengrass 核心软件](run-greengrass-core-v2.md)
+ [在 Docker 容器中运行 AWS IoT Greengrass 核心软件](run-greengrass-docker.md)
+ [配置 AWS IoT Greengrass 核心软件](configure-greengrass-core-v2.md)
+ [更新 AWS IoT Greengrass Core 软件（OTA）](update-greengrass-core-v2.md)
+ [卸载 AWS IoT Greengrass Core 软件](uninstall-greengrass-core-v2.md)

## 支持的平台
<a name="supported-platforms"></a>
+ [支持 Greengrass Nucleus 的平台](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html)
+ [支持 Greengrass Nucleus Lite 的平台](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)

## 设备要求
<a name="device-requirements"></a>
+ [Greengrass Nucleus 设备要求](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html)
+ [Greengrass Nucleus Lite 设备要求](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)

## Lambda 函数要求
<a name="greengrass-v2-lambda-requirements"></a>

**重要**  
Greengrass Nucleus Lite 目前不支持 Greengrass Lambda 函数。

您的设备必须满足以下要求才能运行 Lambda 函数：
+ 基于 Linux 的操作系统。
+ 您的设备必须有 `mkfifo` Shell 命令。
+ 您的设备必须运行 Lambda 函数所需的编程语言库。您必须在设备上安装所需的库并将其添加到 `PATH` 环境变量中。Greengrass 支持所有 Lambda 支持的 Python、Node.js 和 Java 运行时版本。Greengrass 不对已弃用的 Lambda 运行时版本施加任何额外限制。有关 AWS IoT Greengrass 支持 Lambda 运行时的更多信息，请参阅。[运行 AWS Lambda 函数](run-lambda-functions.md)
+ 要运行容器化 Lambda 函数，您的设备必须满足以下要求：
  + Linux 内核 4.4 或更高版本。
  + 内核必须支持 [cgroups](https://en.wikipedia.org/wiki/Cgroups) v1，并且您必须启用并挂载以下 cgroups：
    + 用于为 AWS IoT Greengrass 容*器*化 Lambda 函数设置内存限制的内存 cgroup。
    + 用于容器化 Lambda 函数访问系统设备或卷的 *devices* cgroup。

     AWS IoT Greengrass 核心软件不支持 cgroups v2。

    要满足此要求，请使用以下 Linux 内核参数启动设备。

    ```
    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
    ```
**提示**  
在 Raspberry Pi 上，编辑 `/boot/cmdline.txt` 文件以设置设备的内核参数。
  + 您必须在设备上启用以下 Linux 内核配置：
    + 命名空间：
      + `CONFIG_IPC_NS`
      + `CONFIG_UTS_NS`
      + `CONFIG_USER_NS`
      + `CONFIG_PID_NS`
    + Cgroups：
      + `CONFIG_CGROUP_DEVICE`
      + `CONFIG_CGROUPS`
      + `CONFIG_MEMCG`
    + 其他：
      + `CONFIG_POSIX_MQUEUE`
      + `CONFIG_OVERLAY_FS`
      + `CONFIG_HAVE_ARCH_SECCOMP_FILTER`
      + `CONFIG_SECCOMP_FILTER`
      + `CONFIG_KEYS`
      + `CONFIG_SECCOMP`
      + `CONFIG_SHMEM`
**提示**  
查看您的 Linux 发行版文档以了解如何验证并设置 Linux 内核参数。您也可以使用 AWS IoT Device Tester AWS IoT Greengrass 来验证您的设备是否满足这些要求。有关更多信息，请参阅 [使用适用于 AWS IoT Greengrass V2 的 AWS IoT Device Tester](device-tester-for-greengrass-ug.md)。

## 设置一个 AWS 账户
<a name="set-up-aws-account"></a>

如果您没有 AWS 账户，请完成以下步骤来创建一个。

**要注册 AWS 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.aws.amazon.com/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

要创建管理员用户，请选择以下选项之一。


****  

| 选择一种方法来管理您的管理员 | 目的 | 方式 | 您也可以 | 
| --- | --- | --- | --- | 
| 在 IAM Identity Center 中 （建议） | 使用短期凭证访问 AWS。这符合安全最佳实操。有关最佳实践的信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)。 | 有关说明，请参阅《AWS IAM Identity Center 用户指南》中的[入门](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html)。 | 通过在《AWS Command Line Interface 用户指南[》 AWS IAM Identity Center中配置 AWS CLI 要使用的来](https://docs.aws.amazon.com//cli/latest/userguide/cli-configure-sso.html)配置编程访问权限。 | 
| 在 IAM 中 （不推荐使用） | 使用长期凭证访问 AWS。 | 按照《IAM 用户指南》中的[创建用于紧急访问的 IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started-emergency-iam-user.html)中的说明进行操作。 | 按照《IAM 用户指南》中的[管理 IAM 用户的访问密钥](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html)，配置编程式访问。 | 