入门 AWS IoT Greengrass - AWS IoT Greengrass

AWS IoT Greengrass Version 1 2023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅 AWS IoT Greengrass V1 维护策略。在此日期之后,将 AWS IoT Greengrass V1 不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上面运行的设备 AWS IoT Greengrass V1 不会中断,将继续运行并连接到云端。我们强烈建议您迁移到 AWS IoT Greengrass Version 2,这样可以添加重要的新功能支持其他平台

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

入门 AWS IoT Greengrass

本入门教程包括几个模块,旨在向您展示 AWS IoT Greengrass 基础知识并帮助您开始使用 AWS IoT Greengrass。本教程涵盖如下基本概念:

  • 配置 AWS IoT Greengrass 核心和组。

  • 在边缘运行 AWS Lambda 函数的部署过程。

  • 将称为客户端设备的设备连接到 AWS IoT 核 AWS IoT Greengrass 心。

  • 创建订阅以允许本地 Lambda 函数、客户端设备和之间的 MQTT 通信。 AWS IoT

选择如何开始使用 AWS IoT Greengrass

您可以选择如何使用本教程设置您的核心设备:

  • 在核心设备上运行 Greengrass 设备安装程序,只需几分钟即可完成从 AWS IoT Greengrass 安装依赖项到测试 Hello World Lambda 函数的过程。此脚本重现模块 1 到模块 3-1 中的步骤。

     

     - 或 -

     

  • 逐步执行模块 1 到模块 3-1 中的步骤,以更仔细地检查 Greengrass 的要求和流程。这些步骤包括设置您的核心设备、创建和配置包含 Hello World Lambda 函数的 Greengrass 群组,以及部署 Greengrass 群组。通常,这需要一两个小时才能完成。

入门模块
Quick Start(快速入门)

Greengrass 设备安装程序可配置您的核心设备和 Greengrass 资源。脚本:

  • 安装 AWS IoT Greengrass 依赖关系。

  • 下载根 CA 证书及核心设备证书和密钥。

  • 在您的设备上下载、安装和配置 AWS IoT Greengrass Core 软件。

  • 在核心设备上启动 Greengrass 守护进程。

  • 如果需要,创建或更新 Greengrass 服务角色

  • 创建 Greengrass 组和 Greengrass 核心。

  • (可选)创建 Hello World Lambda 函数、订阅和本地日志记录配置。

  • (可选)部署 Greengrass 组。

模块 1 和模块 2

模块 1模块 2 描述了如何设置您的环境。(或者,使用 Greengrass 设备安装程序来为您运行这些模块。)

  • 为 Greengrass 配置核心设备。

  • 运行依赖项检查程序脚本。

  • 创建 Greengrass 组和 Greengrass 核心。

  • 从 tar.gz 文件下载并安装最新的 AWS IoT Greengrass 酷睿软件。

  • 在核心设备上启动 Greengrass 守护进程。

注意

AWS IoT Greengrass 还提供了安装 AWS IoT Greengrass 核心软件的其他选项,包括在支持的 Debian 平台上apt安装。有关更多信息,请参阅 安装 AWS IoT Greengrass Core 软件

模块 3-1 和 3-2

模块 3-1模块 3-2 描述了如何使用本地 Lambda 函数。(或者,使用 Greengrass 设备安装程序来为您运行模块 3-1。)

  • 在中创建 Hello World Lambda 函数。 AWS Lambda

  • 将 Lambda 函数添加到您的 Greengrass 组。

  • 创建允许在 Lambda 函数和之间进行 MQTT 通信的订阅。 AWS IoT

  • 为 Greengrass 系统组件和 Lambda 函数配置本地日志记录。

  • 部署程序包含 Lambda 函数和订阅的 Greengrass 组。

  • 将来自本地 Lambda 函数的消息发送到。 AWS IoT

  • 从中调用本地 Lambda 函数。 AWS IoT

  • 测试按需和长时间运行的函数。

模块 4 和 5

模块 4 展示了客户端设备如何连接到核心并相互通信。

模块 5 展示了客户端设备如何使用阴影来控制状态。

  • 注册和配置 AWS IoT 设备(由命令行终端表示)。

  • 安装 AWS IoT Device SDK 适用于 Python 的。客户端设备使用它来发现 Greengrass 核心。

  • 将客户端设备添加到您的 Greengrass 组。

  • 创建允许 MQTT 通信的订阅。

  • 部署程序包含客户端设备的 Greengrass 组。

  • 测试 device-to-device 通信。

  • 测试阴影状态更新。

模块 6

模块 6 展示了 Lambda 函数如何访问 AWS Cloud。

  • 创建允许访问 Amazon DynamoDB 资源的 Greengrass 组角色。

  • 将 Lambda 函数添加到 Greengrass 组。此函数使用适用于 Python 的 AWS 软件开发工具包与 DynamoDB 进行交互。

  • 创建允许 MQTT 通信的订阅。

  • 测试与 DynamoDB 的交互。

模块 7

模块 7 展示了如何配置模拟硬件安全模块 (HSM) 以便与 Greengrass 核心一起使用。

重要

此高级模块仅用于实验和初始测试。它不适用于任何种类的生产用途。

  • 安装和配置基于软件的 HSM 和私钥。

  • 配置 Greengrass 核心以使用硬件安全性。

  • 测试硬件安全性配置。

要求

要完成本教程,您需要:

  • Mac、Windows PC 或类似 UNIX 的系统。

  • 一个 AWS 账户。如果没有,请参阅创建一个 AWS 账户

  • 使用支持的 AWS 区域 AWS IoT Greengrass。有关支持的区域列表 AWS IoT Greengrass,请参阅中的AWS 终端节点和配额AWS 一般参考

    注意

    记下你的, AWS 区域 并确保在本教程中始终如一地使用它。如果您在教程 AWS 区域 中切换,则在完成这些步骤时可能会遇到问题。

  • 一台 Raspberry PI 4 Model B 或 Raspberry PI 3 Model B/B+(带有一张 8 GB microSD 卡)或一个 Amazon EC2 实例。由于理想情况下 AWS IoT Greengrass 应与物理硬件结合使用,因此,我们建议您使用 Raspberry Pi。

    注意

    运行以下命令可获取 Raspberry Pi 的型号:

    cat /proc/cpuinfo

    在列表底部附近,找到并记下 Revision 属性的值,然后查阅 Which Pi have I got? 表。例如,如果 Revision 的值为 a02082,查阅该表可知该 Pi 为 3 Model B。

    请运行下面的命令,以确定您的 Raspberry Pi 的体系结构:

    uname -m

    在本教程中,此结果应该大于或等于 armv71

  • 基本熟悉 Python。

尽管本教程旨在在 Raspberry Pi AWS IoT Greengrass 上运行,但 AWS IoT Greengrass 也支持其他平台。有关更多信息,请参阅 支持的平台和要求

创建一个 AWS 账户

如果您没有 AWS 账户,请按照以下步骤创建并激活 AWS 账户:

注册获取 AWS 账户

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

报名参加 AWS 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

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

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

    当您注册时 AWS 账户,就会创建AWS 账户根用户一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务

AWS 注册过程完成后会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/ 并选择我的账户来查看当前的账户活动并管理您的账户。

创建具有管理访问权限的用户

注册后,请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center,启用并创建管理用户,这样您就不会使用 root 用户执行日常任务。

保护你的 AWS 账户根用户
  1. 选择 Root 用户并输入您的 AWS 账户 电子邮件地址,以账户所有者的身份登录。AWS Management Console在下一页上,输入您的密码。

    要获取使用根用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的以根用户身份登录

  2. 为您的根用户启用多重身份验证 (MFA)。

    有关说明,请参阅 I A M 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备(控制台)

创建具有管理访问权限的用户
  1. 启用 IAM Identity Center

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的启用 AWS IAM Identity Center

  2. 在 IAM Identity Center 中,为用户授予管理访问权限。

    有关使用 IAM Identity Center 目录 作为身份源的教程,请参阅《用户指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户访问权限

以具有管理访问权限的用户身份登录
将访问权限分配给其他用户
  1. 在 IAM Identity Center 中,创建一个权限集,该权限集遵循应用最低权限的最佳做法。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的创建权限集

  2. 将用户分配到一个组,然后为该组分配单点登录访问权限。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的添加组

重要

在本教程中,我们假定您的 IAM 用户账户具有管理员访问权限。