使用 Amazon IoT Greengrass 在与 Amazon EC2 兼容的实例上运行预安装的软件 - Amazon Snowball Edge 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon IoT Greengrass 在与 Amazon EC2 兼容的实例上运行预安装的软件

Amazon IoT Greengrass 是一项开源物联网 (IoT) 边缘运行时和云服务,可帮助您在设备上构建、部署和管理 IoT 应用程序。您可以使用 Amazon IoT Greengrass 构建软件,使您的设备能够在本地操作其生成的数据进行,基于机器学习模型运行预测,并筛选和聚合设备数据。有关 Amazon IoT Greengrass 的详细信息,请参阅《Amazon IoT Greengrass Version 2 开发人员指南》中的什么是 Amazon IoT Greengrass?

通过在 Snow 系列设备上使用 Amazon IoT Greengrass,设备能够在离数据生成位置更近的地方收集和分析数据,对本地事件自主做出反应,并与本地网络上的其它设备安全通信。

设置与 Amazon EC2 兼容的实例

注意

要在 Snow Family 设备上安装 Amazon IoT Greengrass Version 2,请确保您的设备已连接到互联网。安装完成后,Snow 系列设备无需互联网即可使用 Amazon IoT Greengrass。

要为 Amazon IoT Greengrass V2 设置与 EC2 兼容的实例,请执行以下操作
  1. 使用公有 IP 地址和 SSH 密钥启动经过 Amazon IoT Greengrass 验证的 AMI:

    1. 使用Amazon CLI:run-instances

    2. 使用 Amazon OpsHub:启动与 Amazon EC2 兼容的实例

    注意

    记下与实例关联的公有 IP 地址和 SSH 密钥名称。

  2. 使用 SSH 连接到与 EC2 兼容的实例。为此,请在连接到您设备的计算机上运行以下命令。将 ssh-key 替换为您用于启动与 EC2 兼容的实例的密钥。将 public-ip-address 替换为与 EC2 兼容的实例的公有 IP 地址。

    ssh -i ssh-key ec2-user@ public-ip-address
    重要

    如果您的计算机使用的是早期版本的 Microsoft Windows,那么您可能没有 SSH 命令,或者您可能有 SSH 但无法连接到与 EC2 兼容的实例。要连接到与 EC2 兼容的实例,您可以安装和配置 PuTTY,这是一款免费的开源 SSH 客户端。您必须将 SSH 密钥从 .pem 格式转换为 PuTTY 格式并连接到您的 EC2 实例。有关如何将 .pem 转换为 PuTTY 格式的说明,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的使用 PuTTYgen 转换私有密钥

安装 Amazon IoT Greengrass

接下来,将与 EC2 兼容的实例设置为可用于本地开发的 Amazon IoT Greengrass Core 设备。

要安装 Amazon IoT Greengrass,请执行以下操作
  1. 使用以下命令安装 Amazon IoT Greengrass 的必备软件。此命令可安装 Amazon Command Line Interface (Amazon CLI) v2、Python 3 和 Java 8。

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && unzip awscliv2.zip && sudo ./aws/install && sudo yum -y install python3 java-1.8.0-openjdk
  2. 授予根用户运行 Amazon IoT Greengrass 软件的权限,并在 sudoers 配置文件中将根权限从 root ALL=(ALL) ALL 修改为 root ALL=(ALL:ALL) ALL

    sudo sed -in 's/root\tALL=(ALL)/root\tALL=(ALL:ALL)/' /etc/sudoers
  3. 使用以下命令下载 Amazon IoT Greengrass Core 软件。

    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip && unzip greengrass-nucleus-latest.zip -d GreengrassCore && rm greengrass-nucleus-latest.zip
  4. 使用以下命令提供凭证来允许安装 Amazon IoT Greengrass Core 软件。将示例值替换为您的凭证。

    export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
    注意

    这些凭证来自 Amazon 区域的 IAM 用户,而非 Snow 系列设备。

  5. 使用以下命令安装 Amazon IoT Greengrass Core 软件。该命令创建 Core 软件运行所需的 Amazon 资源,并将 Core 软件设置为在 AMI 启动时运行的系统服务。

    在命令中替换以下参数:

    • region:在其中查找或创建资源的 Amazon 区域。

    • MyGreengrassCore:您的 Amazon IoT Greengrass Core 设备的 Amazon IoT 事物的名称。

    • MyGreengrassCoreGroup:您的 Amazon IoT Greengrass Core 设备的 Amazon IoT 事物组的名称。

    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --aws-region region \ --thing-name MyGreengrassCore \ --thing-group-name MyGreengrassCoreGroup \ --thing-policy-name GreengrassV2IoTThingPolicy \ --tes-role-name GreengrassV2TokenExchangeRole \ --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias \ --component-default-user ggc_user:ggc_group \ --provision true \ --setup-system-service true \ --deploy-dev-tools true
    注意

    此命令适用于运行 Amazon Linux 2 AMI 的与 Amazon EC2 兼容的实例。对于 Windows AMI,请参阅 Install the Amazon IoT Greengrass Core software

完成后,您将在 Snow 系列设备上拥有一个正在运行的 Amazon IoT Greengrass Core,供您在本地使用。