快速安装 - AWS IoT Greengrass
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

快速安装

AWS AWS IoT Greengrass 核心软件包含一个安装程序,该安装程序将您的设备设置为 Greengrass 核心设备。要快速设置设备,安装程序可以预置核心设备运行所需的 AWS IoT IoT 事物 AWS IoT IoT 事物组、IAM 角色和 AWS AWS IoT 角色别名。安装程序还可以将本地开发工具部署到核心设备,因此您可以使用该设备来开发和测试自定义软件组件。安装程序需要 AWS 凭证来预置这些资源并创建部署。

如果您无法向设备提供 AWS 凭证,则可以预置核心设备运行所需的 AWS 资源。您还可以将开发工具部署到核心设备以用作开发设备。这使您能够在运行安装程序时向设备提供较少的权限。有关更多信息,请参阅手动安装。

重要

在下载 AWS AWS IoT Greengrass 核心软件之前,请检查您的核心设备是否满足安装和运行 AWS AWS IoT Greengrass 核心软件 v2 的要求

向设备提供 AWS 凭证

向您的设备提供 AWS 凭证,以便安装程序可以预配置所需的 AWS 资源。有关所需权限的更多信息,请参阅安装程序预配置资源所需的最小 IAM 策略

注意

安装程序不会保存或存储您的凭证。

向设备提供 AWS 凭证

  • 在您的设备上,通过执行以下操作之一来提供 AWS 凭证:

    • 使用 IAM 用户的长期凭证:

      1. 为您的 IAM 用户提供访问密钥 ID 和秘密访问密钥。有关如何检索长期凭证的更多信息,请参阅 IAM 用户指南中的管理 IAM 用户的访问密钥。

      2. 运行以下命令以向 AWS AWS IoT Greengrass 核心软件提供凭证。

        export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
    • (推荐)使用来自 IAM 角色的临时安全凭证:

      1. 提供您担任的 IAM 角色的访问密钥 ID、秘密访问密钥和会话令牌。有关如何检索这些凭证的更多信息,请参阅 IAM 用户指南中的将临时安全凭证与 AWS CLI 结合使用。

      2. 运行以下命令以向 AWS AWS IoT Greengrass 核心软件提供凭证。

        export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=

下载 AWS AWS IoT Greengrass 核心软件

您可以从以下位置下载最新版本的 AWS AWS IoT Greengrass 核心软件:

注意

您可以从以下位置下载特定版本的 AWS AWS IoT Greengrass 核心软件。Replace version 替换为要下载的版本。

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

下载 AWS AWS IoT Greengrass 核心软件 (Linux)

  1. 在您的设备上,将 AWS AWS IoT Greengrass 核心软件下载到名为 的文件中greengrass-nucleus-latest-zip

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

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

  2. 将 AWS AWS IoT Greengrass 核心软件解压缩到设备上的文件夹。Replace GreengrassCore 替换为您要使用的文件夹。

    unzip greengrass-nucleus-latest.zip -d GreengrassCore && rm greengrass-nucleus-latest.zip
    提示

    您可以运行以下命令来查看 AWS AWS IoT Greengrass 核心软件版本。

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

安装 AWS AWS IoT Greengrass 核心软件

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

  • 创建核心设备运行所需的 AWS 资源。

  • 使用ggc_user系统用户和ggc_group系统组在核心设备上运行软件组件。安装程序将创建此默认用户和组(如果它们不存在)。

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

要使用本地开发工具设置开发设备,请指定 --deploy-dev-tools true 参数。安装完成后,本地开发工具最多可能需要一分钟进行部署。

有关您可以指定的参数的更多信息,请参阅安装程序参数

注意

如果您在内存有限的设备上运行 AWS AWS IoT Greengrass,则可以控制 AWS IoT IoT Greengrass Core 软件使用的内存量。要控制内存分配,您可以在 Ambda 组件的 jvmOptions 配置参数中设置 JVM 堆大小选项。有关更多信息,请参阅使用 JVM 选项控制内存分配

安装 AWS AWS IoT Greengrass 核心软件 (Linux)

  1. 运行 AWS AWS IoT Greengrass 核心安装程序。替换命令中的参数值,如下所示。

    1. /greengrass/v2:将 替换为用于安装 AWS AWS IoT Greengrass 核心软件的根文件夹的路径。

    2. GreengrassCore:如果您将安装程序解压缩到其他文件夹,请将此值替换为要使用的文件夹。

    3. region:将 替换为要在其中查找或创建资源的 AWS 区域。

    4. MyGreengrassCore:将 替换为 Greengrass 核心设备的 AWS AWS IoT 事物的名称。如果事物不存在,安装程序将创建它。安装程序将证书下载为 AWS AWS IoT 事物进行身份验证。

    5. MyGreengrassCoreGroup:将 替换为 Greengrass 核心设备的 AWS AWS IoT 事物组的名称。如果事物组不存在,安装程序将创建它并将事物添加到它。如果事物组存在并且具有活动部署,核心设备将下载并运行该部署指定的软件。

    6. MyGreengrassV2TokenExchangeRole:将 替换为允许 Greengrass 核心设备获取临时 AWS 凭证的 IAM 角色的名称。如果该角色不存在,安装程序将创建该角色,然后创建并附加名为 的策略MyGreengrassV2TokenExchangeRoleAccess。有关更多信息,请参阅授权核心设备与 AWS 服务交互

    7. MyGreengrassCoreTokenExchangeRoleAlias:将 替换为允许 Greengrass 核心设备稍后获取临时凭证的 IAM 角色的别名。如果角色别名不存在,安装程序将创建别名并将其指向您指定的 IAM 角色。有关更多信息,请参阅授权核心设备与 AWS 服务交互

    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassCore/lib/Greengrass.jar \ --aws-region region \ --thing-name MyGreengrassCore \ --thing-group-name MyGreengrassCoreGroup \ --tes-role-name MyGreengrassV2TokenExchangeRole \ --tes-role-alias-name MyGreengrassCoreTokenExchangeRoleAlias \ --component-default-user ggc_user:ggc_group \ --provision true \ --setup-system-service true

    如果成功,安装程序将打印以下消息:

    • 如果您指定 --provision,安装程序将打印 Successfully configured Nucleus with provisioned resource details (如果它已成功配置资源)。

    • 如果您指定 --deploy-dev-tools,安装程序将打印 Configured Nucleus to deploy aws.greengrass.Cli component (如果它已成功创建部署)。

    • 如果您指定 --setup-system-service true,安装程序将打印 Successfully set up Nucleus as a system service (如果它设置并将软件作为服务运行)。

    • 如果未指定 --setup-system-service trueLaunched Nucleus successfully安装程序将在成功时输出并运行软件。

  2. 如果您安装了 Greengrass 核心 v2 或更高版本,请跳过此步骤。如果您下载了最新版本的 软件,则已安装 v2 或更高版本。

    运行以下命令,为 AWS AWS IoT Greengrass 核心软件根文件夹设置所需的文件权限。Replace /greengrass/v2 替换为您在安装命令中指定的根文件夹,并替换 /greengrass 替换为您的根文件夹的父文件夹。

    sudo chmod 755 /greengrass/v2 && sudo chmod 755 /greengrass

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

注意

默认情况下,安装程序创建的 IAM 角色不允许访问 S3 存储桶中的组件构件。要部署在 Amazon S3 中定义构件的自定义组件,您必须向角色添加权限以允许核心设备检索组件构件。有关更多信息,请参阅允许访问组件构件的 S3 存储桶

如果您还没有用于组件构件的 S3 存储桶,则可以在创建存储桶之后添加这些权限。

有关如何配置和使用软件和 AWS AWS IoT Greengrass 的更多信息,请参阅以下内容: