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.
Stellen Sie containerisierte Anwendungen bereit, wenn AWS IoT Greengrass V2 sie als Docker-Container ausgeführt werden
Salih Bakir, Giuseppe Di Bella und Gustav Svalander, Amazon Web Services
Zusammenfassung
AWS IoT Greengrass Version 2, wenn es als Docker-Container bereitgestellt wird, unterstützt es nicht nativ das Ausführen von Docker-Anwendungscontainern. Dieses Muster zeigt Ihnen, wie Sie ein benutzerdefiniertes Container-Image erstellen, das auf der neuesten Version basiert und AWS IoT Greengrass V2 die Funktionalität Docker-in-Docker (DinD) aktiviert. Mit DinD können Sie containerisierte Anwendungen in der Umgebung ausführen. AWS IoT Greengrass V2
Sie können dieses Muster als eigenständige Lösung einsetzen oder es in Container-Orchestrierungsplattformen wie Amazon ECS Anywhere integrieren. In beiden Bereitstellungsmodellen behalten Sie den vollen AWS IoT Greengrass V2 Funktionsumfang, einschließlich der AWS IoT SiteWise Edge-Verarbeitungsfunktionen, bei und ermöglichen gleichzeitig skalierbare, containerbasierte Bereitstellungen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktiver. AWS-Konto
Allgemeine AWS IoT Greengrass Version 2 Voraussetzungen finden Sie in der AWS IoT Greengrass Version 2 Dokumentation unter Voraussetzungen.
Docker Engine, installiert und konfiguriert unter Linux, macOS oder Windows.
Docker Compose (wenn Sie die Docker Compose-Befehlszeilenschnittstelle (CLI) zum Ausführen von Docker-Images verwenden).
Ein Linux-Betriebssystem.
Ein Hypervisor mit einem Hostserver, der Virtualisierung unterstützt.
Systemanforderungen:
2 GB RAM (mindestens)
5 GB verfügbarer Festplattenspeicher (mindestens)
Für AWS IoT SiteWise Edge eine x86_64-Quad-Core-CPU mit 16 GB RAM und 50 GB verfügbarem Festplattenspeicher. Weitere Informationen AWS IoT SiteWise zur Datenverarbeitung finden Sie in der Dokumentation unter Anforderungen an das Datenverarbeitungspaket. AWS IoT SiteWise
Produktversionen
AWS IoT Greengrass Version 2 Version 2.5.3 oder höher
Docker-in-Docker Version 1.0.0 oder höher
Docker Compose Version 1.22 oder höher
Docker Engine Version 20.10.12 oder höher
Einschränkungen
Einige AWS-Services sind nicht in allen verfügbar. AWS-Regionen Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie unter AWS Dienste nach Regionen
. Informationen zu bestimmten Endpunkten finden Sie unter Dienstendpunkte und Kontingente. Wählen Sie dort den Link für den Dienst aus.
Architektur
Zieltechnologie-Stack
Datenquellen — IoT-Geräte, Sensoren oder Industrieanlagen, die Daten für die Verarbeitung generieren
AWS IoT Greengrass V2— Läuft als Docker-Container mit D-in-D Funktionen und wird auf Edge-Infrastrukturen bereitgestellt
Containerisierte Anwendungen — Benutzerdefinierte Anwendungen, die in der AWS IoT Greengrass V2 Umgebung als verschachtelte Docker-Container ausgeführt werden
(Optional) Amazon ECS Anywhere — Container-Orchestrierung, die die AWS IoT Greengrass V2 Container-Bereitstellung verwaltet
Andere AWS-Services — AWS IoT Core AWS IoT SiteWise, und andere AWS-Services für die Datenverarbeitung und -verwaltung
Zielarchitektur
Das folgende Diagramm zeigt ein Beispiel für eine Zielbereitstellungsarchitektur, die Amazon ECS Anywhere, ein Container-Management-Tool, verwendet.

Das Diagramm zeigt den folgenden Workflow:
1: Container-Image-Speicher — Amazon ECR speichert die AWS IoT Greengrass Container-Images und alle benutzerdefinierten Anwendungscontainer, die für die Edge-Verarbeitung benötigt werden.
2 und 3: Container-Bereitstellung — Amazon ECS Anywhere stellt das AWS IoT Greengrass Container-Image von Amazon ECR am Edge-Standort bereit und verwaltet so den Container-Lebenszyklus und den Bereitstellungsprozess.
4: Bereitstellung von Komponenten — Der bereitgestellte AWS IoT Greengrass Core stellt seine relevanten Komponenten automatisch auf der Grundlage seiner Konfiguration bereit. Zu den Komponenten gehören AWS IoT SiteWise Edge und andere notwendige Edge-Verarbeitungskomponenten innerhalb der containerisierten Umgebung.
5: Datenaufnahme — Nach der vollständigen Konfiguration AWS IoT Greengrass beginnt die Erfassung von Telemetrie- und Sensordaten aus verschiedenen IoT-Datenquellen am Edge-Standort.
6: Datenverarbeitung und Cloud-Integration — Der containerisierte AWS IoT Greengrass Kern verarbeitet Daten lokal mithilfe der eingesetzten Komponenten (einschließlich AWS IoT SiteWise Edge für industrielle Daten). Anschließend werden die verarbeiteten Daten zur weiteren Analyse und Speicherung an AWS Cloud Dienste gesendet.
Tools
AWS-Services
Amazon ECS Anywhere unterstützt Sie bei der Bereitstellung, Verwendung und Verwaltung von Amazon ECS-Aufgaben und -Services in Ihrer eigenen Infrastruktur.
Amazon Elastic Compute Cloud (Amazon EC2) bietet skalierbare Rechenkapazität in der AWS Cloud. Sie können so viele virtuelle Server wie nötig nutzen und sie schnell nach oben oder unten skalieren.
Amazon Elastic Container Registry (Amazon ECR) ist ein verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
AWS IoT Greengrassist ein Open-Source-Edge-Runtime- und Cloud-Dienst für das Internet der Dinge (IoT), mit dem Sie IoT-Anwendungen auf Ihren Geräten erstellen, bereitstellen und verwalten können.
AWS IoT SiteWisehilft Ihnen dabei, Daten von Industrieanlagen in großem Maßstab zu sammeln, zu modellieren, zu analysieren und zu visualisieren.
Andere Tools
Docker
ist eine Reihe von Platform-as-a-Service (PaaS) -Produkten, die Virtualisierung auf Betriebssystemebene nutzen, um Software in Containern bereitzustellen. Docker Compose
ist ein Tool zum Definieren und Ausführen von Multi-Container-Anwendungen. Docker Engine
ist eine Open-Source-Containerisierungstechnologie zum Erstellen und Containerisieren von Anwendungen.
Code-Repository
Der Code für dieses Muster ist im GitHub AWS IoT Greengrass Docker-in-Dockerv2-Repository
Epen
| Aufgabe | Description | Erforderliche Fähigkeiten |
|---|---|---|
Klonen Sie und navigieren Sie zum Repository. | Verwenden Sie den folgenden Befehl, um das Repository zu klonen:
Verwenden Sie den folgenden Befehl, um zu dem
| DevOps Ingenieur, AWS DevOps |
Erstellen Sie das Docker-Image. | Führen Sie den folgenden Befehl aus, um das Docker-Image mit der (neuesten) Standardversion zu erstellen:
Oder führen Sie den folgenden Befehl aus, um das Docker-Image mit einer bestimmten Version zu erstellen:
Führen Sie den folgenden Befehl aus, um den Build zu überprüfen:
| AWS DevOps, DevOps Ingenieur, App-Entwickler |
(Optional) Push zu Amazon ECR. |
| App-Entwickler, AWS DevOps, DevOps Ingenieur |
| Aufgabe | Description | Erforderliche Fähigkeiten |
|---|---|---|
Wählen Sie die Authentifizierungsmethode aus. | Wählen Sie eine der folgenden Optionen:
| AWS-Administrator |
Konfigurieren Sie die Authentifizierungsmethode. | Verwenden Sie für die von Ihnen gewählte Authentifizierungsmethode die folgenden Konfigurationsanweisungen:
| AWS-Administrator |
| Aufgabe | Description | Erforderliche Fähigkeiten |
|---|---|---|
Konfiguration | Aktualisieren Sie die
| DevOps Ingenieur |
Container starten und verifizieren. | Führen Sie den folgenden Befehl aus, um im Vordergrund zu starten:
Oder führen Sie den folgenden Befehl aus, um im Hintergrund zu starten:
Führen Sie den folgenden Befehl aus, um den Status zu überprüfen:
Führen Sie den folgenden Befehl aus, um Protokolle zu überwachen:
| DevOps Ingenieur |
| Aufgabe | Description | Erforderliche Fähigkeiten |
|---|---|---|
Führen Sie den Container mit Docker CLI aus. |
| DevOps Ingenieur |
Behälter verifizieren. |
| DevOps Ingenieur |
| Aufgabe | Description | Erforderliche Fähigkeiten |
|---|---|---|
Stellen Sie Anwendungen bereit. |
| App-Developer |
Zugreifen und testen Docker-in-Docker. |
| DevOps Ingenieur |
| Aufgabe | Description | Erforderliche Fähigkeiten |
|---|---|---|
Richten Sie den Amazon ECS-Cluster ein. |
| AWS-Administrator |
Stellen Sie die Amazon ECS-Aufgabe bereit. |
| AWS-Administrator |
| Aufgabe | Description | Erforderliche Fähigkeiten |
|---|---|---|
Behälter anhalten. |
| DevOps Ingenieur |
Fehlerbehebung
| Problem | Lösung |
|---|---|
Der Container kann mit Berechtigungsfehlern nicht gestartet werden. |
Warnung
|
Die Bereitstellung schlägt mit Fehlern bei den Anmeldeinformationen fehl. | Gehen Sie wie folgt vor, um zu überprüfen, ob die Anmeldeinformationen korrekt konfiguriert sind:
Stellen Sie sicher, dass die IAM-Berechtigungen |
Es kann keine Verbindung zum Docker-Daemon im Container hergestellt werden. |
|
Der Container hat nicht mehr genügend Speicherplatz. |
Stellen Sie sicher, dass der Festplattenspeicher mindestens 5 GB für Basisoperationen und 50 GB für AWS IoT SiteWise Edge beträgt |
Probleme beim Erstellen. |
|
Probleme mit der Netzwerkverbindung. |
Stellen Sie sicher, dass die Firewall ausgehenden HTTPS- (443) und MQTT- (8883) -Verkehr zulässt. |
Greengrass-Komponenten können nicht bereitgestellt werden. |
Überprüfen Sie die komponentenspezifischen Protokolle im |
Der Container wird sofort nach dem Start beendet. |
Stellen Sie sicher, dass alle erforderlichen Umgebungsvariablen korrekt gesetzt sind, wenn |
Zugehörige Ressourcen
AWS Ressourcen
Sonstige Ressourcen
Zusätzliche Informationen
Für die AWS IoT SiteWise Edge-Datenverarbeitung muss Docker in der AWS IoT Greengrass Umgebung verfügbar sein.
Um einen verschachtelten Container auszuführen, müssen Sie den AWS IoT Greengrass Container mit Anmeldeinformationen auf Administratorebene ausführen.