安装Amazon IoT Greengrass具有手动资源配置的核心软件 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

安装Amazon IoT Greengrass具有手动资源配置的核心软件

这些区域有:Amazon IoT Greengrass核心软件包括将设备设置为 Greengrass 核心设备的安装程序。要手动设置设备,您可以创建必需的Amazon IoT和 IAM 资源供设备使用。如果您手动创建这些资源,则无需提供Amazon安装程序的凭据。

当你手动安装Amazon IoT Greengrass核心软件,您还可以将设备配置为使用网络代理或连接到Amazon在端口 443 上。例如,如果设备在防火墙或网络代理之后运行,则可能需要指定这些配置选项。有关更多信息,请参阅 通过端口 443 或网络代理进行连接

还可以配置Amazon IoT Greengrass通过使用硬件安全模块 (HSM) 的核心软件PKCS #11 接口. 此功能使您能够安全地存储私钥和证书文件,以免它们在软件中公开或重复。您可以将私钥和证书存储在硬件模块上,例如 HSM、可信平台模块 (TPM) 或其他加密元素。此功能仅适用于 Linux 设备。有关硬件安全性和使用它的要求的更多信息,请参阅硬件安全性集成.

重要

在下载之前Amazon IoT Greengrass核心软件,请检查您的核心设备是否符合要求要安装并运行Amazon IoT GreengrassCore 软件 v2.0。

检索Amazon IoT终端

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

  1. 获取Amazon 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. 获取Amazon IoT您的凭证终端节点Amazon Web Services 账户.

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

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

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

创建Amazon IoT事情

Amazon IoT 事情表示连接到的设备和逻辑实体Amazon IoT. Greengrass 核心设备是Amazon IoTthing。当你将设备注册为Amazon IoT事情,该设备可以使用数字证书进行身份验证Amazon.

在此部分中,您将创建一个Amazon IoT表示您的设备的事物。

创建Amazon IoT事情

  1. 创建Amazon IoT设备的事物。在开发计算机上,运行以下命令。

    • Replace我的 GreenGrasscore要使用的东西名称。此名称也是您的 Greengrass 核心设备的名称。

      注意

      事物名中不能包含冒号(:) 字符。

    aws iot create-thing --thing-name MyGreengrassCore

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

    { "thingName": "MyGreengrassCore", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "thingId": "8cb4b6cd-268e-495d-b5b9-1713d71dbf42" }
  2. (可选)添加Amazon IoT将事物转换为新的或现有事物组。您可以使用事物组来管理 Greengrass 核心设备的队列。将软件组件部署到设备时,可以定位单个设备或设备组。您可以使用活动的 Greengrass 部署将设备添加到事物组中,以便将该事物组的软件组件部署到该设备。执行以下操作:

    1. (可选)创建Amazon IoT事物组。

      • Replace我的 GreenGrassCoregGroup使用要创建的事物组的名称。

        注意

        事物组名中不能包含冒号(:) 字符。

      aws iot create-thing-group --thing-group-name MyGreengrassCoreGroup

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

      { "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" }
    2. 添加Amazon IoT事物到事物组。

      • Replace我的 GreenGrasscore用你的名称Amazon IoTthing。

      • Replace我的 GreenGrassCoregGroup使用事物组的名称。

      aws iot add-thing-to-thing-group --thing-name MyGreengrassCore --thing-group-name MyGreengrassCoreGroup

      如果请求成功,命令没有任何输出。

创建事物证书

当你将设备注册为Amazon IoT事情,该设备可以使用数字证书进行身份验证Amazon. 此证书允许设备与通信。Amazon IoT和Amazon IoT Greengrass.

在本节中,您将创建并下载设备可用于连接到的证书Amazon.

如果要配置Amazon IoT Greengrass核心软件要使用硬件安全模块 (HSM) 来安全存储私钥和证书,请按照步骤从 HSM 中的私钥创建证书。否则,请按照以下步骤在Amazon IoT服务。硬件安全功能仅在 Linux 设备上可用。有关硬件安全性和使用它的要求的更多信息,请参阅硬件安全性集成.

创建事物证书

  1. 创建一个文件夹,在其中下载Amazon IoTthing。

    mkdir greengrass-v2-certs
  2. 创建并下载证书以下载Amazon IoTthing。

    aws iot create-keys-and-certificate --set-as-active --certificate-pem-outfile greengrass-v2-certs/device.pem.crt --public-key-outfile greengrass-v2-certs/public.pem.key --private-key-outfile greengrass-v2-certs/private.pem.key

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

    { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\nMMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\n59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\nhJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\nFQIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nkey omitted for security reasons\n-----END RSA PRIVATE KEY-----\n" } }

    保存证书的 Amazon 资源名称 (ARN) 以便以后配置证书。

注意

此功能适用于 v2.5.3 及更高版本的Greengrass 核组件.Amazon IoT Greengrass目前在 Windows 核心设备上不支持此功能。

创建事物证书

  1. 在核心设备上,在 HSM 中初始化 PKCS #11 令牌,然后生成私钥。私有密钥必须是 RSA-2048 密钥大小(或更大)的 RSA 密钥或 ECC 密钥。

    注意

    要使用带 ECC 密钥的硬件安全模块,必须使用Greengrass 核v2.5.6 或更高版本。

    使用硬件安全模块和Secret Manager,您必须使用带有 RSA 密钥的硬件安全模块。

    查看 HSM 的文档以了解如何初始化令牌并生成私钥。如果 HSM 支持对象 ID,请在生成私钥时指定对象 ID。保存初始化令牌并生成私钥时指定的插槽 ID、用户 PIN、对象标签、对象 ID(如果您的 HSM 使用)。稍后将事物证书导入 HSM 并配置Amazon IoT Greengrass核心软件。

  2. 从私有密钥创建证书签名请求 (CSR)。Amazon IoT使用此 CSR 为您在 HSM 中生成的私钥创建事物证书。有关如何使用私有密钥创建 CSR 的信息,请参阅有关 HSM 的文档。CSR 是一个文件,例如iotdevicekey.csr.

  3. 将设备中的 CSR 复制到开发计算机。如果在开发计算机和设备上启用了 SSH 和 SCP,则可以使用scp将命令传输 CSR。Replace设备 IP 地址使用您的设备的 IP 地址替换~/iotdevicekey.csr带有设备上 CSR 文件的路径。

    scp device-ip-address:~/iotdevicekey.csr iotdevicekey.csr
  4. 在开发计算机上,创建一个文件夹,您可以在其中下载Amazon IoTthing。

    mkdir greengrass-v2-certs
  5. 使用 CSR 文件为Amazon IoT对您的开发计算机来说。

    aws iot create-certificate-from-csr --set-as-active --certificate-signing-request=file://iotdevicekey.csr --certificate-pem-outfile greengrass-v2-certs/device.pem.crt

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

    { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----" }

    保存证书的 ARN 以便稍后用于配置证书。

配置事物证书

将事物证书附加到Amazon IoT添加您之前创建的事物,然后添加Amazon IoT定义证书的策略Amazon IoT核心设备的权限。

配置事物的证书

  1. 将证书附加到Amazon IoTthing。

    • Replace我的 GreenGrasscore用你的名称Amazon IoTthing。

    • 将证书 Amazon 资源名称 (ARN) 替换为您在上一步中创建的证书的 ARN。

    aws iot attach-thing-principal --thing-name MyGreengrassCore --principal arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

    如果请求成功,命令没有任何输出。

  2. 创建并连接到Amazon IoT定义Amazon IoTGreengrass 核心设备的权限。以下策略允许访问所有 MQTT 主题和 Greengrass 操作,因此您的设备可以与需要新 Greengrass 操作的自定义应用程序和 future 的更改一起使用。您可以基于自己的使用案例限制此策略。有关更多信息,请参阅 最低Amazon IoT用于 的 策略Amazon IoT Greengrass V2核心设备

    如果你之前已经设置过 Greengrass 核心设备,你可以连接它Amazon IoT策略而不是创建一个新的。

    执行以下操作:

    1. 创建一个包含Amazon IoTGreengrass 核心设备所需的策略文档。

      例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 创建文件。

      nano greengrass-v2-iot-policy.json

      将以下 JSON 复制到该文件中。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect", "greengrass:*" ], "Resource": [ "*" ] } ] }
    2. 创建Amazon IoT策略文档中的策略。

      • ReplaceGreenGrassv2IOTHING 政策使用要创建的策略的名称。

      aws iot create-policy --policy-name GreengrassV2IoTThingPolicy --policy-document file://greengrass-v2-iot-policy.json

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

      { "policyName": "GreengrassV2IoTThingPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassV2IoTThingPolicy", "policyDocument": "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": [ \"iot:Publish\", \"iot:Subscribe\", \"iot:Receive\", \"iot:Connect\", \"greengrass:*\" ], \"Resource\": [ \"*\" ] } ] }", "policyVersionId": "1" }
    3. 将附加到Amazon IoT的策略Amazon IoT事情的证书。

      • ReplaceGreenGrassv2IOTHING 政策使用要附加的策略的名称。

      • 将目标 ARN 替换为您的证书的 ARN。Amazon IoTthing。

      aws iot attach-policy --policy-name GreengrassV2IoTThingPolicy --target arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

      如果请求成功,命令没有任何输出。

创建令牌交换角色

Greengrass 核心设备使用 IAM 服务角色,称为代币交换角色,授权呼叫Amazon服务。该设备使用Amazon IoT凭证提供商以获得临时Amazon此角色的凭据,允许设备与Amazon IoT中,将日志发送到亚马逊 CloudWatch 从 Amazon S3 记录并下载自定义组件工件。有关更多信息,请参阅 授权核心设备与Amazon服务

你使用Amazon IoT 角色别名为 Greengrass 核心设备配置令牌交换角色。角色别名使您能够更改设备的令牌交换角色,但保持设备配置不变。有关更多信息,请参阅 。授权直接拨打到Amazon服务中的Amazon IoT Core开发人员指南.

在本节中,您创建令牌交换 IAM 角色和Amazon IoT指向角色的角色别名。如果您已经设置了 Greengrass 核心设备,则可以使用其令牌交换角色和角色别名,而不是创建新的。然后,你配置你的设备Amazon IoT使用那个角色和别名的东西。

创建令牌交换 IAM 角色

  1. 创建一个 IAM 角色,您的设备可用作令牌交换角色。执行以下操作:

    1. 创建包含令牌交换角色所需的信任策略文档的文件。

      例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 创建文件。

      nano device-role-trust-policy.json

      将以下 JSON 复制到该文件中。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. 使用信任策略文档创建令牌交换角色。

      • ReplaceGreenGrassv2Token Exchange 角色使用要创建的 IAM 角色的名称。

      aws iam create-role --role-name GreengrassV2TokenExchangeRole --assume-role-policy-document file://device-role-trust-policy.json

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

      { "Role": { "Path": "/", "RoleName": "GreengrassV2TokenExchangeRole", "RoleId": "AROAZ2YMUHYHK5OKM77FB", "Arn": "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole", "CreateDate": "2021-02-06T00:13:29+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } }
    3. 创建一个文件,其中包含令牌交换角色所需的访问策略文档。

      例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 创建文件。

      nano device-role-access-policy.json

      将以下 JSON 复制到该文件中。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "s3:GetBucketLocation" ], "Resource": "*" } ] }
      注意

      此访问策略不允许访问 S3 存储桶中的组件工件。要部署在 Amazon S3 中定义项目的自定义组件,您必须向角色添加权限,以允许核心设备检索组件项目。有关更多信息,请参阅 允许访问 S3 存储桶以获取组件项目

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

    4. 从策略文档创建 IAM 策略。

      • ReplaceGreenGrassv2Token 交易所角色访问使用要创建的 IAM 策略的名称。

      aws iam create-policy --policy-name GreengrassV2TokenExchangeRoleAccess --policy-document file://device-role-access-policy.json

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

      { "Policy": { "PolicyName": "GreengrassV2TokenExchangeRoleAccess", "PolicyId": "ANPAZ2YMUHYHACI7C5Z66", "Arn": "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2021-02-06T00:37:17+00:00", "UpdateDate": "2021-02-06T00:37:17+00:00" } }
    5. 将 IAM 策略附加到令牌交换角色。

      • ReplaceGreenGrassv2Token Exchange 角色使用 IAM 角色的名称。

      • 将策略 ARN 替换为您在上一步中创建的 IAM 策略的 ARN。

      aws iam attach-role-policy --role-name GreengrassV2TokenExchangeRole --policy-arn arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess

      如果请求成功,命令没有任何输出。

  2. 创建Amazon IoT指向令牌交换角色的角色别名。

    • ReplaceGreenGrassCoore 令牌交换器角色别名使用要创建的角色别名的名称。

    • 将角色 ARN 替换为您在上一步中创建的 IAM 角色的 ARN。

    aws iot create-role-alias --role-alias GreengrassCoreTokenExchangeRoleAlias --role-arn arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole

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

    { "roleAlias": "GreengrassCoreTokenExchangeRoleAlias", "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias" }
    注意

    要创建角色别名,您必须有权将令牌交换 IAM 角色传递给。Amazon IoT. 如果您在尝试创建角色别名时收到错误消息,请检查您的Amazon用户拥有此权限。有关更多信息,请参阅 。授予用户权限以将角色传递给Amazon服务中的Amazon Identity and Access Management用户指南.

  3. 创建并连接到Amazon IoT允许您的 Greengrass 核心设备使用角色别名代入令牌交换角色的策略。如果您之前设置过 Greengrass 核心设备,则可以附加其角色别名Amazon IoT策略而不是创建一个新的。执行以下操作:

    1. (可选)创建包含Amazon IoT角色别名所需的策略文档。

      例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 创建文件。

      nano greengrass-v2-iot-role-alias-policy.json

      将以下 JSON 复制到该文件中。

      • 将资源 ARN 替换为角色别名的 ARN。

      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:AssumeRoleWithCertificate", "Resource": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias" } ] }
    2. 创建Amazon IoT策略文档中的策略。

      • ReplaceGreenGrassCoore 令牌交换罗利亚斯政策使用的名称Amazon IoT策略要创建。

      aws iot create-policy --policy-name GreengrassCoreTokenExchangeRoleAliasPolicy --policy-document file://greengrass-v2-iot-role-alias-policy.json

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

      { "policyName": "GreengrassCoreTokenExchangeRoleAliasPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassCoreTokenExchangeRoleAliasPolicy", "policyDocument": "{ \"Version\":\"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": \"iot:AssumeRoleWithCertificate\", \"Resource\": \"arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias\" } ] }", "policyVersionId": "1" }
    3. 将附加到Amazon IoT的策略Amazon IoT事情的证书。

      • ReplaceGreenGrassCoore 令牌交换罗利亚斯政策使用角色别名称Amazon IoT政策。

      • 将目标 ARN 替换为您的证书的 ARN。Amazon IoTthing。

      aws iot attach-policy --policy-name GreengrassCoreTokenExchangeRoleAliasPolicy --target arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4

      如果请求成功,命令没有任何输出。

将证书下载到设备

之前,您已将设备的证书下载到开发计算机。在本节中,您将证书复制到核心设备,以便使用用来连接到的证书来设置设备Amazon IoT. 您还可以下载 Amazon root 证书颁发机构 (CA) 证书。如果您使用 HSM,还可以在本节中将证书文件导入 HSM。

  • 如果您在Amazon IoT服务之前,请按照步骤下载带有私钥和证书文件的证书。

  • 如果您之前从硬件安全模块 (HSM) 中的私钥创建了事物证书,请按照步骤在 HSM 中下载带有私钥和证书的证书。

将证书下载到设备

  1. 复制Amazon IoT将事物证书从开发计算机传输到设备。如果在开发计算机和设备上启用了 SSH 和 SCP,则可以使用scp将命令传输证书。Replace设备 IP 地址使用您的设备的 IP 地址。

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. 在设备上创建 Greengrass 根文件夹。稍后你将安装Amazon IoT Greengrass此文件夹的核心软件。

    Linux or Unix
    • Replace/绿草/v2将要使用的文件夹。

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • ReplaceC:\greengrass\v2将要使用的文件夹。

    mkdir C:\greengrass\v2
    PowerShell
    • ReplaceC:\greengrass\v2将要使用的文件夹。

    mkdir C:\greengrass\v2
  3. (仅限 Linux)设置 Greengrass 根文件夹父级的权限。

    • Replace/Greengrass使用根文件夹的父文件夹。

    sudo chmod 755 /greengrass
  4. 复制Amazon IoT将事物证书存储到 Greengrass 根文件夹。

    Linux or Unix
    • Replace/绿草/v2使用 Greengrass 根文件夹。

    sudo cp -R ~/greengrass-v2-certs/* /greengrass/v2
    Windows Command Prompt
    • ReplaceC:\greengrass\v2将要使用的文件夹。

    robocopy %USERPROFILE%\greengrass-v2-certs C:\greengrass\v2 /E
    PowerShell
    • ReplaceC:\greengrass\v2将要使用的文件夹。

    cp -Path ~\greengrass-v2-certs\* -Destination C:\greengrass\v2
  5. 下载 Amazon root 证书颁发机构 (CA) 证书。Amazon IoT默认情况下,证书与亚马逊的根 CA 证书关联。

    Linux or Unix
    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    Windows Command Prompt (CMD)
    curl -o C:\greengrass\v2\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    PowerShell
    iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\AmazonRootCA1.pem
注意

此功能适用于 v2.5.3 及更高版本的Greengrass 核组件.Amazon IoT Greengrass目前在 Windows 核心设备上不支持此功能。

将证书下载到设备

  1. 复制Amazon IoT将事物证书从开发计算机传输到设备。如果在开发计算机和设备上启用了 SSH 和 SCP,则可以使用scp将命令传输证书。Replace设备 IP 地址使用您的设备的 IP 地址。

    scp -r greengrass-v2-certs/ device-ip-address:~
  2. 在设备上创建 Greengrass 根文件夹。稍后你将安装Amazon IoT Greengrass此文件夹的核心软件。

    Linux or Unix
    • Replace/绿草/v2将要使用的文件夹。

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • ReplaceC:\greengrass\v2将要使用的文件夹。

    mkdir C:\greengrass\v2
    PowerShell
    • ReplaceC:\greengrass\v2将要使用的文件夹。

    mkdir C:\greengrass\v2
  3. (仅限 Linux)设置 Greengrass 根文件夹父级的权限。

    • Replace/Greengrass使用根文件夹的父文件夹。

    sudo chmod 755 /greengrass
  4. 导入事物证书文件,~/greengrass-v2-certs/device.pem.crt,进入 HSM。查看 HSM 的文档以了解如何将证书导入其中。使用先前在 HSM 中生成私钥的相同令牌、插槽 ID、用户 PIN、对象标签和对象 ID(如果您的 HSM 使用的话)导入证书。

    注意

    如果您之前生成的私钥没有对象 ID,且证书具有对象 ID,请将私钥的对象 ID 设置为与证书相同的值。查看 HSM 的文档以了解如何为私钥对象设置对象 ID。

  5. (可选)删除事物证书文件,使其仅存在于 HSM 中。

    rm ~/greengrass-v2-certs/device.pem.crt
  6. 下载 Amazon root 证书颁发机构 (CA) 证书。Amazon IoT默认情况下,证书与亚马逊的根 CA 证书关联。

    Linux or Unix
    sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    Windows Command Prompt (CMD)
    curl -o C:\greengrass\v2\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
    PowerShell
    iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\AmazonRootCA1.pem

设置设备环境

按照本节中的步骤设置 Linux 或 Windows 设备以用作您的Amazon IoT Greengrass核心设备。

设置 Linux 设备Amazon IoT Greengrass V2

  1. 安装 Java 运行时,Amazon IoT Greengrass核心软件需要运行。建议使用Amazon Corretto 11要么OpenJDK 11. 以下命令向您介绍如何在您的设备上安装 OpenJDK。

    • 对于基于 Debian 或基于 Ubuntua 的发行版:

      sudo apt install default-jdk
    • 对于基于 Red Hat 的发行版:

      sudo yum install java-11-openjdk-devel
    • 对于 Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11

    完成安装后,可运行以下命令验证是否在您的树莓派上运行 Java。

    java -version

    该命令打印在设备上运行的 Java 版本。例如,在基于 Debian 的发行版中,输出可能类似于以下示例。

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (可选)创建在设备上运行组件的默认系统用户和组。还可以选择让Amazon IoT Greengrass核心软件安装程序在安装过程中使用--component-default-user安装程序参数。有关更多信息,请参阅 安装器参数

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. 验证运行Amazon IoT Greengrass核心软件(通常)root),有运行权限sudo与任何用户和任何组一起使用。

    1. 运行以下命令以打开/etc/sudoers文件。

      sudo visudo
    2. 验证用户的权限类似于以下示例。

      root ALL=(ALL:ALL) ALL
  4. (可选)至运行容器化 Lambda 函数,您必须启用CGroupsv1,您必须启用并装载记忆设备CGroups。如果您不计划运行容器化 Lambda 函数,则可跳过此步骤。

    要启用这些 cgroup 选项,请使用以下 Linux 内核参数启动设备。

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    有关查看和设置设备的内核参数的信息,请参阅操作系统和引导加载程序的文档。按照说明永久设置内核参数。

    提示:在 Raspberry Pi 上设置内核参数

    如果你的设备是树莓派,你可以完成以下步骤来查看和更新其 Linux 内核参数:

    1. 打开 /boot/cmdline.txt 文件。此文件指定了树莓派启动时要应用的 Linux 内核参数。

      例如,在基于 Linux 的系统上,您可运行以下命令以使用 GNU nano 打开该文件。

      sudo nano /boot/cmdline.txt
    2. 验证/boot/cmdline.txt文件包含以下内核参数。这些区域有:systemd.unified_cgroup_hierarchy=0参数指定使用 cgroups v1 而不是 cgroups v2。

      cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

      如果/boot/cmdline.txtfile 不包含这些参数,或者它包含这些具有不同值的参数,请更新文件以包含这些参数和值。

    3. 如果你更新了/boot/cmdline.txt文件中,重启 Raspberry Pi 以应用更改。

      sudo reboot
  5. 按照中的要求列表的指示在您的设备上安装所有其他必需的依赖项。设备要求.

注意

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

设置 Windows 设备Amazon IoT Greengrass V2

  1. 安装 Java 运行时,Amazon IoT Greengrass核心软件需要运行。建议使用Amazon Corretto 11要么OpenJDK 11.

  2. 打开 Windows 命令提示符(cmd.exe)作为管理员。

  3. 在中创建默认用户 LocalSystem Windows 设备上的帐户。Replace密码使用安全的密码。

    net user /add ggc_user password
  4. 下载并安装Psexec 实用工具来自微软在设备上。

  5. 使用 PsExec 实用程序将默认用户的用户名和密码存储在凭证管理器实例中 LocalSystem account. Replace密码使用您之前设置的用户的密码。

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    如果PsExec License Agreement打开,选择Accept同意许可证并运行命令。

    注意

    在 Windows 设备上, LocalSystem 账户运行 Greengrass 核心,你必须使用 PsExec 实用程序用于将默认用户信息存储在 LocalSystem account. 使用凭据管理器应用程序将此信息存储在当前登录用户的 Windows 帐户中,而不是 LocalSystem account.

下载Amazon IoT GreengrassCore 软件

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

注意

您可以下载特定版本的Amazon IoT Greengrass从以下位置提供核心软件。Replace版本随着要下载的版本。

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

下载Amazon IoT GreengrassCore 软件

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

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip

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

  2. 解压缩Amazon IoT Greengrass将核心软件转移到设备上的文件夹中。ReplaceGreenGrassA使用您要使用的文件夹。

    Linux or Unix
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
    PowerShell
    Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\GreengrassInstaller rm greengrass-nucleus-latest.zip
  3. (可选)运行以下命令以查看的版本。Amazon IoT Greengrass核心软件。

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
重要

如果您安装的是 v2.4.0 之前的 Greengrass 核心版本,则在安装Amazon IoT Greengrass核心软件。这些区域有:Amazon IoT Greengrass核心软件使用此文件夹中的文件来运行。

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

安装 Amazon IoT Greengrass Core 软件

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

  • 从指定使用Amazon您之前创建的资源和证书。这些区域有:Amazon IoT Greengrass核心软件使用一个配置文件,该文件指定设备上每个 Greengrass 组件的配置。安装程序根据您提供的部分配置文件创建完整的配置文件。

  • 指定使用ggc_user系统用户在核心设备上运行软件组件。在 Linux 设备上,此命令还指定使用ggc_group系统组,安装程序将为您创建系统用户和组。

  • 设置Amazon IoT Greengrass作为启动运行的核心软件即系统服务。在 Linux 设备上,这需要systemdinit 系统。

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

注意

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

  • 如果您在Amazon IoT请按照以下步骤安装Amazon IoT Greengrass带有私钥和证书文件的核心软件。

  • 如果您之前在硬件安全模块 (HSM) 中使用私有密钥创建了事物证书,请按照以下步骤安装Amazon IoT GreengrassHSM 中带有私钥和证书的核心软件。

安装 Amazon IoT Greengrass Core 软件

  1. 检查版本的Amazon IoT Greengrass核心软件。

    • ReplaceGreenGrassA包含包含软件的文件夹的路径。

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

    例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 创建文件。

    nano GreengrassInstaller/config.yaml

    将以下 YAML 内容复制到该文件中。此部分配置文件指定了系统参数和 Greengrass 核心参数。

    --- system: certificateFilePath: "/greengrass/v2/device.pem.crt" privateKeyPath: "/greengrass/v2/private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.5.6" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"

    然后,执行以下操作:

    • 替换的每个实例/绿草/v2使用 Greengrass 根文件夹。

    • Replace我的 GreenGrasscore使用的名称Amazon IoTthing。

    • Replace2.5.6使用的版本Amazon IoT Greengrass核心软件。

    • Replaceus-west-2使用Amazon Web Services 区域创建资源的位置。

    • ReplaceGreenGrassCoore 令牌交换器角色别名使用令牌交换角色别名的名称。

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

    • 替换iotCredEndpoint与您的Amazon IoT凭据终端节点。

    注意

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

    --- system: certificateFilePath: "/greengrass/v2/device.pem.crt" privateKeyPath: "/greengrass/v2/private.pem.key" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.5.6" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "https://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357"
  3. 运行安装程序,并指定--init-config以提供配置文件。

    • Replace/绿草/v2要么C:\greengrass\v2使用 Greengrass 根文件夹。

    • 替换的每个实例GreenGrassA使用你解压安装程序的文件夹。

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --init-config ./GreengrassInstaller/config.yaml ^ --component-default-user ggc_user ^ --setup-system-service true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --init-config ./GreengrassInstaller/config.yaml ` --component-default-user ggc_user ` --setup-system-service true

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

    注意

    您不能使用deploy-dev-tools当你运行安装程序时不使用--provision true参数。有关直接在设备上部署 Greengrass CLI 的信息,请参阅Greengrass Command Line Interface.

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

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

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

注意

此功能适用于 v2.5.3 及更高版本的Greengrass 核组件.Amazon IoT Greengrass目前在 Windows 核心设备上不支持此功能。

安装 Amazon IoT Greengrass Core 软件

  1. 检查版本的Amazon IoT Greengrass核心软件。

    • ReplaceGreenGrassA包含包含软件的文件夹的路径。

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. 要启用 ,请执行以下操作:Amazon IoT Greengrass核心软件要在 HSM 中使用私钥和证书,请安装PKCS #11 提供程序组件在安装时Amazon IoT Greengrass核心软件。PKCS #11 提供程序组件是您可以在安装过程中配置的插件。您可以从以下位置下载最新版本的 PKCS #11 提供程序组件:

    将 PKCS #11 提供程序插件下载到名为aws.greengrass.crypto.Pkcs11Provider.jar. ReplaceGreenGrassA使用您要使用的文件夹。

    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar > GreengrassInstaller/aws.greengrass.crypto.Pkcs11Provider.jar

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

  3. 使用文本编辑器创建名为的配置文件。config.yaml以提供给安装程序。

    例如,在基于 Linux 的系统上,您可以运行以下命令来使用 GNU nano 创建文件。

    nano GreengrassInstaller/config.yaml

    将以下 YAML 内容复制到该文件中。此部分配置文件指定系统参数、Greengrass 核参数和 PKCS #11 提供程序参数。

    --- system: certificateFilePath: "pkcs11:object=iotdevicekey;type=cert" privateKeyPath: "pkcs11:object=iotdevicekey;type=private" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.5.6" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" aws.greengrass.crypto.Pkcs11Provider: configuration: name: "softhsm_pkcs11" library: "/usr/local/Cellar/softhsm/2.6.1/lib/softhsm/libsofthsm2.so" slot: 1 userPin: "1234"

    然后,执行以下操作:

    • 替换的每个实例iotdevicekey在 PKCS #11 URI 中,带有您在其中创建私钥并导入证书的对象标签。

    • 替换的每个实例/绿草/v2使用 Greengrass 根文件夹。

    • Replace我的 GreenGrasscore使用的名称Amazon IoTthing。

    • Replace2.5.6使用的版本Amazon IoT Greengrass核心软件。

    • Replaceus-west-2使用Amazon Web Services 区域创建资源的位置。

    • ReplaceGreenGrassCoore 令牌交换器角色别名使用令牌交换角色别名的名称。

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

    • 替换iotCredEndpoint与您的Amazon IoT凭据终端节点。

    • 替换的配置参数aws.greengrass.crypto.Pkcs11Provider包含核心设备上 HSM 配置的值的组件。

    注意

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

    --- system: certificateFilePath: "pkcs11:object=iotdevicekey;type=cert" privateKeyPath: "pkcs11:object=iotdevicekey;type=private" rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" rootpath: "/greengrass/v2" thingName: "MyGreengrassCore" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.5.6" configuration: awsRegion: "us-west-2" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "https://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" aws.greengrass.crypto.Pkcs11Provider: configuration: name: "softhsm_pkcs11" library: "/usr/local/Cellar/softhsm/2.6.1/lib/softhsm/libsofthsm2.so" slot: 1 userPin: "1234"
  4. 运行安装程序,并指定--init-config以提供配置文件。

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

    • 替换的每个实例GreenGrassA使用你解压安装程序的文件夹。

    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --trusted-plugin ./GreengrassInstaller/aws.greengrass.crypto.Pkcs11Provider.jar \ --init-config ./GreengrassInstaller/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 Command Line Interface.

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

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

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

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

有关如何配置和使用软件的详细信息,以及Amazon IoT Greengrass中,请参阅以下内容: