本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用自動資源佈建安裝 AWS IoT Greengrass 核心軟體
Core AWS IoT Greengrass 軟體包含安裝程式,可將您的裝置設定為 Greengrass 核心裝置。若要快速設定裝置,安裝程式可以佈建核心裝置操作所需的 AWS IoT 物件、 AWS IoT 物件群組、IAM 角色和 AWS IoT 角色別名。安裝程式也可以將本機開發工具部署到核心裝置,因此您可以使用裝置來開發和測試自訂軟體元件。安裝程式需要 AWS 登入資料才能佈建這些資源並建立部署。
如果您無法提供 AWS 登入資料給裝置,您可以佈建核心裝置操作所需的 AWS 資源。您也可以將開發工具部署到核心裝置,以用作開發裝置。這可讓您在執行安裝程式時為裝置提供較少的許可。如需詳細資訊,請參閱使用手動資源佈建安裝 AWS IoT Greengrass 核心軟體。
重要
下載 AWS IoT Greengrass Core 軟體之前,請檢查您的核心裝置是否符合安裝和執行 AWS IoT Greengrass Core 軟體 v2.0 的需求。
設定裝置環境
請依照本節中的步驟設定 Linux 或 Windows 裝置,以用作您的 AWS IoT Greengrass 核心裝置。
設定 Linux 裝置
設定 的 Linux 裝置 AWS IoT Greengrass V2
-
安裝執行 AWS IoT Greengrass 核心軟體所需的 Java 執行時間。我們建議您使用 Amazon Corretto
或 OpenJDK 長期支援版本。第 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 Linux 2023:
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)
-
-
(選用) 建立在裝置上執行元件的預設系統使用者和群組。您也可以選擇讓 AWS IoT Greengrass Core 軟體安裝程式在安裝期間使用
--component-default-user安裝程式引數建立此使用者和群組。如需詳細資訊,請參閱安裝程式引數。sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group -
確認執行 AWS IoT Greengrass 核心軟體的使用者 (通常為
root) 具有使用任何使用者和任何群組執行sudo的許可。-
執行下列命令以開啟
/etc/sudoers檔案。sudo visudo -
確認使用者的許可如下範例所示。
root ALL=(ALL:ALL) ALL
-
-
(選用) 若要執行容器化 Lambda 函數,您必須啟用 cgroups
v1,而且必須啟用和掛載記憶體和裝置 cgroups。如果您不打算執行容器化 Lambda 函數,您可以略過此步驟。 若要啟用這些 cgroups 選項,請使用下列 Linux 核心參數啟動裝置。
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0如需有關檢視和設定裝置核心參數的資訊,請參閱作業系統和開機載入器的文件。依照指示永久設定核心參數。
-
在裝置上安裝所有其他必要的相依性,如 中的需求清單所示裝置要求。
設定 Windows 裝置
注意
此功能適用於 Greengrass 核元件的 v2.5.0 和更新版本。
為 設定 Windows 裝置 AWS IoT Greengrass V2
-
安裝執行 AWS IoT Greengrass 核心軟體所需的 Java 執行時間。我們建議您使用 Amazon Corretto
或 OpenJDK 長期支援版本。第 8 版或更新版本為必要項目。 -
檢查 PATH
系統變數上是否提供 Java,如果沒有,請新增它。LocalSystem 帳戶會執行 AWS IoT Greengrass Core 軟體,因此您必須將 Java 新增至 PATH 系統變數,而不是使用者的 PATH 使用者變數。請執行下列操作: -
按 Windows 鍵開啟開始選單。
-
輸入
environment variables以從開始功能表搜尋系統選項。 -
在開始功能表搜尋結果中,選擇編輯系統環境變數以開啟系統屬性視窗。
-
選擇環境變數...以開啟環境變數視窗。
-
在系統變數下,選取路徑,然後選擇編輯。在編輯環境變數視窗中,您可以檢視個別行上的每個路徑。
-
檢查 Java 安裝
bin資料夾的路徑是否存在。路徑看起來可能會類似下列範例。C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin -
如果路徑中缺少 Java 安裝的
bin資料夾,請選擇新增以新增,然後選擇確定。
-
-
以管理員身分開啟 Windows 命令提示字元 (
cmd.exe)。 -
在 Windows 裝置的 LocalSystem 帳戶中建立預設使用者。將
密碼取代為安全密碼。net user /add ggc_userpassword提示
根據您的 Windows 組態,使用者的密碼可能會設定為在未來的日期過期。為了確保您的 Greengrass 應用程式持續運作,請追蹤密碼過期的時間,並在過期前更新它。您也可以將使用者的密碼設定為永不過期。
-
若要檢查使用者及其密碼何時過期,請執行下列命令。
net userggc_user| findstr /C:expires -
若要將使用者的密碼設定為永不過期,請執行下列命令。
wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False -
如果您使用的是已
wmic棄用命令的 Windows 10 或更新版本,請執行下列 PowerShell 命令。 Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
-
-
從 Microsoft 在裝置上下載並安裝 PsExec 公用程式
。 -
使用 PsExec 公用程式,將預設使用者的使用者名稱和密碼存放在 LocalSystem 帳戶的 Credential Manager 執行個體中。將
密碼取代為您先前設定的使用者密碼。psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password如果 PsExec License Agreement 開啟,請選擇 以Accept同意授權並執行 命令。
注意
在 Windows 裝置上,LocalSystem 帳戶會執行 Greengrass 核,而且您必須使用 PsExec 公用程式將預設使用者資訊存放在 LocalSystem 帳戶中。使用 Credential Manager 應用程式會將此資訊存放在目前登入使用者的 Windows 帳戶中,而不是 LocalSystem 帳戶。
提供 AWS 登入資料給裝置
將 AWS 登入資料提供給您的裝置,讓安裝程式可以佈建所需的 AWS 資源。如需所需許可的詳細資訊,請參閱安裝程式佈建資源的最低 IAM 政策。
提供 AWS 登入資料給裝置
-
將您的 AWS 登入資料提供給裝置,讓安裝程式可以為您的核心裝置佈建 AWS IoT 和 IAM 資源。為了提高安全性,建議您取得 IAM 角色的臨時登入資料,只允許佈建所需的最低許可。如需詳細資訊,請參閱安裝程式佈建資源的最低 IAM 政策。
注意
安裝程式不會儲存或存放您的登入資料。
在您的裝置上,執行下列其中一項操作來擷取登入資料,並將其提供給 AWS IoT Greengrass Core 軟體安裝程式:
-
(建議) 使用來自 的臨時登入資料 AWS IAM Identity Center
-
從 IAM Identity Center 提供存取金鑰 ID、私密存取金鑰和工作階段字符。如需詳細資訊,請參閱《IAM Identity Center 使用者指南》中的取得和重新整理臨時憑證中的手動憑證重新整理。
-
執行下列命令,將登入資料提供給 AWS IoT Greengrass 核心軟體。
-
-
使用來自 IAM 角色的臨時安全登入資料:
-
提供您擔任之 IAM 角色的存取金鑰 ID、私密存取金鑰和工作階段字符。如需如何擷取這些登入資料的詳細資訊,請參閱《IAM 使用者指南》中的請求臨時安全登入資料。
-
執行下列命令,將登入資料提供給 AWS IoT Greengrass 核心軟體。
-
-
使用來自 IAM 使用者的長期登入資料:
-
為您的 IAM 使用者提供存取金鑰 ID 和私密存取金鑰。您可以建立 IAM 使用者來佈建您稍後刪除的項目。如需提供使用者的 IAM 政策,請參閱 安裝程式佈建資源的最低 IAM 政策。如需如何擷取長期憑證的詳細資訊,請參閱《IAM 使用者指南》中的管理 IAM 使用者的存取金鑰。
-
執行下列命令,將登入資料提供給 AWS IoT Greengrass 核心軟體。
-
(選用) 如果您建立了 IAM 使用者來佈建 Greengrass 裝置,請刪除該使用者。
-
(選用) 如果您使用現有 IAM 使用者的存取金鑰 ID 和私密存取金鑰,請更新使用者的金鑰,使其不再有效。如需詳細資訊,請參閱《 AWS Identity and Access Management 使用者指南》中的更新存取金鑰。
-
-
下載 AWS IoT Greengrass 核心軟體
您可以從下列位置下載最新版本的 AWS IoT Greengrass Core 軟體:
注意
您可以從下列位置下載特定版本的 AWS IoT Greengrass 核心軟體。將版本取代為要下載的版本。
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
下載 AWS IoT Greengrass 核心軟體
-
在您的核心裝置上,將 AWS IoT Greengrass Core 軟體下載至名為 的檔案
greengrass-nucleus-latest.zip。下載此軟體,即表示您同意 Greengrass 核心軟體授權合約
之規定。 -
(選用) 驗證 Greengrass 核軟體簽章
注意
此功能適用於 Greengrass 核版本 2.9.5 及更新版本。
-
使用下列命令來驗證 Greengrass 核子成品的簽章:
-
jarsigner調用會產生輸出,指出驗證的結果。-
如果已簽署 Greengrass 核 zip 檔案,輸出會包含下列陳述式:
jar verified. -
如果未簽署 Greengrass 核 zip 檔案,輸出會包含下列陳述式:
jar is unsigned.
-
-
如果您提供 Jarsigner
-certs選項以及-verify和-verbose選項,輸出也會包含詳細的簽署者憑證資訊。
-
-
將 AWS IoT Greengrass Core 軟體解壓縮至裝置上的資料夾。將
GreengrassInstaller取代為您要使用的資料夾。 -
(選用) 執行下列命令以查看 AWS IoT Greengrass 核心軟體版本。
java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
重要
如果您安裝比 v2.4.0 更舊的 Greengrass 核版本,請勿在安裝 AWS IoT Greengrass 核心軟體之後移除此資料夾。Core AWS IoT Greengrass 軟體會使用此資料夾中的檔案來執行。
如果您下載最新版本的軟體,請安裝 v2.4.0 或更新版本,並在安裝 AWS IoT Greengrass Core 軟體後移除此資料夾。
安裝 AWS IoT Greengrass 核心軟體
使用指定 執行下列動作的引數執行安裝程式:
-
建立核心裝置操作所需的 AWS 資源。
-
指定 以使用
ggc_user系統使用者在核心裝置上執行軟體元件。在 Linux 裝置上,此命令也會指定 使用ggc_group系統群組,安裝程式會為您建立系統使用者和群組。 -
將 AWS IoT Greengrass Core 軟體設定為開機時執行的系統服務。在 Linux 裝置上,這需要 Systemd
init 系統。 重要
在 Windows 核心裝置上,您必須將 AWS IoT Greengrass Core 軟體設定為系統服務。
若要使用本機開發工具設定開發裝置,請指定 --deploy-dev-tools true引數。安裝完成後,本機開發工具最多可能需要一分鐘的時間才能部署。
如需您可以指定之引數的詳細資訊,請參閱 安裝程式引數。
注意
如果您在記憶體有限的 AWS IoT Greengrass 裝置上執行 ,您可以控制 AWS IoT Greengrass Core 軟體使用的記憶體量。若要控制記憶體配置,您可以在核心元件的jvmOptions組態參數中設定 JVM 堆積大小選項。如需詳細資訊,請參閱使用 JVM 選項控制記憶體配置。
安裝 AWS IoT Greengrass 核心軟體
-
執行 AWS IoT Greengrass Core 安裝程式。取代命令中的引數值,如下所示。
注意
Windows 的路徑長度限制為 260 個字元。如果您使用的是 Windows,請使用根資料夾,例如
C:\greengrass\v2或D:\greengrass\v2,將 Greengrass 元件路徑保持在 260 個字元的限制以下。-
或/greengrass/v2C:\greengrass\v2:用來安裝 AWS IoT Greengrass Core 軟體的根資料夾路徑。 -
GreengrassInstaller。解壓縮 AWS IoT Greengrass Core 軟體安裝程式的資料夾路徑。 -
區域。尋找或建立資源 AWS 區域 的 。 -
MyGreengrassCore。Greengrass 核心裝置的 AWS IoT 物件名稱。如果物件不存在,安裝程式會建立它。安裝程式會下載憑證以驗證為 AWS IoT 實物。如需詳細資訊,請參閱的裝置身分驗證和授權 AWS IoT Greengrass。注意
物件名稱不能包含冒號 (
:) 字元。 -
MyGreengrassCoreGroup。Greengrass 核心裝置的 AWS IoT 物件群組名稱。如果物件群組不存在,安裝程式會建立它,並將該物件新增至其中。如果物件群組存在且具有作用中部署,核心裝置會下載並執行部署指定的軟體。注意
物件群組名稱不能包含冒號 (
:) 字元。 -
GreengrassV2IoTThingPolicy。允許 Greengrass 核心裝置與 AWS IoT 和 通訊 AWS IoT 的政策名稱 AWS IoT Greengrass。如果 AWS IoT 政策不存在,安裝程式會使用此名稱建立寬鬆 AWS IoT 政策。您可以限制此政策的許可給您的使用案例。如需詳細資訊,請參閱AWS IoT Greengrass V2 核心裝置的最低 AWS IoT 政策。 -
GreengrassV2TokenExchangeRole。允許 Greengrass 核心裝置取得臨時 AWS 登入資料的 IAM 角色名稱。如果角色不存在,安裝程式會建立該角色,並建立和連接名為 的政策。如需詳細資訊,請參閱授權核心裝置與 AWS 服務互動。GreengrassV2TokenExchangeRoleAccess -
GreengrassCoreTokenExchangeRoleAlias。IAM 角色的別名,允許 Greengrass 核心裝置稍後取得臨時登入資料。如果角色別名不存在,安裝程式會建立它,並將其指向您指定的 IAM 角色。如需詳細資訊,請參閱授權核心裝置與 AWS 服務互動。
重要
在 Windows 核心裝置上,您必須指定
--setup-system-service true將 AWS IoT Greengrass Core 軟體設定為系統服務。如果成功,安裝程式會列印下列訊息:
-
如果您指定
--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 true,安裝程式Launched Nucleus successfully會在成功時列印並執行軟體。
-
-
如果您安裝 v2Greengrass 核.0.4 或更新版本,請略過此步驟。如果您下載了最新版本的軟體,則已安裝 v2.0.4 或更新版本。
執行下列命令,為您的 AWS IoT Greengrass Core 軟體根資料夾設定所需的檔案許可。
以您在安裝命令中指定的根資料夾取代 ,並以根資料夾的父資料夾取代/greengrass/v2/greengrass。sudo chmod 755&& sudo chmod 755/greengrass/v2/greengrass
如果您將 AWS IoT Greengrass Core 軟體安裝為系統服務,安裝程式會為您執行軟體。否則,您必須手動執行軟體。如需詳細資訊,請參閱執行 AWS IoT Greengrass Core 軟體。
注意
根據預設,安裝程式建立的 IAM 角色不允許存取 S3 儲存貯體中的元件成品。若要在 Amazon S3 中部署定義成品的自訂元件,您必須將許可新增至角色,以允許核心裝置擷取元件成品。如需詳細資訊,請參閱允許存取元件成品的 S3 儲存貯體。
如果您還沒有元件成品的 S3 儲存貯體,您可以在建立儲存貯體之後新增這些許可。
注意
當 AWS IoT Greengrass Core 軟體連線至雲端時,您的裝置將被識別為 Core 裝置。
如需如何設定和使用軟體的詳細資訊 AWS IoT Greengrass,請參閱下列內容: