设置 AWS AWS IoT Greengrass 核心设备 - AWS IoT Greengrass
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

设置 AWS AWS IoT Greengrass 核心设备

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

注意

本节介绍 AWS AWS IoT Greengrass 核心软件的高级配置。如果您是 AWS AWS IoT Greengrass V2 的新用户,我们建议您完成入门教程,以设置核心设备并探索 AWS AWS IoT Greengrass 的功能。

Requirements

设备必须满足以下要求才能安装和运行 AWS AWS IoT Greengrass 核心软件 v2:

  • 以下受支持的平台之一:

    • 架构:Armv7l

      • 操作系统:Linux

    • 架构:Armv8 (AArch64)

      • 操作系统:Linux

    • 架构:x86_64

      • 操作系统:Linux

    注意

    您可以使用适用于 AWS IoT IoT Greengrass 的 AWS IoT IoT Device Tester 来验证 AWS IoT IoT Greengrass 核心软件是否在硬件上运行并且可以与 AWS 云通信。有关更多信息,请参阅使用 AWS IoT IoT Greengrass V2 的 AWS IoT IoT Device Tester

  • 可用于 AWS IoT IoT Greengrass 核心软件的最小 256 MB 磁盘空间。此要求不包括部署到核心设备的组件。

  • 分配给 AWS AWS IoT Greengrass 核心软件的最小 128 MB RAM。此要求不包括在核心设备上运行的组件。

  • Java 版本 8 或更高版本。我们建议使用 OpenJDKAmazon Corretto。

  • GNU C 库 (glibc) 版本 2.25 或更高版本。

  • 运行 AWS AWS IoT Greengrass 核心软件的用户(通常为 root)必须有权sudo与任何 用户和任何组一起运行。/etc/sudoers 该文件必须向此用户授予以其他组sudo身份运行的权限。中用户的权限/etc/sudoers应类似于以下示例。

    root ALL=(ALL:ALL) ALL
  • 必须使用 /tmp 权限挂载exec目录。

  • 所有以下 shell 命令:

    • ps -ax -o pid,ppid

    • sudo

    • sh

    • kill

    • cp

    • chmod

    • rm

    • ln

    • echo

    • exit

    • id

    • uname

    • grep

  • 您的设备可能还需要以下可选 shell 命令:

    • (可选systemctl)(将 AWS AWS IoT Greengrass 核心软件设置为系统服务)

    • (可选)、 useradd groupaddusermod (用于设置ggc_user系统用户和ggc_group系统组)

    • (可选mkfifo)(将 Lambda 函数作为组件运行)

  • 要运行 Lambda 函数,您的设备必须满足其他要求。有关更多信息,请参阅运行 Lambda 函数的要求

运行 Lambda 函数的要求

您的设备必须满足以下要求才能运行 Lambda 函数:

  • 您必须以根用户身份运行 AWS AWS IoT Greengrass 核心软件。例如sudo,使用 。

  • 您的设备必须具有 mkfifo shell 命令。

  • 您的设备必须运行 Lambda 函数所需的编程语言库。您必须在设备上安装所需的库,并将其添加到 PATH 环境变量中。

    • 适用于使用 Python 3.8 运行时的函数的 Python 版本 3.8。

    • 适用于使用 Python 3.7 运行时的函数的 Python 版本 3.7。

    • 适用于使用 Python 2.7 运行时的函数的 Python 版本 2.7。

    • 适用于使用 Node.js 12.x 运行时的函数的 Node.js 版本 12.x。

    • 适用于使用 Node.js 10.x 运行时的函数的 Node.js 版本 10.x。

    • 适用于使用 Java 8 运行时的函数的 Java 版本 8 或更高版本。

    有关对 Lambda 运行时的 AWS AWS IoT Greengrass 支持的更多信息,请参阅运行 AWS Lambda 函数

  • 要运行容器化 Lambda 函数,您的设备必须满足以下要求:

    • Linux 内核 4.4 或更高版本。

    • 内核必须支持 cgroups,并且您必须启用并挂载以下 cgroups:

      • AWS AWS IoT Greengrass 的内存 cgroup,用于设置容器化 Lambda 函数的内存限制。

      • 设备为容器化 Lambda 函数分组以访问系统设备或卷。

    • 您必须在设备上启用以下 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

设置 AWS 账户

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

注册 AWS 账户

  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,您将接到一通电话,要求您使用电话键盘输入一个验证码。

自行创建管理员用户并将该用户添加到管理员组(控制台)

  1. 通过选择 Root user (Root 用户) 并输入您的 AWS 账户电子邮件地址,以账户所有者身份登录 IAM 控制台。在下一页上,输入您的密码。

    注意

    强烈建议您遵守以下使用 Administrator IAM 用户的最佳实践,妥善保存根用户凭证。只在执行少数账户和服务管理任务时才作为根用户登录。

  2. 在导航窗格中,选择用户,然后选择添加用户

  3. 对于 User name (用户名),输入 Administrator

  4. 选中 AWS Management Console access (AWS 管理控制台访问) 旁边的复选框。然后选择自定义密码,并在文本框中输入新密码。

  5. (可选)默认情况下,AWS 要求新用户在首次登录时创建新密码。您可以清除 User must create a new password at next sign-in (用户必须在下次登录时创建新密码) 旁边的复选框以允许新用户在登录后重置其密码。

  6. 选择下一步: 权限

  7. 设置权限下,选择将用户添加到组

  8. 选择创建组

  9. Create group (创建组) 对话框中,对于 Group name (组名称),输入 Administrators

  10. 选择 Filter policies (筛选策略),然后选择 AWS managed -job function (AWS 托管的作业职能) 以筛选表内容。

  11. 在策略列表中,选中 AdministratorAccess 的复选框。然后选择 Create group (创建组)

    注意

    您必须先激活 IAM 用户和角色对账单的访问权限,然后才能使用 AdministratorAccess 权限访问 AWS 账单和成本管理控制台。为此,请按照“向账单控制台委派访问权限”教程第 1 步中的说明进行操作。

  12. 返回到组列表中,选中您的新组所对应的复选框。如有必要,选择 Refresh 以在列表中查看该组。

  13. 选择下一步: 标签

  14. (可选)通过以键值对的形式附加标签来向用户添加元数据。有关在 IAM 中使用标签的更多信息,请参阅《IAM 用户指南》中的标记 IAM 实体

  15. 选择 Next: Review (下一步: 审核) 以查看要添加到新用户的组成员资格的列表。如果您已准备好继续,请选择 Create user

您可使用此相同的流程创建更多的组和用户,并允许您的用户访问 AWS 账户资源。要了解有关使用策略限制用户对特定 AWS 资源的权限的信息,请参阅访问管理示例策略