安裝AWS IoT Greengrass核心軟體 (CLI) - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

安裝AWS IoT Greengrass核心軟體 (CLI)

若要安裝和設定AWS IoT Greengrass核心軟體
  1. 在 Greengrass 核心裝置上,執行下列命令以切換至主目錄。

    Linux or Unix
    cd ~
    Windows Command Prompt (CMD)
    cd %USERPROFILE%
    PowerShell
    cd ~
  2. 在您的核心裝置上,將 AWS IoT Greengrass Core 軟體下載至名為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 核心軟體授權合約之規定。

  3. 將 AWS IoT Greengrass Core 軟件解壓縮到設備上的文件夾。以您要使用的資料夾取GreengrassInstaller代。

    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
  4. 執行下列命令以啟動 AWS IoT Greengrass Core 軟體安裝程式。此命令會執行下列動作:

    • 建立核心裝置運作所需的AWS資源。

    • 將 AWS IoT Greengrass Core 軟體設定為在開機時執行的系統服務。在 Linux 設備上,這需要系統初始化系統。

      重要

      在 Windows 核心裝置上,您必須將AWS IoT Greengrass核心軟體設定為系統服務。

    • 部署 AWS IoT GreengrassCLI 元件,這是一個命令列工具,可讓您在核心裝置上開發自訂 Greengrass 元件。

    • 指定使用ggc_user系統使用者在核心裝置上執行軟體元件。在 Linux 裝置上,此指令也會指定使用ggc_group系統群組,而安裝程式會為您建立系統使用者和群組。

    如下所示取代指令中的引數值。

    1. /greengrass/v2C:\greengrass\v2:用來安裝 AWS IoT Greengrass Core 軟體的根資料夾路徑。

    2. GreengrassInstaller。解壓縮 AWS IoT Greengrass Core 軟體安裝程式的資料夾路徑。

    3. 區域。要AWS 區域在其中尋找或建立資源。

    4. MyGreengrassCore。您 Greengrass 核心裝置AWS IoT的項目名稱。如果該物件不存在,安裝程序將創建它。安裝程式會下載憑證以進行驗證。AWS IoT如需詳細資訊,請參閱 AWS IoT Greengrass 的裝置身分驗證和授權

      注意

      物件名稱不能包含冒號 (:) 字元。

    5. MyGreengrassCoreGroup。您 Greengrass 核心裝置的AWS IoT物件群組名稱。如果物件群組不存在,安裝程式會建立該物件並將該物件新增至其中。如果物群組存在且具有使用中部署,則核心裝置會下載並執行部署指定的軟體。

      注意

      物件群組名稱不能包含冒號 (:) 字元。

    6. 格林格拉斯 V2IoT ThingPolicy。允許 Greengrass 核心裝置與和通訊的AWS IoT原則名稱。AWS IoT AWS IoT Greengrass如果原AWS IoT則不存在,安裝程式會以此名稱建立寬鬆AWS IoT原則。您可以針對您的使用案例限制此原則的權限。如需詳細資訊,請參閱 AWS IoT Greengrass V2核心裝置的最低AWS IoT原則

    7. 格林格拉斯 V2 TokenExchangeRole。允許 Greengrass 核心裝置取得臨時登入資料的 IAM 角色名稱。AWS如果角色不存在,安裝程式會建立該角色,並建立並附加名為的策略GreengrassV2TokenExchangeRoleAccess。如需詳細資訊,請參閱 授權核心裝置與 AWS 服務互動

    8. GreengrassCoreTokenExchangeRoleAlias。IAM 角色的別名,可讓 Greengrass 核心裝置稍後取得臨時登入資料。如果角色別名不存在,安裝程式會建立它,並將其指向您指定的 IAM 角色。如需詳細資訊,請參閱 授權核心裝置與 AWS 服務互動

    Linux or Unix
    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
    Windows Command Prompt (CMD)
    java -Droot="C:\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 ^ --provision true ^ --setup-system-service true ^ --deploy-dev-tools true
    PowerShell
    java -Droot="C:\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 ` --provision true ` --setup-system-service true ` --deploy-dev-tools true
    注意

    如果您在記憶體有限的裝置AWS IoT Greengrass上執行,您可以控制 AWS IoT Greengrass Core 軟體使用的記憶體數量。若要控制記憶體分配,您可以在核心元件的jvmOptions組態參數中設定 JVM 堆積大小選項。如需詳細資訊,請參閱 使用 JVM 選項控制內存分配

    當您執行此命令時,您應該會看到下列訊息,指出安裝程式已成功。

    Successfully configured Nucleus with provisioned resource details! Configured Nucleus to deploy aws.greengrass.Cli component Successfully set up Nucleus as a system service
    注意

    如果您的 Linux 裝置沒有 systemd,安裝程式就不會將軟體設定為系統服務,而且您也不會看到將核心設定為系統服務的成功訊息。