AWS IoT Greengrass Komponenten auf Geräten bereitstellen - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS IoT Greengrass Komponenten auf Geräten bereitstellen

Sie können AWS IoT Greengrass es verwenden, um Komponenten auf Geräten oder Gerätegruppen bereitzustellen. Mithilfe von Bereitstellungen definieren Sie die Komponenten und Konfigurationen, die an die Geräte gesendet werden. AWS IoT Greengrass wird für Ziele, AWS IoT Dinge oder Dinggruppen bereitgestellt, die Greengrass-Kerngeräte repräsentieren. AWS IoT Greengrass verwendet AWS IoT Core Jobs zur Bereitstellung auf Ihren Kerngeräten. Sie können konfigurieren, wie der Job auf Ihren Geräten ausgeführt wird.

Bereitstellungen von Kerngeräten

Auf jedem Kerngerät werden die Komponenten der Bereitstellungen für dieses Gerät ausgeführt. Eine neue Bereitstellung auf demselben Ziel überschreibt die vorherige Bereitstellung auf dem Ziel. Wenn Sie eine Bereitstellung erstellen, definieren Sie die Komponenten und Konfigurationen, die auf die vorhandene Software des Kerngeräts angewendet werden sollen.

Wenn Sie eine Bereitstellung für ein Ziel überarbeiten, ersetzen Sie die Komponenten der vorherigen Version durch die Komponenten in der neuen Version. Beispielsweise stellen Sie die Geheimer Manager Komponenten Protokollmanager und für die Dinggruppe TestGroup bereit. Dann erstellen Sie eine weitere BereitstellungTestGroup, für die nur die Secret Manager-Komponente angegeben ist. Das hat zur Folge, dass auf den Kerngeräten in dieser Gruppe der Log Manager nicht mehr ausgeführt wird.

Auflösung der Plattformabhängigkeit

Wenn ein Kerngerät bereitgestellt wird, überprüft es, ob die Komponenten mit dem Kerngerät kompatibel sind. Wenn Sie das beispielsweise Firehose auf einem Windows-Ziel bereitstellen, schlägt die Bereitstellung fehl.

Auflösung der Abhängigkeit von Komponenten

Das Kerngerät prüft außerdem, ob die Abhängigkeiten der einzelnen Komponenten mit den Versionseinschränkungen für Bereitstellungen anderer Komponenten in dieser Dinggruppe kompatibel sind. Wenn sich die Versionsbeschränkungen für eine Komponente überschneiden, verwendet Greengrass die am höchsten zutreffende Version der Komponente. Zum Beispiel:

  • Sie stellen Komponente A bereit fürTestGroup. Komponente A hängt von den com.example.PythonRuntime Komponentenversionen 3.5 bis 3.10 ab.

  • Anschließend stellen Sie Komponente B für bereitTestGroup. Komponente B hängt von den com.example.PythonRuntime Komponentenversionen 3.7 bis 3.8 ab.

Daher stellen die Kerngeräte TestGroup fest, dass sie Version 3.8 der com.example.PythonRuntime Komponente bereitstellen können, da es sich bei dieser Version um die am häufigsten anwendbare Version handelt, bei der sich die Versionsbeschränkungen überschneiden.

Abhängigkeiten von Komponenten, zum Beispiel Komponenten.

Anschließend stellen Sie Komponente C für bereitTestGroup. Komponente C hängt von den com.example.PythonRuntime Komponentenversionen 2.6 bis 2.7 ab. Diese Bereitstellung schlägt fehl, da es keine Komponentenversion gibt, die die Einschränkungen 2.6-2.7 und 3.7-3.8 erfüllt.

Komponentenabhängigkeiten, die zu einer fehlgeschlagenen Bereitstellung führen.

Ein Gerät aus einer Dinggruppe entfernen

Wenn Sie ein Kerngerät aus einer Dinggruppe entfernen, hängt das Verhalten der Komponentenbereitstellung von der Version des Greengrass-Nukleus ab, die auf dem Kerngerät ausgeführt wird.

2.5.1 and later

Wenn Sie ein Kerngerät aus einer Dinggruppe entfernen, hängt das Verhalten davon ab, ob die AWS IoT Richtlinie die greengrass:ListThingGroupsForCoreDevice Erlaubnis erteilt. Weitere Informationen zu dieser Berechtigung und zu AWS IoT Richtlinien für Kerngeräte finden Sie unterGeräteauthentifizierung und Autorisierung für AWS IoT Greengrass.

  • Wenn die AWS IoT Richtlinie diese Berechtigung gewährt

    Wenn Sie ein Kerngerät aus einer Dinggruppe entfernen, werden bei der nächsten Bereitstellung auf dem Gerät die Komponenten der Dinggruppe AWS IoT Greengrass entfernt. Wenn eine Komponente auf dem Gerät in der nächsten Bereitstellung enthalten ist, wird diese Komponente nicht vom Gerät entfernt.

  • Wenn die AWS IoT Richtlinie diese Berechtigung nicht gewährt

    Wenn Sie ein Kerngerät aus einer Dinggruppe entfernen, werden die Komponenten dieser Dinggruppe AWS IoT Greengrass nicht vom Gerät gelöscht.

    Um eine Komponente von einem Gerät zu entfernen, verwenden Sie den Befehl deployment create der Greengrass-CLI. Geben Sie die zu entfernende Komponente mit dem --remove Argument an und geben Sie die Dinggruppe mit dem --groupId Argument an.

2.5.0

Wenn Sie ein Kerngerät aus einer Dinggruppe entfernen, werden bei der nächsten Bereitstellung auf dem Gerät die Komponenten der Dinggruppe AWS IoT Greengrass entfernt. Wenn eine Komponente auf dem Gerät in der nächsten Bereitstellung enthalten ist, wird diese Komponente nicht vom Gerät entfernt.

Dieses Verhalten setzt voraus, dass die AWS IoT Richtlinie des Kerngeräts die greengrass:ListThingGroupsForCoreDevice Genehmigung erteilt. Wenn ein Core-Gerät nicht über diese Berechtigung verfügt, kann das Core-Gerät keine Bereitstellungen anwenden. Weitere Informationen finden Sie unter Geräteauthentifizierung und Autorisierung für AWS IoT Greengrass.

2.0.x - 2.4.x

Wenn Sie ein Kerngerät aus einer Dinggruppe entfernen, werden die Komponenten dieser Dinggruppe AWS IoT Greengrass nicht vom Gerät gelöscht.

Um eine Komponente von einem Gerät zu entfernen, verwenden Sie den Befehl deployment create der Greengrass-CLI. Geben Sie die zu entfernende Komponente mit dem --remove Argument an und geben Sie die Dinggruppe mit dem --groupId Argument an.

Bereitstellungen

Die Bereitstellungen erfolgen kontinuierlich. Wenn Sie eine Bereitstellung erstellen, wird AWS IoT Greengrass die Bereitstellung auf Zielgeräten bereitgestellt, die online sind. Wenn ein Zielgerät nicht online ist, empfängt es die Bereitstellung, wenn es das nächste Mal eine Verbindung herstellt AWS IoT Greengrass. Wenn Sie einer Ziel-Dinggruppe ein Kerngerät hinzufügen, AWS IoT Greengrass sendet das Gerät die neueste Bereitstellung für diese Dinggruppe.

Bevor ein Kerngerät eine Komponente bereitstellt, benachrichtigt es standardmäßig jede Komponente auf dem Gerät. Greengrass-Komponenten können auf die Benachrichtigung reagieren, um die Bereitstellung zu verzögern. Möglicherweise möchten Sie die Bereitstellung verschieben, wenn der Akkuladestand des Geräts niedrig ist oder ein Prozess läuft, der nicht unterbrochen werden kann. Weitere Informationen finden Sie unter Tutorial: Entwickeln Sie eine Greengrass-Komponente, die Komponenten-Updates verzögert. Wenn Sie eine Einrichtung erstellen, können Sie sie so konfigurieren, dass sie ohne Benachrichtigung der Komponenten bereitgestellt wird.

Jede Zielsache oder Dinggruppe kann jeweils nur eine Bereitstellung haben. Das heißt, wenn Sie eine Bereitstellung für ein Ziel erstellen, wird die vorherige Version der Bereitstellung dieses Ziels nicht AWS IoT Greengrass mehr bereitgestellt.

Optionen für die Bereitstellung

Bereitstellungen bieten mehrere Optionen, mit denen Sie steuern können, welche Geräte ein Update erhalten und wie das Update bereitgestellt wird. Wenn Sie eine Bereitstellung erstellen, können Sie die folgenden Optionen konfigurieren:

  • AWS IoT Greengrass Komponenten

    Definieren Sie die Komponenten, die auf den Zielgeräten installiert und ausgeführt werden sollen. AWS IoT Greengrass Komponenten sind Softwaremodule, die Sie auf Greengrass-Kerngeräten bereitstellen und ausführen. Geräte erhalten Komponenten nur, wenn die Komponente die Plattform des Geräts unterstützt. Auf diese Weise können Sie die Bereitstellung für Gerätegruppen durchführen, auch wenn die Zielgeräte auf mehreren Plattformen ausgeführt werden. Wenn eine Komponente die Plattform des Geräts nicht unterstützt, wird die Komponente nicht auf dem Gerät bereitgestellt.

    Sie können benutzerdefinierte Komponenten und AWS bereitgestellte Komponenten auf Ihren Geräten bereitstellen. Wenn Sie eine Komponente bereitstellen, AWS IoT Greengrass identifiziert es alle Abhängigkeiten der Komponenten und stellt sie ebenfalls bereit. Weitere Informationen erhalten Sie unter AWS IoT Greengrass Komponenten entwickeln und AWS-mitgelieferte Komponenten.

    Sie definieren die Version und das Konfigurationsupdate, das für jede Komponente bereitgestellt werden soll. Das Konfigurationsupdate gibt an, wie die bestehende Konfiguration der Komponente auf dem Kerngerät oder die Standardkonfiguration der Komponente geändert werden soll, falls die Komponente auf dem Kerngerät nicht vorhanden ist. Sie können angeben, welche Konfigurationswerte auf die Standardwerte zurückgesetzt werden sollen und welche neuen Konfigurationswerte auf dem Kerngerät zusammengeführt werden sollen. Wenn ein Kerngerät Bereitstellungen für verschiedene Ziele empfängt und in jeder Bereitstellung kompatible Komponentenversionen angegeben sind, wendet das Kerngerät die Konfigurationsupdates in der Reihenfolge an, die auf dem Zeitstempel basiert, zu dem Sie die Bereitstellung erstellt haben. Weitere Informationen finden Sie unter Komponentenkonfigurationen aktualisieren.

    Wichtig

    Wenn Sie eine Komponente bereitstellen, werden die neuesten unterstützten Versionen aller Abhängigkeiten dieser Komponente AWS IoT Greengrass installiert. Aus diesem Grund werden neue Patch-Versionen von AWS bereitgestellten öffentlichen Komponenten möglicherweise automatisch auf Ihren Kerngeräten bereitgestellt, wenn Sie einer Dinggruppe neue Geräte hinzufügen oder wenn Sie die Bereitstellung aktualisieren, die für diese Geräte vorgesehen ist. Einige automatische Updates, wie z. B. ein Nucleus-Update, können dazu führen, dass Ihre Geräte unerwartet neu gestartet werden.

    Um unbeabsichtigte Updates für eine Komponente zu verhindern, die auf Ihrem Gerät ausgeführt wird, empfehlen wir, dass Sie Ihre bevorzugte Version dieser Komponente direkt angeben, wenn Sie eine Bereitstellung erstellen. Weitere Informationen zum Aktualisierungsverhalten der AWS IoT Greengrass Core-Software finden Sie unterAktualisieren Sie die AWS IoT Greengrass Core-Software (OTA).

  • Richtlinien für die Bereitstellung

    Definieren Sie, wann die Bereitstellung einer Konfiguration sicher ist und was zu tun ist, wenn die Bereitstellung fehlschlägt. Sie können angeben, ob Sie warten möchten, bis die Komponenten melden, dass sie aktualisiert werden können. Sie können auch angeben, ob Geräte auf ihre vorherige Konfiguration zurückgesetzt werden sollen oder nicht, wenn sie eine fehlgeschlagene Bereitstellung anwenden.

  • Konfiguration beenden

    Definieren Sie, wann und wie eine Bereitstellung beendet werden soll. Die Bereitstellung wird beendet und schlägt fehl, wenn die von Ihnen definierten Kriterien erfüllt sind. Sie können beispielsweise eine Bereitstellung so konfigurieren, dass sie beendet wird, wenn ein Prozentsatz der Geräte diese Bereitstellung nicht anwendet, nachdem eine Mindestanzahl von Geräten sie erhalten hat.

  • Rollout-Konfiguration

    Definieren Sie die Geschwindigkeit, mit der eine Bereitstellung auf den Zielgeräten eingeführt wird. Sie können eine exponentielle Ratenerhöhung mit Mindest- und Höchstratengrenzen konfigurieren.

  • Timeout-Konfiguration

    Definieren Sie die maximale Zeit, die jedem Gerät zur Verfügung steht, um eine Bereitstellung anzuwenden. Wenn ein Gerät die von Ihnen angegebene Dauer überschreitet, kann das Gerät die Bereitstellung nicht anwenden.

Wichtig

Benutzerdefinierte Komponenten können Artefakte in S3-Buckets definieren. Wenn die AWS IoT Greengrass Core-Software eine Komponente bereitstellt, lädt sie die Artefakte der Komponente von herunter. AWS Cloud Core-Geräterollen ermöglichen standardmäßig keinen Zugriff auf S3-Buckets. Um benutzerdefinierte Komponenten bereitzustellen, die Artefakte in einem S3-Bucket definieren, muss die Core-Geräterolle Berechtigungen zum Herunterladen von Artefakten aus diesem Bucket gewähren. Weitere Informationen finden Sie unter Erlauben Sie den Zugriff auf S3-Buckets für Komponentenartefakte.