Greengrass-Verbindungen bei Unterbrechungen aufrechterhalten

In einer IoT-Umgebung mit AWS IoT Greengrass sollen einzelne Geräte auch dann weiterhin untereinander kommunizieren, wenn die Verbindung zur Cloud unterbrochen wurde. Das funktioniert, indem Geräte, auf denen AWS IoT Greengrass Core läuft, als Hub dienen. Schließlich erlaubt IoT Greengrass Core die lokale Ausführung von AWS Lambda-Code, Messaging-, Caching und Sicherheitsanwendungen. Dabei verwaltet ein Greengrass Core Shadows (Schattengeräte). Über sie werden die Zustände von Geräten verwaltet, wenn diese nicht miteinander verbunden sind. Dabei kommt ein Gerätezertifikat zum Einsatz, um gegenüber AWS IoT die Authentifizierung vorzunehmen. Greengrass Core verwaltet außerdem die lokalen Prozesse für einzelne Greengrass-Gruppen. Dazu gehören die Synchronisierung von Shadows, der Austausch von Authentifizierungs-Tokens und die Kommunikation.

Grafik: AWS

Der Hub kann mit Geräten kommunizieren, auf denen entweder Amazon FreeRTOS ausgeführt wird, das AWS IoT Device SDK installiert ist oder die AWS IoT Greengrass Discovery API läuft. Sie dient dazu, Verbindungsinformationen für den Greengrass Core abzurufen. Als Hardware lassen sich dafür kleine Microcontroller, Raspberry Pis oder Industriegeräte nutzen.

Zugleich ist es über AWS-IoT-Greengrass-Konnektoren möglich, schnell komplexe Anwendungen auf AWS IoT Greengrass zu entwickeln, ohne sich mit Aspekten wie den einzelnen Geräteprotokollen, der Interaktion mit externen APIs und der Verwaltung der Anmeldedaten beschäftigen zu müssen. Dazu werden die entsprechenden Konnektoren einfach im Abschnitt „Connectors“ für jede Gruppe in der AWS IoT Greengrass-Konsole hinzugefügt.

Auch in einer Docker-Umgebung kann AWS IoT Greengrass laufen. Dazu rufen Sie das entsprechende Dockerfile, das in der Greengrass-Dokumentation referenziert ist, ab. In ihm finden sich die AWS IoT Greengrass-Core-Software und die notwendigen Abhängigkeiten. Auf Docker Hub oder der Amazon Elastic Container Registry (Amazon ECR) sind außerdem auch bereits vordefinierte Images verfügbar.