設定 AWS IoT Greengrass 核心裝置 - AWS IoT Greengrass

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

設定 AWS IoT Greengrass 核心裝置

完成本節中的工作以安裝、設定和執行 AWS IoT Greengrass Core 軟體。

注意

本節說明 AWS IoT Greengrass Core 軟體的進階安裝與組態。如果您是第一次使用的使用者 AWS IoT Greengrass V2,建議您先完成入門教學課程,以設定核心裝置並探索的功能 AWS IoT Greengrass。

支援平台和需求

開始之前,請確定您符合下列需求,才能安裝並執行 AWS IoT Greengrass Core 軟體。

支援平台

AWS IoT Greengrass 正式支持運行以下平台的設備。具有未包含在此清單中的平台的裝置可能會運作,但只能在這些指定的平台上 AWS IoT Greengrass 進行測試。

Linux

架構:

  • Armv7l

  • Armv8 (AArch64)

  • x86_64

Windows

架構:

  • x86_64

版本:

  • Windows 10

  • Windows 11

  • Windows Server 2019

  • Windows Server 2022

注意

Windows 裝置目前不支援某些 AWS IoT Greengrass 功能。如需詳細資訊,請參閱 通過操作系統的 Greengrass 功能兼容性視窗裝置的功能注意事項

Linux 平台也可以 AWS IoT Greengrass V2 在碼頭容器中運行。如需詳細資訊,請參閱 在 Docker 容器中執行 AWS IoT Greengrass 核心軟體

若要建置以 Linux 為基礎的自訂作業系統,您可以在專案 AWS IoT Greengrass V2 中使用的 BitBake meta-aws方法。meta-aws項目提供了一些配方,您可以使用它來構建使用 Yocto 項目構建框架的嵌入式 Linux 系統中構建 AWS 邊緣軟件功能。OpenEmbeddedYocto 項目是一個開源協作項目,可幫助您為嵌入式應用程序構建基於 Linux 的自定義系統,無論硬件架構如何。在裝置上 AWS IoT Greengrass V2 安裝、設定及自動執行 AWS IoT Greengrass Core 軟體的 BitBake 秘訣。

裝置要求

裝置必須符合下列需求,才能安裝並執行 AWS IoT Greengrass 核心軟體 v2.x。

注意

您可以使 AWS IoT Device Tester 用 in AWS IoT Greengrass 來驗證您的裝置是否可以執行 AWS IoT Greengrass Core 軟體並與 AWS 雲端. 如需詳細資訊,請參閱 AWS IoT Device Tester 對於 AWS IoT Greengrass V2 使用

Linux
  • 使用一個AWS 區域支持 AWS IoT Greengrass V2. 如需支援區域的清單,請參閱《AWS 一般參考》中的 AWS IoT Greengrass V2 端點和配額

  • AWS IoT Greengrass 核心軟體可用的最低 256 MB 磁碟空間。此需求不包括部署至核心裝置的元件。

  • 至少配置給 AWS IoT Greengrass 核心軟體的 96 MB 記憶體。此需求不包括在核心裝置上執行的元件。如需詳細資訊,請參閱 使用 JVM 選項控制內存分配

  • Java 執行階段環境 (JRE) 版本 8 或更高版本。Java 必須在設備上的 PATH 環境變量上可用。若要使用 Java 開發自訂元件,您必須安裝 Java 開發套件 (JDK)。我們建議您使用 Amazon CorrettoOpenJDK 長期支持版本。需要版本 8 或更高版本。

  • GNU C 函式庫 (格列) 2.25 版或更高版本。

  • 您必須以 root 使用者身分執行 AWS IoT Greengrass Core 軟體。例如sudo,使用。

  • 執行 AWS IoT Greengrass Core 軟體 (例如root) 的 root 使用者必須擁有sudo與任何使用者和任何群組一起執行的權限。/etc/sudoers檔案必須授與此使用者權限,才能以其他群組的sudo身分執行。中的使用者權限/etc/sudoers應如下列範例所示。

    root ALL=(ALL:ALL) ALL
  • 核心裝置必須能夠對一組端點和連接埠執行輸出要求。如需詳細資訊,請參閱 允許裝置流量透過 Proxy 或防火牆

  • /tmp錄必須使用exec權限來裝載。

  • 下列所有命令介面命令:

    • ps -ax -o pid,ppid

    • sudo

    • sh

    • kill

    • cp

    • chmod

    • rm

    • ln

    • echo

    • exit

    • id

    • uname

    • grep

  • 您的設備可能還需要以下可選的 shell 命令:

    • (選用) systemctl。此命令用於設置 AWS IoT Greengrass 核心軟件作為系統服務。

    • (選擇性) useradd groupadd、與usermod。這些指令可用來設定ggc_user系統使用者和ggc_group系統群組。

    • (選用) mkfifo。這個命令用於運行 Lambda 函數作為組件。

  • 若要設定元件程序的系統資源限制,您的裝置必須執行 Linux 核心 2.6.24 版或更新版本。

  • 若要執行 Lambda 函數,您的裝置必須符合其他需求。如需詳細資訊,請參閱 Lambda 函數要求

Windows
  • 使用一個AWS 區域支持 AWS IoT Greengrass V2. 如需支援區域的清單,請參閱《AWS 一般參考》中的 AWS IoT Greengrass V2 端點和配額

  • AWS IoT Greengrass 核心軟體可用的最低 256 MB 磁碟空間。此需求不包括部署至核心裝置的元件。

  • 至少配置給 AWS IoT Greengrass 核心軟體的 160 MB 記憶體。此需求不包括在核心裝置上執行的元件。如需詳細資訊,請參閱 使用 JVM 選項控制內存分配

  • Java 執行階段環境 (JRE) 版本 8 或更高版本。Java 必須在設備上的 PATH 系統變數上可用。若要使用 Java 開發自訂元件,您必須安裝 Java 開發套件 (JDK)。我們建議您使用 Amazon CorrettoOpenJDK 長期支持版本。需要版本 8 或更高版本。

    注意

    若要使用 Greengrass 核心的 2.5.0 版本,您必須使用 64 位元版本的 Java 執行階段環境 (JRE)。Greengrass 核 2.5.1 版本支持 32 位和 64 位元的 JRE。

  • 安裝 AWS IoT Greengrass Core 軟體的使用者必須是系統管理員。

  • 您必須將 AWS IoT Greengrass Core 軟體安裝為系統服務。指--setup-system-service true定安裝軟體的時間。

  • 每個執行元件處理序的使用者都必須存在於 LocalSystem 帳戶中,而且使用者的名稱和密碼必須位於 LocalSystem 帳戶的認證管理員執行個體中。當您依照指示安裝 AWS IoT Greengrass Core 軟體時,即可設定此使用者。

  • 核心裝置必須能夠對一組端點和連接埠執行輸出要求。如需詳細資訊,請參閱 允許裝置流量透過 Proxy 或防火牆

Lambda 函數要求

您的裝置必須符合下列需求才能執行 Lambda 函數:

  • 以 Linux 為基礎的作業系統。

  • 您的設備必須具有 mkfifo shell 命令。

  • 您的裝置必須執行 Lambda 函數所需的程式設計語言程式庫。您必須在設備上安裝所需的庫,並將其添加到PATH環境變量中。Greengrass 支持所 Lambda 支持的 Python,Node.js 和 Java 運行時的版本。Greengrass 不會對已淘汰的 Lambda 執行階段版本套用任何其他限制。如需 Lambda 執行階段 AWS IoT Greengrass 支援的詳細資訊,請參閱執行AWS Lambda函數

  • 若要執行容器化 Lambda 函數,您的裝置必須符合下列需求:

    • Linux 核心版本 4.4 或更新版本。

    • 核心必須支援 cgroups v1,而且您必須啟用並掛載下列 cgroup:

      • 用 AWS IoT Greengrass 來設定容器化 Lambda 函數的記憶體限制的記憶體 cgroup。

      • 用於容器化 Lambda 函數的裝置 cgroup,以存取系統裝置或磁碟區。

      AWS IoT Greengrass 核心軟體不支援 cgroup v2。

      若要符合此需求,請使用下列 Linux 核心參數來啟動裝置。

      cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
      提示

      在 Raspberry Pi 上,編輯/boot/cmdline.txt文件以設置設備的內核參數。

    • 您必須在設備上啟用以下 Linux 內核配置:

      • 命名空間:

        • CONFIG_IPC_NS

        • CONFIG_UTS_NS

        • CONFIG_USER_NS

        • CONFIG_PID_NS

      • Cgroups:

        • CONFIG_CGROUP_DEVICE

        • CONFIG_CGROUPS

        • CONFIG_MEMCG

      • 其他:

        • CONFIG_POSIX_MQUEUE

        • CONFIG_OVERLAY_FS

        • CONFIG_HAVE_ARCH_SECCOMP_FILTER

        • CONFIG_SECCOMP_FILTER

        • CONFIG_KEYS

        • CONFIG_SECCOMP

        • CONFIG_SHMEM

      提示

      請查看您 Linux 發行版的文件,以瞭解如何驗證和設定 Linux 核心參數。您也可以使用 AWS IoT Greengrass to AWS IoT Device Tester 來驗證您的裝置是否符合這些需求。如需詳細資訊,請參閱 AWS IoT Device Tester 對於 AWS IoT Greengrass V2 使用

視窗裝置的功能注意事項

Windows 裝置目前不支援某些 AWS IoT Greengrass 功能。檢閱功能差異,以確認 Windows 裝置是否符合您的需求。如需詳細資訊,請參閱 通過操作系統的 Greengrass 功能兼容性

設置一個 AWS 帳戶

如果您沒有 AWS 帳戶,請完成以下步驟來建立一個。

若要註冊成為 AWS 帳戶
  1. 開啟 https://portal.aws.amazon.com/billing/signup

  2. 請遵循線上指示進行。

    部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。

    當您註冊一個時 AWS 帳戶,將創建AWS 帳戶根使用者一個。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。安全性最佳做法是將管理存取權指派給使用者,並僅使用 root 使用者來執行需要 root 使用者存取權的工作。

若要建立管理員使用者,請選擇下列其中一個選項。

選擇一種管理管理員的方式 By 您也可以
在 IAM Identity Center

(建議)

使用短期憑證存取 AWS。

這與安全性最佳實務一致。有關最佳實務的資訊,請參閱 IAM 使用者指南中的 IAM 安全最佳實務

請遵循 AWS IAM Identity Center 使用者指南入門中的說明。 AWS IAM Identity Center在《使用AWS Command Line Interface 者指南》中設定 AWS CLI 要使用的,以設定程式設計方式存取。
在 IAM 中

(不建議使用)

使用長期憑證存取 AWS。 請遵循 IAM 使用者指南建立您的第一個 IAM 管理員使用者和使用者群組的說明。 請參閱 IAM 使用者指南中的管理 IAM 使用者的存取金鑰,設定程式設計存取。