本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS IoT Greengrass 在与 Amazon EC2 兼容的实例上运行预安装的软件
AWS IoT Greengrass 是一项开源物联网 (IoT) 边缘运行时和云服务,可帮助您在设备上构建、部署和管理 IoT 应用程序。您可以使用 AWS IoT Greengrass 构建软件,使您的设备能够在本地操作其生成的数据进行,基于机器学习模型运行预测,并筛选和聚合设备数据。有关 AWS IoT Greengrass 的详细信息,请参阅《AWS IoT Greengrass Version 2 开发人员指南》中的什么是 AWS IoT Greengrass?。
通过在 Snow 系列设备上使用 AWS IoT Greengrass,设备能够在离数据生成位置更近的地方收集和分析数据,对本地事件自主做出反应,并与本地网络上的其它设备安全通信。
设置与 Amazon EC2 兼容的实例
注意
要在 Snow Family 设备上安装 AWS IoT Greengrass Version 2,请确保您的设备已连接到互联网。安装完成后,Snow 系列设备无需互联网即可使用 AWS IoT Greengrass。
要为 AWS IoT Greengrass V2 设置与 EC2 兼容的实例,请执行以下操作
使用公有 IP 地址和 SSH 密钥启动经过 AWS IoT Greengrass 验证的 AMI:
使用AWS CLI:run-instances。
使用 AWS OpsHub:启动与 Amazon EC2 兼容的实例。
注意
记下与实例关联的公有 IP 地址和 SSH 密钥名称。
使用 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 转换私有密钥。
安装 AWS IoT Greengrass
接下来,将与 EC2 兼容的实例设置为可用于本地开发的 AWS IoT Greengrass Core 设备。
要安装 AWS IoT Greengrass,请执行以下操作
使用以下命令安装 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
授予根用户运行 AWS 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
使用以下命令下载 AWS 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
使用以下命令提供凭证来允许安装 AWS IoT Greengrass Core 软件。将示例值替换为您的凭证。
export AWS_ACCESS_KEY_ID=
AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
注意
这些凭证来自 AWS 区域的 IAM 用户,而非 Snow 系列设备。
使用以下命令安装 AWS IoT Greengrass Core 软件。该命令创建 Core 软件运行所需的 AWS 资源,并将 Core 软件设置为在 AMI 启动时运行的系统服务。
在命令中替换以下参数:
region
:在其中查找或创建资源的 AWS 区域。MyGreengrassCore
:您的 AWS IoT Greengrass Core 设备的 AWS IoT 事物的名称。MyGreengrassCoreGroup
:您的 AWS IoT Greengrass Core 设备的 AWS IoT 事物组的名称。
sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --aws-region
region
\ --thing-nameMyGreengrassCore
\ --thing-group-nameMyGreengrassCoreGroup
\ --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 AWS IoT Greengrass Core software。
完成后,您将在 Snow 系列设备上拥有一个正在运行的 AWS IoT Greengrass Core,供您在本地使用。