透過 AWS IoT 叢集佈建安裝 AWS IoT Greengrass 核心軟體 - AWS IoT Greengrass

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

透過 AWS IoT 叢集佈建安裝 AWS IoT Greengrass 核心軟體

此功能適用於 v2.4.0 和更高版 Greeng rass 核組件。

透過 AWS IoT 叢集佈建,您可以設定 AWS IoT 為在 X.509 裝置憑證和私密金鑰首次連線到裝置時產生並安全地傳遞至 AWS IoT 裝置。 AWS IoT 提供由 Amazon 根憑證授權單位 (CA) 簽署的用戶端憑證。您也可以配 AWS IoT 置為使用叢集佈建佈建的 Greengrass 核心裝置指定物件群組、物件類型和權限。您可以定義佈建範本,以定義 AWS IoT 佈建每個裝置的方式。佈建範本會指定佈建時要為設備建立的物件、原則和憑證資源。如需詳細資訊,請參閱AWS IoT Core 開發人員指南中的佈建範本

AWS IoT Greengrass 提供 AWS IoT 叢集佈建外掛程式,您可以使用 AWS IoT 叢集佈建建立的 AWS 資源來安裝 AWS IoT Greengrass Core 軟體。車隊配置插件使用通過聲明進行配置。裝置使用佈建宣告憑證和私密金鑰來取得唯一的 X.509 裝置憑證和可用於一般作業的私密金鑰。您可以在製造過程中將索賠憑證和私密金鑰嵌入每個裝置,以便您的客戶稍後在每部裝置上線時啟用裝置。您可以在多個裝置上使用相同的宣告憑證和私密金鑰。如需詳細資訊,請參閱AWS IoT Core 開發人員指南中的透過宣告進行佈建

注意

叢集佈建外掛程式目前不支援在硬體安全模組 (HSM) 中儲存私密金鑰和憑證檔案。若要使用 HSM,請透過手動佈建來安裝 AWS IoT Greengrass 核心軟體

若要透過 AWS IoT 叢集佈建來安裝 AWS IoT Greengrass Core 軟體,您必須在 AWS IoT 用於佈建 Greengrass 核心裝置的 AWS 帳戶 資源中設定資源。這些資源包括佈建範本、宣告憑證和權杖交換 IAM 角色。建立這些資源之後,您可以重複使用它們來佈建叢集中的多個核心裝置。如需詳細資訊,請參閱 為 Greengrass 核心裝置設定AWS IoT叢集佈建

重要

在您下載 AWS IoT Greengrass Core 軟體之前,請檢查您的核心裝置是否符合安裝和執行 AWS IoT Greengrass Core 軟體 2.0 的求。

必要條件

若要透過 AWS IoT 叢集佈建來安裝 AWS IoT Greengrass Core 軟體,您必須先為 Greengrass 核心裝置設定 AWS IoT 叢集佈建。完成這些步驟一次之後,您可以使用叢集佈建,在任意數量的裝置上安裝 AWS IoT Greengrass Core 軟體。

擷取 AWS IoT 端點

取得您的 AWS IoT 端點 AWS 帳戶,並儲存以供稍後使用。您的裝置會使用這些端點連線至 AWS IoT。請執行下列操作:

  1. 取得適 AWS IoT 用於您的 AWS 帳戶.

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

    如果要求成功,回應看起來類似下列範例。

    { "endpointAddress": "device-data-prefix-ats.iot.us-west-2.amazonaws.com" }
  2. 取 AWS IoT 得您的 AWS 帳戶.

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

    如果要求成功,回應看起來類似下列範例。

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

將憑證下載到裝置

裝置使用宣告憑證和私密金鑰來驗證其要求,以佈建 AWS 資源並取得 X.509 裝置憑證。您可以在製造過程中將宣告憑證和私密金鑰內嵌到裝置中,或在安裝期間將憑證和金鑰複製到裝置。在本節中,您會將宣告憑證和私密金鑰複製到裝置。您也會將 Amazon 根憑證授權單位 (CA) 憑證下載到裝置。

重要

佈建宣告私密金鑰應始終受到保護,包括在 Greengrass 核心裝置上。我們建議您使用 Amazon CloudWatch 指標和日誌來監控濫用的跡象,例如未經授權使用宣告憑證來佈建裝置。如果您偵測到誤用,請停用佈建宣告憑證,使其無法用於裝置佈建。如需詳細資訊,請參閱AWS IoT Core 開發人員指南 AWS IoT中的監控

為了協助您更有效地管理在您的裝置數目以及自行註冊的裝置數目 AWS 帳戶,您可以在建立叢集佈建範本時指定預先佈建勾點。預先佈建勾點是一種 AWS Lambda 函數,可驗證裝置在註冊期間提供的範本參數。例如,您可以建立預先佈建勾點,以根據資料庫檢查裝置 ID,以確認裝置是否具有佈建權限。如需詳細資訊,請參閱AWS IoT Core 開發人員指南中的預先佈建勾點

將宣告憑證下載至裝置
  1. 將宣告憑證和私密金鑰複製到裝置。如果在開發電腦和裝置上啟用了 SSH 和 SCP,您可以使用開發電腦上的scp命令來傳輸宣告憑證和私密金鑰。下列範例命令會將開發電腦claim-certs上名為的資料夾傳輸這些檔案至裝置。device-ip-address替換為設備的 IP 地址。

    scp -r claim-certs/ device-ip-address:~
  2. 在設備上創建綠色根文件夾。您稍後將 AWS IoT Greengrass 核心軟體安裝到此資料夾中。

    注意

    Windows 的路徑長度限制為 260 個字元。如果您使用的是 Windows,請使用類似的根文件夾C:\greengrass\v2D:\greengrass\v2將 Greengrass 組件路徑保持在 260 個字符限制以下。

    Linux or Unix
    • 以要使/greengrass/v2用的資料夾取代。

    sudo mkdir -p /greengrass/v2
    Windows Command Prompt
    • C:\greengrass\v2 取代為要使用的資料夾。

    mkdir C:\greengrass\v2
    PowerShell
    • C:\greengrass\v2 取代為要使用的資料夾。

    mkdir C:\greengrass\v2
  3. (僅限 Linux) 設定 Greengrass 根資料夾的父系權限。

    • /greengrass 替換為根文件夾的父文件夾。

    sudo chmod 755 /greengrass
  4. 將宣告憑證移至 Greengrass 根資料夾。

    • 使用 Greengrass 根資料夾取代/greengrass/v2C:\greengrass\v2

    Linux or Unix
    sudo mv ~/claim-certs /greengrass/v2
    Windows Command Prompt (CMD)
    move %USERPROFILE%\claim-certs C:\greengrass\v2
    PowerShell
    mv -Path ~\claim-certs -Destination C:\greengrass\v2
  5. 下載 Amazon 根憑證授權單位 (CA) 憑證。 AWS IoT 憑證預設會與 Amazon 的根 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 裝置作為 AWS IoT Greengrass 核心裝置使用。

設定裝置

若要設定下列項目的 Linux 設備 AWS IoT Greengrass V2
  1. 安裝 Java 執行階段, AWS IoT Greengrass 核心軟體需要執行。我們建議您使用 Amazon CorrettoOpenJDK 長期支持版本。需要版本 8 或更高版本。以下命令向您展示如何在設備上安裝 OpenJDK。

    • 針對 Debian 為基礎或 Ubuntu 為基礎的發行版本:

      sudo apt install default-jdk
    • 針對 Red Hat 為基礎的發行版本:

      sudo yum install java-11-openjdk-devel
    • 針對 Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11
    • 對於 Amazon

      sudo dnf install java-11-amazon-corretto -y

    安裝完成時,請執行下列命令以確認 Java 是否在 Linux 裝置上執行。

    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. (選擇性) 建立在裝置上執行元件的預設系統使用者和群組。您也可以選擇讓 AWS IoT Greengrass Core 軟體安裝程式在安裝期間使用安裝程式引數建立此使用者和群組。--component-default-user如需詳細資訊,請參閱 安裝器引數

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. 確認執行 AWS IoT Greengrass Core 軟體的使用者 (通常root) 具有sudo與任何使用者和任何群組一起執行的權限。

    1. 執行下列命令以開啟/etc/sudoers檔案。

      sudo visudo
    2. 確認使用者的權限看起來像下列範例。

      root ALL=(ALL:ALL) ALL
  4. (選擇性) 若要執行容器化 Lambda 函數,您必須啟用 cgroup v1,並且必須啟用並掛接記憶體和裝置 cgroup。如果您不打算執行容器化 Lambda 函數,則可以略過此步驟。

    若要啟用這些 cgroups 選項,請使用下列 Linux 核心參數來啟動裝置。

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    如需有關檢視和設定裝置核心參數的資訊,請參閱作業系統和開機載入程式的說明文件。依照指示永久設定核心參數。

  5. 依照中的需求清單所指示,在您的裝置上安裝所有其他必要的相依性裝置要求

設定視窗裝置

注意

此功能適用於 v2.5.0 及更高版 Greeng rass 核組件。

若要設定下列項目的視窗裝置 AWS IoT Greengrass V2
  1. 安裝 Java 執行階段, AWS IoT Greengrass 核心軟體需要執行。我們建議您使用 Amazon CorrettoOpenJDK 長期支持版本。需要版本 8 或更高版本。

  2. 檢查系統變數 PATH 上是否可用 Java,如果沒有,則加入它。此 LocalSystem 帳戶會執行 AWS IoT Greengrass 核心軟體,因此您必須將 Java 新增至系統變數 PATH,而非使用者的 PATH 使用者變數。請執行下列操作:

    1. 按視窗鍵開啟開始功能表。

    2. 鍵入environment variables以從開始功能表搜尋系統選項。

    3. 在開始功能表搜尋結果中,選擇 [編輯系統環境變數] 以開啟 [系統屬性] 視窗。

    4. 選擇環境變數... 以開啟 [環境變數] 視窗。

    5. 在 [系統變數] 下,選取 [路徑],然後選擇 [編輯]。在 「編輯」環境變數視窗中,您可以在不同的行上檢視每個路徑。

    6. 檢查 Java 安裝bin資料夾的路徑是否存在。路徑看起來可能類似下列範例。

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. 如果路徑中缺少 Java 安裝的bin資料夾,請選擇 [增] 加入,然後選擇 [確定]

  3. 以系統管理員身分開啟 Windows 命令提示字元 (cmd.exe)。

  4. 在 Windows 裝置上的 LocalSystem 帳戶中建立預設使用者。以安全密碼取代密碼。

    net user /add ggc_user password
    提示

    視您的 Windows 組態而定,使用者的密碼可能會設定為在 future 的某個日期到期。為確保您的 Greengrass 應用程式繼續運作,請追蹤密碼何時到期,並在密碼到期之前進行更新。您也可以將使用者的密碼設定為永不過期。

    • 若要檢查使用者及其密碼何時到期,請執行下列命令。

      net user ggc_user | findstr /C:expires
    • 若要將使用者的密碼設定為永不過期,請執行下列命令。

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
    • 如果您使用的是 Windows 10 或更新版本,而該wmic命令已被取代,請執行下列 PowerShell 命令。

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. 在設備上從 Microsoft 下載並安裝該PsExec實用程序

  6. 使用此 PsExec 公用程式將預設使用者的使用者名稱和密碼儲存在 LocalSystem 帳戶的認證管理員執行個體中。以您先前設定的使用者密碼取代密碼。

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

    如果打PsExec License Agreement開,請選Accept擇同意許可證並運行命令。

    注意

    在 Windows 裝置上, LocalSystem 帳戶會執行 Greengrass 核心,而且您必須使用公用 PsExec 程式將預設使用者資訊儲存在帳戶中。 LocalSystem 使用認證管理員應用程式會將此資訊儲存在目前登入使用者的 Windows 帳戶中,而非 LocalSystem 帳戶中。

下載 AWS IoT Greengrass 核心軟體

您可以從下列位置下載最新版本的 AWS IoT Greengrass Core 軟體:

注意

您可以從下列位置下載特定版本的 AWS IoT Greengrass Core 軟體。將版本取代為要下載的版本。

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
若要下載 AWS IoT Greengrass 核心軟體
  1. 在您的核心裝置上,將 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 核心軟體授權合約之規定。

  2. (選擇性) 驗證 Greengrass 核軟體簽章

    注意

    此功能適用於 Greengrass 核 2.9.5 及更高版本。

    1. 使用以下命令來驗證 Greengrass 核工件的簽名:

      Linux or Unix
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      Windows Command Prompt (CMD)

      根據您安裝的 JDK 版本,檔案名稱可能會有所不同。以您安裝的 JDK 版本取代jdk17.0.6_10

      "C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe" -verify -certs -verbose greengrass-nucleus-latest.zip
      PowerShell

      根據您安裝的 JDK 版本,檔案名稱可能會有所不同。以您安裝的 JDK 版本取代jdk17.0.6_10

      'C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe' -verify -certs -verbose greengrass-nucleus-latest.zip
    2. jarsigner調用產生指示驗證結果的輸出。

      1. 如果 Greengrass 核 zip 文件簽名,則輸出包含以下語句:

        jar verified.
      2. 如果 Greengrass 核壓縮檔未簽署,則輸出會包含下列陳述式:

        jar is unsigned.
    3. 如果您提供了 Jarsigner -certs -verbose 選項-verify和選項,則輸出也會包含詳細的簽署者憑證資訊。

  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 軟體的版本。

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

如果您安裝的 Greengrass 核心版本早於 v2.4.0,請不要在安裝核心軟體之後移除此資料夾。 AWS IoT Greengrass AWS IoT Greengrass 核心軟件使用此文件夾中的文件運行。

如果您下載了最新版本的軟體,請安裝 v2.4.0 或更新版本,而且您可以在安裝 AWS IoT Greengrass Core 軟體之後移除此資料夾。

下載 AWS IoT 車隊佈建外掛程式

您可以從以下位置下載最新版本的 AWS IoT 叢集佈建外掛程式:

注意

您可以從以下位置下載特定版本的 AWS IoT 叢集佈建外掛程式。將版本取代為要下載的版本。如需叢集佈建外掛程式每個版本的詳細資訊,請參閱AWS IoT 車隊配置插件更新日誌

https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-version.jar

車隊配置插件是開源的。若要檢視其原始程式碼,請參閱上的AWS IoT 叢集佈建外掛程式 GitHub。

若要下載 AWS IoT 叢集佈建外掛程式
  • 在您的裝置上,將 AWS IoT 叢集佈建外掛程式下載到名為的檔案aws.greengrass.FleetProvisioningByClaim.jar。以您要使用的資料夾取GreengrassInstaller代。

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar -OutFile GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar

    下載此軟體,即表示您同意 Greengrass 核心軟體授權合約之規定。

安裝 AWS IoT Greengrass 核心軟體

使用指定下列動作的引數執行安裝程式:

  • 從指定使用叢集佈建外掛程式佈建 AWS 資源的部分組態檔進行安裝。 AWS IoT Greengrass 核心軟體使用組態檔案來指定裝置上每個 Greengrass 元件的組態。安裝程式會從您提供的部分組態檔案以及叢集佈建外掛程式所建立的 AWS 資源,建立完整的組態檔案。

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

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

    重要

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

如需可指定之引數的詳細資訊,請參閱安裝器引數

注意

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

若要安裝 AWS IoT Greengrass 核心軟體
  1. 檢查 AWS IoT Greengrass 核心軟體的版本。

    • 以包含軟體的資料夾路徑取GreengrassInstaller代。

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. 使用文字編輯器建立名為提供config.yaml給安裝程式的組態檔案。

    例如,在 Linux 系統上,您可以執行下列命令來使用 GNU nano 來建立檔案。

    nano GreengrassInstaller/config.yaml

    將下列 YAML 內容複製到檔案中。此部分組態檔案會指定叢集佈建外掛程式的參數。若要取得有關可指定之選項的更多資訊,請參閱〈〉設定AWS IoT叢集佈建外掛程式

    Linux or Unix
    --- services: aws.greengrass.Nucleus: version: "2.12.6" 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"
    Windows
    --- services: aws.greengrass.Nucleus: version: "2.12.6" aws.greengrass.FleetProvisioningByClaim: configuration: rootPath: "C:\\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: "C:\\greengrass\\v2\\claim-certs\\claim.pem.crt" claimCertificatePrivateKeyPath: "C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key" rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup"

    然後,執行下列動作:

    • 以 AWS IoT Greengrass 核心軟體的版本取代 2.12.6

    • /greengrass/v2C:\greengrass\v2 的每個執行個體取代為 Greengrass 根資料夾。

      注意

      在 Windows 裝置上,您必須將路徑分隔符號指定為雙反斜線 (\\),例如。C:\\greengrass\\v2

    • us-west-2 取代為您建立佈建範本和其他資源的 AWS 區域。

    • iotDataEndpoint以您的 AWS IoT 資料端點取代。

    • iotCredentialEndpoint以您的 AWS IoT 認證端點取代。

    • 取代GreengrassCoreTokenExchangeRoleAlias為權杖交換角色別名的名稱。

    • GreengrassFleetProvisioningTemplate以叢集佈建範本的名稱取代。

    • 以裝置上宣告憑證的路徑取代。claimCertificatePath

    • 取代為claimCertificatePrivateKeyPath裝置上宣告憑證私密金鑰的路徑。

    • 將範本參數 (templateParameters) 取代為用來佈建裝置的值。這個例子是指定義ThingNameThingGroupName參數的示例模板

    注意

    在此組態檔案中,您可以自訂其他組態選項,例如要使用的連接埠和網路 Proxy,如下列範例所示。如需詳細資訊,請參閱 Greengrass 核組態。

    Linux or Unix
    --- services: aws.greengrass.Nucleus: version: "2.12.6" 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"
    Windows
    --- services: aws.greengrass.Nucleus: version: "2.12.6" 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: "C:\\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: "C:\\greengrass\\v2\\claim-certs\\claim.pem.crt" claimCertificatePrivateKeyPath: "C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key" rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem" templateParameters: ThingName: "MyGreengrassCore" ThingGroupName: "MyGreengrassCoreGroup" mqttPort: 443 proxyUrl: "http://my-proxy-server:1100" proxyUserName: "Mary_Major" proxyPassword: "pass@word1357"

    若要使用 HTTPS 代理伺服器,您必須使用叢集佈建外掛程式的 1.1.0 版或更新版本。您必須另外指定rootCaPath下的system,如下列範例所示。

    Linux or Unix
    --- system: rootCaPath: "/greengrass/v2/AmazonRootCA1.pem" services: ...
    Windows
    --- system: rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem" services: ...
  3. 執行安裝程式。指定--trusted-plugin提供叢集佈建外掛程式,並指--init-config定提供組態檔案。

    • /greengrass/v2以 Greengrass 色根資料夾取代。

    • 將的每個執行個GreengrassInstaller體取代為解壓縮安裝程式的資料夾。

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.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 ^ --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.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 ` --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar ` --init-config ./GreengrassInstaller/config.yaml ` --component-default-user ggc_user ` --setup-system-service true
    重要

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

    如果您指定--setup-system-service true,安裝程式會列印是Successfully set up Nucleus as a system service否將軟體設定為系統服務並執行。否則,如果安裝程式成功安裝軟體,則不會輸出任何訊息。

    注意

    當您執行沒有deploy-dev-tools引數的安裝程式時,您無法使用--provision true引數來部署本機開發工具。如需直接在裝置上部署 Greengrass CLI 的相關資訊,請參閱。綠色命令行界面

  4. 檢視根資料夾中的檔案來確認安裝。

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

    如果安裝成功,則根資料夾會包含數個資料夾config,例如packages、和logs

如果您將 AWS IoT Greengrass Core 軟體安裝為系統服務,安裝程式會為您執行該軟體。否則,您必須手動運行該軟件。如需詳細資訊,請參閱 執行AWS IoT Greengrass核心軟體

如需有關如何設定及使用軟體的詳細資訊 AWS IoT Greengrass,請參閱下列內容: