AWS IoT Greengrass Version 1 於 2023 年 6 月 30 日進入延長壽命階段。如需詳細資訊,請參閱 AWS IoT Greengrass V1 維護政策 。在此日期之後, AWS IoT Greengrass V1 不會發佈提供功能、增強功能、錯誤修正或安全修補程式的更新。在 上執行的裝置 AWS IoT Greengrass V1 不會中斷,並會繼續運作和連線至雲端。我們強烈建議您遷移至 AWS IoT Greengrass Version 2,這會新增重要的新功能,並支援其他平台 。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
什麼是 AWS IoT Greengrass?
AWS IoT Greengrass 是將雲功能擴展到本地設備的軟件。這能讓裝置收集與分析更接近資訊來源的資料、自主回應本機裝置,在本機網路上安全地互相通訊。本機裝置也可以安全地 AWS IoT Core 與 IoT 資料通訊,並將其匯出到 AWS 雲端. AWS IoT Greengrass 開發人員可以使用 AWS Lambda 函數和預先建置的連接器來建立部署到裝置以進行本機執行的無伺服器應用程式。
下圖顯示的基本架構 AWS IoT Greengrass。
AWS IoT Greengrass 讓客戶能夠建置 IoT 裝置和應用程式邏輯。具體而言, AWS IoT Greengrass 提供在裝置上執行之應用程式邏輯的雲端式管理。本機部署的 Lambda 函數和連接器會由本機事件、來自雲端的訊息或其他來源觸發。
在中 AWS IoT Greengrass,裝置可以在區域網路上安全地通訊並互相交換訊息,而不必連線到雲端。 AWS IoT Greengrass 提供本機 pub/sub 訊息管理員,可在連線中斷時智慧地緩衝訊息,以便保留傳入和輸出至雲端的訊息。
AWS IoT Greengrass 保護使用者資料:
-
透過裝置的安全身分驗證和授權。
-
在本機網路內安全的連線能力。
-
本機裝置和雲端之間。
裝置安全登入資料在群組內作用,直到撤銷,即使當連接至雲端的連線中斷,裝置還可以繼續安全地在本機進行通訊。
AWS IoT Greengrass 提供 Lambda 函數的安全 over-the-air 更新。
AWS IoT Greengrass 包括:
-
軟體分發
-
AWS IoT Greengrass 核心軟體
-
AWS IoT Greengrass 核心 SDK
-
-
雲端服務
-
AWS IoT Greengrass API
-
-
功能
-
Lambda 執行時間
-
陰影實作
-
訊息管理員
-
群組管理
-
探索服務
-
O ver-the-air 更新代理程式
-
串流管理員
-
本機資源存取
-
本機機器學習推論
-
本機秘密管理員
-
內建整合服務、通訊協定和軟體的連接器
-
主題
AWS IoT Greengrass 核心軟體
AWS IoT Greengrass 核心軟體提供下列功能:
-
連接器和 Lambda 函數的部署和本機執行。
-
在本機處理資料串流,並自動匯出至 AWS 雲端.
-
使用受管訂閱,透過裝置、連接器和 Lambda 函數之間的區域網路傳送 MQTT 訊息。
-
使用受管訂閱,在裝置、連接器 AWS IoT 和 Lambda 函數之間傳送 MQTT 訊息。
-
設備之間的安全連接以及 AWS 雲端 使用設備身份驗證和授權。
-
裝置的本機陰影同步。可以將陰影配置為與 AWS 雲端.
-
對本機裝置和磁碟區資源控制的存取。
-
用於執行本機推論的雲端訓練機器學習模型部署。
-
可讓裝置探索 Greengrass 核心裝置的自動 IP 地址偵測。
-
新的或更新的群組組態的集中部署。下載組態資料之後,核心裝置會自動重新啟動。
-
使用者定義 Lambda 函數的安全 over-the-air (OTA) 軟體更新。
-
本機密碼的安全加密儲存,並由連接器和 Lambda 函數控制存取。
AWS IoT Greengrass 核心執行個體是透過建立和更新儲存在雲端中的 AWS IoT Greengrass 群組定義的 AWS IoT Greengrass API 進行設定。
AWS IoT Greengrass 核心軟體版本
AWS IoT Greengrass 提供了幾個安裝 AWS IoT Greengrass 核心軟件的選項,包括 tar.gz 下載文件,快速入門腳本,以及在受支持的 Debian 平台上安apt
裝。如需詳細資訊,請參閱 安裝 AWS IoT Greengrass 核心軟體。
下列索引標籤說明 AWS IoT Greengrass 核心軟體版本的新功能和變更內容。
AWS IoT Greengrass 群組
Greengrass 群組是設定和元件的集合,例如 Greengrass 核心、裝置和訂閱。群組可用來定義互動的範圍。例如,群組可能代表大樓的其中一個樓層、一輛卡車,或整個礦場。下圖顯示可組成 Greengrass 群組的元件。
在上圖中:
- A:Greengrass 群組定義
-
群組設定和元件的相關資訊。
- B:Greengrass 群組設定
-
其中包含:
-
Greengrass 群組角色。
-
憑證授權機構和本機連線組態。
-
Greengrass 核心連線資訊。
-
預設的 Lambda 行階段環境。如需詳細資訊,請參閱 為群組中的 Lambda 函數設定預設容器化。
-
CloudWatch 和本地日誌配置。如需詳細資訊,請參閱 使用 AWS IoT Greengrass 日誌進行監控。
-
- C:Greengrass 核心
-
代表 Greengrass 核心的 AWS IoT 東西(設備)。如需詳細資訊,請參閱 設定 AWS IoT Greengrass 核心。
- D:Lambda 函數定義
-
在核心本機執行的 Lambda 函數清單,以及相關的組態資料。如需詳細資訊,請參閱 在AWS IoT Greengrass核心上執行 Lambda 函數。
- E:訂閱定義
-
可讓通訊使用 MQTT 訊息的訂閱清單。訂閱定義:
-
訊息來源和訊息目標。這些可以是用戶端裝置、Lambda 函數 AWS IoT Core、連接器和本機陰影服務。
-
用來篩選訊息的主題 (或主旨)。
如需詳細資訊,請參閱 MQTT 簡訊工作流程中的受管訂閱。
-
- F:連接器定義
-
在本機核心上執行的連接器清單,以及相關聯的組態資料。如需詳細資訊,請參閱 使用 Greengrass 連接器來整合服務和通訊協定。
- G:裝置定義
-
屬於 Greengrass 群組成員的 AWS IoT 物件清單 (稱為用戶端裝置或裝置),以及相關的設定資料。如需詳細資訊,請參閱 中的裝置 AWS IoT Greengrass。
- H:資源定義
-
Greengrass 核心上本機資源、機器學習資源和私密資源的清單,以及相關聯的組態資料。如需詳細資訊,請參閱使用 Lambda 函數和連接器存取本機資源、執行機器學習推論及將私密部署至 AWS IoT Greengrass 核心。
部署時,Greengrass 群組定義、Lambda 函數、連接器、資源和訂閱資料表都會複製到核心裝置。如需詳細資訊,請參閱 將 AWS IoT Greengrass 群組部署至 AWS IoT Greengrass 核心。
中的裝置 AWS IoT Greengrass
一個 Greengrass 組可以包含兩種類型的設備: AWS IoT
- Greengrass 核心
-
Greengrass 核心是運行核心軟件,它允許它直接與 AWS IoT Core 服務進行通信的設備。 AWS IoT Greengrass AWS IoT Greengrass 核心有自己的裝置憑證,可用來進行驗證。 AWS IoT Core它在註冊表中具有設備陰影和條 AWS IoT Core 目。Greengrass 核心會執行本機 Lambda 執行階段、部署代理程式和 IP 位址追蹤器,將 IP 位址資訊傳送至 AWS IoT Greengrass 服務,讓用戶端裝置自動探索其群組和核心連線資訊。如需詳細資訊,請參閱 設定 AWS IoT Greengrass 核心。
注意
Greengrass 群組必須包含恰好一個核心。
- 用戶端裝置
-
客戶端設備(也稱為連接的設備,Greengrass 設備或設備)是通過 MQTT 連接到 Greengrass 內核的設備。他們有自己的裝置憑 AWS IoT Core 證進行驗證、裝置陰影,以及 AWS IoT Core 登錄中的項目。用戶端裝置可以執行 FreeRTOS 或使用AWS IoT 裝置 SDK 或AWS IoT Greengrass 探索 API 來取得探索資訊,用於與相同 Greengrass 群組中的核心連線和驗證。若要瞭解如何使用 AWS IoT 主控台建立和設定用戶端裝置 AWS IoT Greengrass,請參閱模組編號 1:與中的用戶端裝置互動AWS IoT Greengrass群組。或者,如需示範如何使用建立和設定 AWS CLI 用戶端裝置的範例 AWS IoT Greengrass,請參閱《AWS CLI 命令參考》create-device-definition中的。
在 Greengrass 群組中,您可以建立訂閱,讓用戶端裝置透過 MQTT 與群組中的 Lambda 函數、連接器和其他用戶端裝置以及 AWS IoT Core 或本機陰影服務進行通訊。MQTT 訊息透過核心路由。如果核心裝置中斷與雲端的連線,用戶端裝置可以繼續透過區域網路進行通訊。從較小的微型控制器裝置到大型設備,用戶端裝置的大小可能有所不同。目前,一個 Greengrass 群組最多可以包含 2,500 個用戶端裝置。一個用戶端裝置最多可以是 10 個群組的成員。
注意
OPC-UA 是一個用於工業通訊的資訊交換標準。若要在 Greengrass 核心上實作 OPC-UA 支援,您可以使用 IoT 連接器。 SiteWise 此連接器會將工業裝置資料從 OPC-UA 伺服器傳送至中的資產屬性。 AWS IoT SiteWise
下表顯示這些裝置所相關的類型。
AWS IoT Greengrass 核心裝置會將憑證儲存在兩個位置:
-
/
中的核心裝置憑證 核心裝置憑證通常命名為greengrass-root
/certs
(例如,hash
.cert.pem86c84488a5.cert.pem
)。當核心連線至 AWS IoT Core 和服務時,用 AWS IoT 戶端會使用此憑證進行相互驗 AWS IoT Greengrass 證。 -
/
中的 MQTT 伺服器憑證。MQTT 伺服器憑證的名稱為greengrass-root
/ggc/var/state/serverserver.crt
。此憑證用於本機 MQTT 伺服器 (位於 Greengrass 核心) 和 Greengrass 裝置之間的相互驗證。注意
根代表 AWS IoT Greengrass 核心軟件安
裝在您的設備上的路徑。通常,這是/greengrass
目錄。
軟體開發套件
下列 AWS提供的 SDK 可用來搭配使用: AWS IoT Greengrass
- AWS SDK
-
使用 AWS 開發套件建置可與任何 AWS 服務 (包括 Amazon S3、Amazon DynamoDB 等) 互動的應用程式。 AWS IoT AWS IoT Greengrass在的內容中 AWS IoT Greengrass,您可以在部署的 Lambda 函數中使用 AWS SDK 直接呼叫任何 AWS 服務。如需詳細資訊,請參閱 AWS SDK。
- AWS IoT 裝置 SDK
-
AWS IoT 裝置 SDK 可協助裝置連線到 AWS IoT Core 和 AWS IoT Greengrass。如需詳細資訊,請參閱AWS IoT 開發人員指南中的AWS IoT 裝置 SDK。
用戶端裝置可以使用任何 AWS IoT 裝置 SDK v2 平台來探索 Greengrass 核心的連線資訊。連線資訊包括:
-
用戶端裝置所屬的 Greengrass 群組識別碼。
-
每個群組中 Greengrass 的 IP 位址。這些也稱為核心端點。
-
群組 CA 憑證,裝置會使用哪些裝置與核心進行相互驗證。如需詳細資訊,請參閱 裝置連線工作流程。
注意
在第 1 版的 AWS IoT 裝置開發套件中,只有 C++ 和 Python 平台提供內建的探索支援。
-
- AWS IoT Greengrass 核心 SDK
-
AWS IoT Greengrass 核心 SDK 可讓 Lambda 函數與 Greengrass 核心互動、向本機陰影服務發佈訊息、與本機陰影服務互動 AWS IoT、叫用其他部署的 Lambda 函數,以及存取機密資源。在 AWS IoT Greengrass 核心上執行的 Lambda 函數會使用此開發套件。如需詳細資訊,請參閱 AWS IoT Greengrass 核心開發套件。
- AWS IoT Greengrass Machine Learning SDK
-
M AWS IoT Greengrass achine Learning SDK 可讓 Lambda 函數使用部署至 Greengrass 核心的機器學習模型,做為機器學習資源。在 AWS IoT Greengrass 核心上執行並與本機推論服務互動的 Lambda 函數會使用此 SDK。如需詳細資訊,請參閱 AWS IoT GreengrassMachine Learning SDK。
支援平台和需求
下列索引標籤列出 AWS IoT Greengrass Core 軟體支援的平台和需求。
注意
您可以從 AWS IoT Greengrass 核心軟體下載中下載AWS IoT Greengrass 核心軟體。
如需 AWS IoT Greengrass 配額 (限制) 的相關資訊,請參閱 Amazon Web Services 一般參考.
如需定價資訊,請參閱 AWS IoT Greengrass 定價
AWS IoT Greengrass 下載
您可以使用以下資訊來尋找及下載與 AWS IoT Greengrass搭配使用的軟體。
主題
AWS IoT Greengrass 核心軟體
AWS IoT Greengrass Core 軟件將 AWS 功能擴展到 AWS IoT Greengrass 核心設備上,使本地設備可以在本地對其生成的數據進行操作。
下載此軟體,即表示您同意 Greengrass 核心軟體授權合約
如需在裝置上安裝 AWS IoT Greengrass Core 軟體的其他選項的相關資訊,請參閱安裝 AWS IoT Greengrass 核心軟體。
AWS IoT Greengrass 快照軟體
AWS IoT Greengrass snap 1.11.x 可讓您在容器化環境中 AWS IoT Greengrass 透過方便的軟體套件執行限制版本,以及所有必要的相依性。
注意
該 AWS IoT Greengrass 快照可用於 AWS IoT Greengrass 核心軟件 v1.11.x。 AWS IoT Greengrass 不為 v1.10.x 提供快照。不支援的版本不會收到錯誤修正或更新。
AWS IoT Greengrass 快照不支援連接器和機器學習 (ML) 推論。
如需詳細資訊,請參閱 在 Snap 中執行 AWS IoT Greengrass。
AWS IoT Greengrass 泊塢視窗軟體
AWS 提供 Docerfile 和 Docker 映像檔,讓您可以更輕鬆地在 Docker 容器 AWS IoT Greengrass 中執行。
- Dockerfile
-
碼頭文件包含用於構建自定義 AWS IoT Greengrass 容器映像的源代碼。您可以修改映像,以在不同平台架構上執行或減少映像大小。如需指示,請參閱 README 檔案。
下載您的目標 AWS IoT Greengrass 核心軟件版本。
- Docker 映像檔
-
碼頭映像已經在 Amazon Linux 2(x86_64)和阿爾派 Linux(x86_64,ARV7L 或 AArch64)基本映像上安裝了 AWS IoT Greengrass 核心軟件和依賴關係。您可以使用預先建立的映像來開始試驗 AWS IoT Greengrass。
重要
2022 年 6 月 30 日, AWS IoT Greengrass 終止發佈至 Amazon 彈性容器登錄 (亞馬遜 ECR) 和碼頭集線器的 AWS IoT Greengrass 核心軟體 v1.x 碼頭映像的維護。您可以繼續從 Amazon ECR 和碼頭中心下載這些 Docker 映像檔,直到 2023 年 6 月 30 日為止,即維護結束後的一年。不過, AWS IoT Greengrass 核心軟體 v1.x Docker 映像檔在維護於 2022 年 6 月 30 日結束後,便不會再收到安全性修補程式或錯誤修正。如果您執行的生產工作負載取決於這些 Docker 映像檔,我們建議您使用提供的 Docker 檔案來建置您自己的 Docker 映像檔。 AWS IoT Greengrass 如需詳細資訊,請參閱 AWS IoT Greengrass Version 1維護政策。
從碼頭集線
器或 Amazon Elastic Container Registry (Amazon ECR) 下載預構建的映像。 -
對於碼頭集線器,請使用
版本
標籤來下載特定版本的 Greengrass 碼頭映像。若要尋找所有可用的映像,請檢查 Docker Hub 上的 Tags (標籤) 頁面。 -
對於 Amazon ECR,請使用
latest
標籤下載 Greengrass 碼頭映像的最新可用版本。如需列出可用映像版本和從 Amazon ECR 下載映像的詳細資訊,請參閱在 Docker 容器中執行 AWS IoT Greengrass。
警告
從 AWS IoT Greengrass 核心軟件的 1.11.6 版開始,Greengrass 碼頭圖像不再包含 Python 2.7,因為 Python 2.7 end-of-life 在 2020 年達到,不再接收安全更新。如果您選擇更新為這些 Docker 映像檔,建議您在將更新部署到生產裝置之前,先驗證應用程式是否可以使用新的 Docker 映像檔。如果您的應用程序需要 Python 2.7 使用 Greengrass 碼頭圖像,則可以修改 Greengrass 碼頭文件以包含 Python 2.7 為您的應用程序。
AWS IoT Greengrass 不為 AWS IoT Greengrass 核心軟件 v1.11.1 提供碼頭映像。
注意
依預設,
alpine-aarch64
和alpine-armv7l
映像只能在以 Arm 為基礎的主機上執行。若要在 x86 主機上執行這些映像,您可以安裝 QEMU並在主機上安裝 QEMU 程式庫。例如: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
-
AWS IoT Greengrass 核心 SDK
Lambda 函數會使用 AWS IoT Greengrass 核心開發套件與 AWS IoT Greengrass 核心在本機進行互動。這可讓部署的 Lambda 函數:
從以下位置下載適用於您的語言或平台的 AWS IoT Greengrass 核心 SDK GitHub。
如需詳細資訊,請參閱 AWS IoT Greengrass 核心開發套件。
支援的 Machine Learning 執行時間和程式庫
若要在 Greengrass 核心上執行推論,您必須為 ML 模型類型安裝機器學習執行階段或程式庫。
AWS IoT Greengrass 支援下列 ML 模型類型。請使用這些連結來尋找有關如何為您的模型類型和裝置平台安裝執行階段或程式庫的資訊。
機器學習範例
AWS IoT Greengrass 提供可與支援的 ML 執行階段和程式庫搭配使用的範例。這些範例是依據 Greengrass 核心軟體授權合約
AWS IoT Greengrass ML 軟體開發套件
AWS IoT GreengrassMachine Learning SDK可讓您編寫的 Lambda 函數使用本機機器學習模型,並將資料傳送至 ML 回饋連接器以進行上傳和發佈。
我們希望傾聽您的意見
我們誠摯歡迎您提供意見回饋。若要聯絡我們,請造訪 AWS Re: POST