Zum Inhalt springen
DE EN

Weiterleitung an AWS (IoT)

Damit ein Edge eine Verbindung mit dem IoT Core von AWS aufbauen kann, muss das Gerät in AWS angelegt und am Edge mit einem Zertifikat konfiguriert werden. Das Zertifikat wird vom Gateway-Endpoint zur Authentifizierung gegenüber AWS verwendet.

Ein Thing ist die logische Repräsentation des Edge-Geräts in AWS IoT Core. Der Thing-Name wird zur Identifikation des Geräts innerhalb von AWS verwendet und muss exakt mit dem Hostnamen übereinstimmen, der am Edge konfiguriert ist (einsehbar unter System → Einstellungen → Gerät).

  1. Im AWS Console Portal einloggen und zu AWS IoT Core navigieren.
  2. Unter Manage → Things auf Create things klicken und Create a single thing auswählen.
  3. Den Hostnamen des Edge als Thing-Name eingeben. Optional einen Thing Type zur Kategorisierung des Geräts auswählen oder erstellen.
  4. Beim Zertifikats-Schritt Auto-generate a new certificate (recommended) auswählen. Nach der Erstellung alle Dateien sofort herunterladen — der private Schlüssel kann danach nicht erneut heruntergeladen werden. Benötigt werden: *-certificate.pem.crt (Gerätezertifikat), *-private.pem.key (privater Schlüssel) und AmazonRootCA1.pem (AWS Root-CA-Zertifikat — Download-Link im Erstellungsdialog).
  5. Dem Zertifikat eine IoT-Policy zuweisen. Die Policy muss mindestens folgende Berechtigungen enthalten: iot:Connect, iot:Publish, iot:Subscribe und iot:Receive. Falls noch keine passende Policy vorhanden ist, diese zuvor unter Security → Policies anlegen.

Die von AWS heruntergeladenen Zertifikats-Dateien liegen nicht im für den Edge-Gateway-Endpoint erforderlichen Format vor. Es muss eine .pfx-Datei erstellt werden aus:

  • Dem privaten Schlüssel (...-private.pem.key)
  • Dem Gerätezertifikat (...-certificate.pem.crt)
  • Dem AWS Root-Zertifikat (AmazonRootCA1.pem)

Unter Linux (WSL)

In das Verzeichnis mit den heruntergeladenen Zertifikats-Dateien wechseln und folgenden Befehl ausführen:

Terminal-Fenster
openssl pkcs12 -export -in certificate.pem.crt -inkey private.pem.key -out THINGNAME_certificate.pfx -certfile AmazonRootCA1.pem

Es wird ein Export-Passwort abgefragt. Dieses Passwort muss dem Edge bei der Zertifikats-Einrichtung mitgeteilt werden — es sollte zusammen mit den Zertifikats-Dateien sicher aufbewahrt werden.

Unter Windows (PowerShell)

Die Zertifikats- und Privat-Key-Datei müssen denselben Basisnamen tragen und die Dateiendungen .crt bzw. .key haben. Dann in der Shell ausführen:

Terminal-Fenster
certutil -mergepfx <certificate-name>.crt <result-name>.pfx

Der Gateway-Endpoint verbindet den Edge mit AWS IoT Core über MQTT mit TLS-Authentifizierung. Vor der Konfiguration im Edge den Geräte-Daten-Endpoint in der AWS Console ermitteln.

AWS-IoT-Endpoint-URL ermitteln

In der AWS Console zu AWS IoT Core → Settings navigieren. Das Feld Device data endpoint zeigt den Hostnamen für Geräteverbindungen — er hat die Form xxxxxxxxxxxxxxx-ats.iot.<region>.amazonaws.com.

Endpoint im Edge konfigurieren

  1. Im Edge UI zu System → Einstellungen → Gateway navigieren.
  2. Die Seite zeigt den konfigurierten Gateway-Endpoint mit seinem aktuellen Verbindungsstatus.
  3. Auf den Endpoint klicken, um die Konfiguration zu öffnen.
  4. Unter Endpoint die AWS-IoT-Geräte-Daten-Endpoint-URL eingeben.
  5. Unter Login-Daten die .pfx-Zertifikats-Datei hochladen und das beim Konvertierungsschritt festgelegte Export-Passwort eingeben.
  6. Auf Speichern klicken. Der Verbindungsstatus aktualisiert sich automatisch — ein grüner Indikator bestätigt eine erfolgreiche Verbindung zu AWS IoT Core.

Die Gateway-Weiterleitung wird pro Messgröße konfiguriert. Jede Messgröße, die an AWS weitergeleitet werden soll, muss einen Parameter gateway_aggregation besitzen. Messgrößen ohne diesen Parameter werden nicht weitergeleitet — unabhängig davon, ob sie lokal aufgezeichnet werden.

Aggregation steuert, wie der Edge aufgezeichnete Werte zusammenfasst, bevor er sie an AWS IoT Core sendet. Die Verwendung eines Aggregations-Intervalls (z. B. 1m) reduziert die Anzahl der MQTT-Nachrichten an AWS, was sich direkt auf das Datenvolumen und die AWS-IoT-Nachrichtenkosten auswirkt. Bei gesetztem Intervall berechnet der Edge den Durchschnitt aller Samples innerhalb dieses Zeitraums und veröffentlicht eine einzelne Nachricht pro Intervall. Der Wert 0 deaktiviert die Aggregation und leitet jeden aufgezeichneten Sample-Wert einzeln weiter — dies sollte nur verwendet werden, wenn die volle Messauflösung benötigt wird, da es das Nachrichtenvolumen deutlich erhöht.

Um eine Messgröße in die Gateway-Weiterleitung einzubeziehen, den Bearbeitungs-Dialog der Messgröße öffnen und einen Parameter mit dem Bezeichner gateway_aggregation hinzufügen.

gateway_aggregation-Parameter im Bearbeitungs-Dialog

Das Aggregations-Intervall wird als String-Literal angegeben:

  • 15s — 15 Sekunden
  • 1m — 1 Minute
  • 2h — 2 Stunden

Soll die Messgröße roh (nicht aggregiert) übertragen werden, den Wert auf 0 setzen.

gateway_aggregation-Parameter mit leerem Wert

Sobald alle Messgrößen markiert sind, im Gateway-Dispatcher auf Messgrößen beziehen klicken, um den automatisierten Import auszulösen.

Schaltfläche Messgrößen beziehen

Die markierten Messgrößen werden anschließend mit dem jeweiligen Aggregations-Intervall im Dispatcher eingerichtet.