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

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

设置与 Amazon EC2 兼容的实例

注意

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

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

    1. 使用 Amazon CLI:运行实例

    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 格式转换为 PuTTY 格式的说明,请参阅 Amazon EC2 用户指南中的使用 Puttygen 转换您的私钥

正在安装 Amazon IoT Greengrass

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

要安装 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. 授予 root 用户运行 Amazon 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. 使用以下命令下载 Amazon 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. 使用以下命令提供凭据以允许您安装 Amazon IoT Greengrass Core 软件。将示例值替换为您的凭证。

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

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

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

    在命令中替换以下参数:

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

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

    • MyGreengrassCoreGroup: Amazon IoT Greengrass 核心设备 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,请参阅安装 Amazon IoT Greengrass 核心软件

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