AWS IoT Greengrass 用于在 Snow Family 设备上的 EC2 Amazon 兼容实例上运行预安装的软件 - AWS Snowball Edge 开发者指南

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

AWS IoT Greengrass 用于在 Snow Family 设备上的 EC2 Amazon 兼容实例上运行预安装的软件

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

通过在您的 Snow Family 设备 AWS IoT Greengrass 上使用,可以让设备在离数据生成地点更近的地方收集和分析数据,对本地事件做出自主反应,并与本地网络上的其他设备进行安全通信。

在 Snow EC2 Family 设备 AWS IoT Greengrass 上设置与亚马逊兼容的实例

注意

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

要为设置与之EC2兼容的实例 AWS IoT Greengrass V2
  1. 使用公AMI有 IP 地址和SSH密钥启动 AWS IoT Greengrass 经过验证的:

    1. 使用 AWS CLI:运行实例

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

    注意

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

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

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

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

AWS IoT Greengrass 在 Snow EC2 Family 设备上的兼容实例上安装

接下来,您将EC2兼容实例设置为可用于本地开发的 AWS IoT Greengrass 核心设备。

要安装 AWS IoT Greengrass
  1. 使用以下命令安装的必备软件 AWS IoT Greengrass。此命令安装 AWS Command Line Interface (AWS 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. 授予 root 用户运行 AWS IoT Greengrass 软件的权限,并在 sudoers 配置文件root ALL=(ALL:ALL) ALLroot ALL=(ALL) ALL将 root 权限从修改为。

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

    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. 使用以下命令提供凭据以允许您安装 AWS IoT Greengrass Core 软件。将示例值替换为您的凭证。

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

    这些是来自该 AWS 地区IAM用户的凭证,而不是 Snow Family 设备的凭证。

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

    在命令中替换以下参数:

    • region:要在其中查找或创建资源 AWS 的地区。

    • MyGreengrassCore: AWS IoT Greengrass 核心 AWS IoT 设备的名称。

    • MyGreengrassCoreGroup: AWS IoT Greengrass 核心设备 AWS 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
    注意

    此命令适用于运行亚马逊 EC2 Linux 2 AMI 的亚马逊兼容实例。对于 WindowsAMI,请参阅安装 AWS IoT Greengrass 核心软件

完成后,你将在你的 Snow Family 设备上运行一个内 AWS IoT Greengrass 核供本地使用。