安装Amazon IoT GreengrassCore 软件Amazon IoT队列预置 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

安装Amazon IoT GreengrassCore 软件Amazon IoT队列预置

此功能适用于 v2.4.0 及更高版本的Greengrass 核组件.

与Amazon IoT队列配置,您可以配置Amazon IoT在设备连接到时生成 X.509 设备证书和私有密钥,并将它们安全地传递到设备。Amazon IoT首次。Amazon IoT提供由 Amazon Root 证书颁发机构 (CA) 签发的客户端证书。您也可以将Amazon IoT来指定事物组、事物类型和您通过队列置备置备的 Greengrass 核心设备的权限。您可以定义预置模板来定义Amazon IoT配置每个设备。置备模板指定置备时要为设备创建的事物、策略和证书资源。有关更多信息,请参阅 。预置模板中的Amazon IoT Core开发人员指南.

Amazon IoT Greengrass提供了Amazon IoT队列置备插件,您可以使用该插件安装Amazon IoT GreengrassCore 软件使用Amazon已由 创建的 资源Amazon IoT队列预置。队列配置插件使用通过申请进行预置. 设备使用置备声明证书和私钥获取可用于常规操作的唯一 X.509 设备证书和私钥。您可以在制造过程中在每台设备中嵌入声明证书和私钥,以便您的客户稍后可以在每台设备联机时激活设备。您可以为多个设备使用同一个声明证书和私有密钥。有关更多信息,请参阅 。通过申请进行预配置中的Amazon IoT Core开发人员指南.

安装Amazon IoT GreengrassCore 软件Amazon IoT队列预置时,您必须在Amazon Web Services 账户thatAmazon IoT用于配置 Greengrass 核心设备。这些资源包括置备模板、声明证书和令牌交换 IAM 角色. 创建这些资源后,您可以重复使用它们来配置一个队列中的多个核心设备。有关更多信息,请参阅设置Amazon IoT适用于 Greengrass 核心设备的车队配置

重要

在您下载Amazon IoT Greengrass核心软件,请检查您的核心设备是否满足要求来安装并运行Amazon IoT GreengrassCore 软件 2.0.

Prerequisites

安装Amazon IoT GreengrassCore 软件Amazon IoT队列预配置模式,则必须先设置Amazon IoT适用于 Greengrass 核心设备的车队配置. 完成这些步骤后,您可以使用队列预配置安装Amazon IoT Greengrass任意数量的设备上的核心软件。

检索Amazon IoT终端节点

GetAmazon IoT您的终端节点Amazon Web Services 账户,然后保存它们以便稍后使用。您的设备使用这些端点连接到Amazon IoT. 执行以下操作:

  1. GetAmazon IoT数据终端节点Amazon Web Services 账户.

    aws iot describe-endpoint --endpoint-type iot:Data-ATS

    响应类似于以下示例,如果请求成功。

    { "endpointAddress": "device-data-prefix-ats.iot.us-west-2.amazonaws.com" }
  2. GetAmazon IoT凭据终端节点Amazon Web Services 账户.

    aws iot describe-endpoint --endpoint-type iot:CredentialProvider

    响应类似于以下示例,如果请求成功。

    { "endpointAddress": "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" }

将证书下载到设备

设备使用声明证书和私有密钥来验证其请求以置备Amazon资源并获取 X.509 设备证书。您可以在制造过程中将声明证书和私钥嵌入到设备中,或者在安装过程中将证书和密钥复制到设备中。在本节中,您将声明证书和私钥复制到设备。您还将 Amazon Root 证书颁发机构 (CA) 证书下载到设备。

重要

预配置申请私有密钥应始终得到保护,包括在 Greengrass 核心设备上时。我们建议您使用 Amazon CloudWatch 指标和日志来监控滥用迹象,例如未经授权使用申请证书预配置设备。如果您检测到滥用,请禁用预配置申请证书,以使其不能用于设备预配置。有关更多信息,请参阅 。监控Amazon IoT中的Amazon IoT Core开发人员指南.

将声明证书下载到设备

  1. 将声明证书和私有密钥复制到设备。

    例如,您可以运行scp命令将声明证书和私钥从名为claim-certs在开发计算机上传输到设备上。

    • Replace设备 IP 地址与您的设备的 IP 地址。

    scp -r claim-certs/ device-ip-address:~
  2. 在设备上创建 Greengrass 根文件夹。您稍后将安装Amazon IoT Greengrass核心软件添加到此文件夹。

    • Replace/绿草/v2将添加到要使用的文件夹。

    sudo mkdir -p /greengrass/v2
  3. 设置 Greengrass 根文件夹的父文件夹的权限。

    • Replace/Greengrass与根文件夹的父文件夹。

    sudo chmod 755 /greengrass
  4. 将声明证书移动到 Greengrass 根文件夹。

    • Replace/绿草/v2与 Greengrass 根文件夹。

    sudo mv ~/claim-certs /greengrass/v2
  5. 下载亚马逊根证书颁发机构 (CA) 证书。Amazon IoT证书默认与亚马逊的根 CA 证书关联。

    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem

下载Amazon IoT GreengrassCore 软件

您可以下载最新版本的Amazon IoT Greengrass来自以下位置的核心软件:

注意

您可以从下载特定版本的Amazon IoT Greengrass来自以下位置的核心软件。Replaceversion与要下载的版本。

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip

下载Amazon IoT Greengrass核心软件

  1. 在您的设备上,下载Amazon IoT Greengrass核心软件转换为名为greengrass-nucleus-latest.zip.

    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip

    一旦下载此软件,即表示您同意Greengrass 核心软件许可协议.

  2. 解压缩Amazon IoT Greengrass核心软件添加到设备上的文件夹中。Replace绿色草原与您要使用的文件夹。

    unzip greengrass-nucleus-latest.zip -d GreengrassCore && rm greengrass-nucleus-latest.zip
    重要

    如果您安装早于 v2.4.0 版本的 Greengrass 核心,请不要删除此文件夹后安装Amazon IoT GreengrassCore 软件。这些区域有:Amazon IoT Greengrass核心软件使用此文件夹中的文件来运行。

    如果您下载了最新版本的软件,请安装 v2.4.0 或更高版本,并且可以在安装Amazon IoT GreengrassCore 软件。

  3. (可选)运行以下命令,查看Amazon IoT GreengrassCore 软件。

    java -jar ./GreengrassCore/lib/Greengrass.jar --version

下载Amazon IoT队列预置插件

您可以从下载最新版本的Amazon IoT队列预置插件,从以下位置:

下载Amazon IoT队列配置插件 (Linux)

  • 在您的设备上,下载Amazon IoT队列置备插件添加到名为aws.greengrass.FleetProvisioningByClaim.jar. Replace绿色草原与您要使用的文件夹。

    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassCore/aws.greengrass.FleetProvisioningByClaim.jar

    一旦下载此软件,即表示您同意Greengrass 核心软件许可协议.

安装 Amazon IoT Greengrass Core 软件

使用指定以下操作的参数运行安装程序:

  • 从部分配置文件进行安装,该文件指定使用队列置备插件来置备Amazon资源的费用。这些区域有:Amazon IoT Greengrass核心软件使用配置文件,用于指定设备上每个 Greengrass 组件的配置。安装程序将根据您提供的部分配置文件创建完整的配置文件,并且Amazon队列置备插件创建的资源。

  • 使用ggc_user系统用户和ggc_group系统组以在核心设备上运行软件组件。如果此默认用户和组不存在,则安装程序将创建这些用户和组。

  • 将软件安装为启动时运行的系统服务,如果您的设备具有systemdinit 系统。

有关可以指定的参数的详细信息,请参阅安装程序参数.

注意

如果您运行Amazon IoT Greengrass在内存有限的设备上,您可以控制Amazon IoT GreengrassCore 软件使用。要控制内存分配,可以在jvmOptions配置参数。有关更多信息,请参阅使用 JVM 选项控制内存分配

安装Amazon IoT Greengrass核心软件

  1. 检查版本Amazon IoT GreengrassCore 软件。

    • Replace绿色草原将替换为包含软件的文件夹的路径。

    java -jar ./GreengrassCore/lib/Greengrass.jar --version
  2. 使用文本编辑器创建名为config.yaml以提供给安装程序。

    例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 创建config.yaml中的绿色草原folder。

    nano GreengrassCore/config.yaml

    将以下 YAML 内容复制到该文件中。此部分配置文件指定队列置备插件的参数。有关可以指定的选项的详细信息,请参阅配置Amazon IoT队列预置插件.

    --- services: aws.greengrass.Nucleus: version: "2.4.0" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: /greengrass/v2 awsRegion: "us-west-2" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" provisioningTemplate: "GreengrassFleetProvisioningTemplate" claimCertificatePath: "/greengrass/v2/claim-certs/claim.pem.crt" claimCertificatePrivateKeyPath: "/greengrass/v2/claim-certs/claim.private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup"

    然后,执行以下操作:

    • Replace2.4.0版本的Amazon IoT GreengrassCore 软件。

    • 替换/绿草/v2与 Greengrass 根文件夹。

    • Replaceus-west-2与Amazon您创建置备模板和其他资源的区域。

    • 替换iotDataEndpoint使用您的Amazon IoT数据终端节点。

    • 替换iotCredentialEndpoint使用您的Amazon IoT凭证终端节点。

    • Replace绿色草芯代币交换别名替换为令牌交换角色别名的名称。

    • Replace绿色草坪置备模板替换为队列预配置模板的名称。

    • 替换claimCertificatePath与设备上声明证书的路径。

    • 替换claimCertificatePrivateKeyPath与设备上声明证书私钥的路径。

    • 替换模板参数 (templateParameters),其中包含用于置备设备的值。此示例引用示例模板定义ThingNameThingGroupName参数。

    注意

    在此配置文件中,您可以自定义其他配置选项,例如要使用的端口和网络代理,如以下示例所示。有关更多信息,请参阅 。Greengrass 核配置.

    --- services: aws.greengrass.Nucleus: version: "2.4.0" configuration: mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "http://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: /greengrass/v2 awsRegion: "us-west-2" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" provisioningTemplate: "GreengrassFleetProvisioningTemplate" claimCertificatePath: "/greengrass/v2/claim-certs/claim.pem.crt" claimCertificatePrivateKeyPath: "/greengrass/v2/claim-certs/claim.private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup" mqttPort: 443 proxyUrl: "http://my-proxy-server:1100" proxyUserName: "Mary_Major" proxyPassword: "pass@word1357"
  3. 运行安装程序。指定--trusted-plugin来提供队列配置插件,并指定--init-config以提供配置文件。

    • Replace/绿草/v2与 Greengrass 根文件夹。

    • 替换绿色草原与您解压安装程序的文件夹一起使用。

    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassCore/lib/Greengrass.jar \ --trusted-plugin ./GreengrassCore/aws.greengrass.FleetProvisioningByClaim.jar \ --init-config ./GreengrassCore/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true

    如果您指定--setup-system-service true,安装程序将打印Successfully set up Nucleus as a system service(如果它将软件作为系统服务设置并运行)。否则,如果安装程序成功安装软件,则不会输出任何消息。

    注意

    您不能使用deploy-dev-tools参数在运行安装程序时部署本地开发工具--provision true参数。有关直接在设备上部署 Greengrass CLI 的信息,请参阅Greengrass.

  4. 通过查看根文件夹中的文件来验证安装。

    ls /greengrass/v2

    如果安装成功,则根文件夹包含多个文件夹,例如configpackages, 和logs.

如果您安装了Amazon IoT Greengrass核心软件作为系统服务,安装程序会为您运行该软件。否则,必须手动运行该软件。有关更多信息,请参阅运行Amazon IoT GreengrassCore 软件

有关如何配置和使用软件和Amazon IoT Greengrass中,请参阅: