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

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

設定 AWS IoT Greengrass 核心裝置

完成本節中的任務,以安裝、設定和執行 AWS IoT Greengrass 核心軟體。

注意

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

支援平台和需求

在開始之前,請確定您符合下列要求來安裝和執行 AWS IoT Greengrass Core 軟體。

提示

您可以在 Partner Device Catalog AWS IoT Greengrass V2 中搜尋符合 資格的裝置。 AWS

支援平台

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 功能兼容性Windows 裝置的功能考量事項

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

若要建置自訂 Linux 作業系統,您可以在meta-aws專案 中使用 的 BitBake AWS IoT Greengrass V2 配方。此meta-aws專案提供配方,可用於在使用 OpenEmbedded和 Yocto Project 建置架構建置的嵌入式 Linux 系統中建置 AWS 邊緣軟體功能。Yocto 專案是一種開放原始碼協作專案,可協助您為嵌入式應用程式建置自訂 Linux 型系統,而不論硬體架構為何。安裝、設定和自動在裝置上執行 AWS IoT Greengrass 核心軟體的 BitBake 配方 AWS IoT Greengrass V2 。

裝置要求

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

注意

您可以使用 AWS IoT Device Tester AWS IoT Greengrass 來驗證您的裝置是否可以執行 AWS IoT Greengrass 核心軟體,並與 通訊 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。此要求不包括部署到核心裝置的元件。

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

  • Java Runtime Environment (JRE) 8 版或更新版本。Java 必須在裝置上的PATH環境變數上可用。若要使用 Java 開發自訂元件,您必須安裝 Java 開發套件 (JDK)。建議您使用 Amazon CorrettoOpenJDK 長期支援版本。第 8 版或更新版本為必要項目。

  • GNU C Library (glibc) 2.25 版或更新版本。

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

  • 執行 AWS IoT Greengrass Core 軟體的根使用者,例如 root,必須具有許可,才能sudo與任何使用者和任何群組一起執行。/etc/sudoers 檔案必須授予此使用者以其他群組sudo執行的許可。中的使用者許可/etc/sudoers應如下所示。

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

  • /tmp 目錄必須掛載有exec許可。

  • 下列所有 shell 命令:

    • ps -ax -o pid,ppid

    • sudo

    • sh

    • kill

    • cp

    • chmod

    • rm

    • ln

    • echo

    • exit

    • id

    • uname

    • grep

  • 您的裝置也可能需要下列選用 Shell 命令:

    • (選用) systemctl。此命令用於將 AWS IoT Greengrass Core 軟體設定為系統服務。

    • (選用) useraddgroupaddusermod。這些命令用於設定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。此要求不包括部署到核心裝置的元件。

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

  • Java Runtime Environment (JRE) 8 版或更新版本。Java 必須在裝置上的PATH系統變數上可用。若要使用 Java 開發自訂元件,您必須安裝 Java 開發套件 (JDK)。建議您使用 Amazon CorrettoOpenJDK 長期支援版本。第 8 版或更新版本為必要項目。

    注意

    若要使用 Greengrass 核的 2.5.0 版,您必須使用 Java Runtime Environment (JRE) 的 64 位元版本。Greengrass nucleus 2.5.1 版支援 32 位元和 64 位元JREs。

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

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

  • 每個執行元件程序的使用者都必須存在於 LocalSystem 帳戶中,而且使用者名稱和密碼必須位於 LocalSystem 帳戶的 Credential Manager 執行個體中。您可以在遵循安裝 AWS IoT Greengrass 核心軟體 的指示時設定此使用者。

  • 核心裝置必須能夠對一組端點和連接埠執行傳出請求。如需詳細資訊,請參閱允許裝置流量透過 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,而且您必須啟用和掛載下列 cgroups:

      • 記憶體群組 AWS IoT Greengrass ,用於設定容器化 Lambda 函數的記憶體限制。

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

      AWS IoT Greengrass 核心軟體不支援 cgroups 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 Device Tester AWS IoT Greengrass 來驗證您的裝置是否符合這些需求。如需詳細資訊,請參閱AWS IoT Device Tester 對於 AWS IoT Greengrass V2 使用

Windows 裝置的功能考量事項

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

設定 AWS 帳戶

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

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

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

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

    當您註冊 時 AWS 帳戶,AWS 帳戶根使用者會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務

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

選擇一種管理管理員的方式 By 您也可以
在IAM身分中心

(建議)

使用短期憑證存取 AWS。

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

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

(不建議使用)

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