

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
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container"></a>

*Salih Bakir, Giuseppe Di Bella und Gustav Svalander, Amazon Web Services*

## Zusammenfassung
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container-summary"></a>

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
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container-prereqs"></a>

**Voraussetzungen**
+ Ein aktiver. AWS-Konto
+ Allgemeine AWS IoT Greengrass Version 2 Voraussetzungen finden Sie in der AWS IoT Greengrass Version 2 Dokumentation unter [Voraussetzungen](https://docs.aws.amazon.com/greengrass/v2/developerguide/getting-started-prerequisites.html). 
+ 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\$164-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](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-gateway-ggv2.html#w2aac17c19c13b7). 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](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Informationen zu bestimmten Endpunkten finden Sie unter [Dienstendpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html). Wählen Sie dort den Link für den Dienst aus.

## Architektur
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container-architecture"></a>

**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.

![\[Bereitstellungsarchitektur mit Amazon ECS Anywhere.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/2ecf5354-40e0-4fd9-9798-086719059784/images/5ed2652e-9604-4809-8962-b167e1991658.png)


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
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container-tools"></a>

**AWS-Services**
+ [Amazon ECS Anywhere](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch-type-external.html) 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)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) 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)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) ist ein verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
+ [AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html)ist 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 SiteWise](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html)hilft Ihnen dabei, Daten von Industrieanlagen in großem Maßstab zu sammeln, zu modellieren, zu analysieren und zu visualisieren.

**Andere Tools**
+ [Docker](https://www.docker.com/) ist eine Reihe von Platform-as-a-Service (PaaS) -Produkten, die Virtualisierung auf Betriebssystemebene nutzen, um Software in Containern bereitzustellen.
+ [Docker Compose](https://docs.docker.com/compose/) ist ein Tool zum Definieren und Ausführen von Multi-Container-Anwendungen.
+ [Docker Engine](https://docs.docker.com/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](https://github.com/aws-samples/aws-iot-greengrass-docker-in-docker) verfügbar.

## Epen
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container-epics"></a>

### Baue das Bild AWS IoT Greengrass V2 Docker-in-Docker
<a name="build-the-gg2-docker-in-docker-image"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie und navigieren Sie zum Repository. | Verwenden Sie den folgenden Befehl, um das Repository zu klonen: `git clone https://github.com/aws-samples/aws-iot-greengrass-v2-docker-in-docker.git`Verwenden Sie den folgenden Befehl, um zu dem `docker` Verzeichnis zu navigieren:`cd aws-iot-greengrass-v2-docker-in-docker/docker` | 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:`docker build -t x86_64/aws-iot-greengrass:latest .`Oder führen Sie den folgenden Befehl aus, um das Docker-Image mit einer bestimmten Version zu erstellen:`docker build --build-arg GREENGRASS_RELEASE_VERSION=2.12.0 -t x86_64/aws-iot-greengrass:2.12.0 .`Führen Sie den folgenden Befehl aus, um den Build zu überprüfen:`docker images \| grep aws-iot-greengrass`  | AWS DevOps, DevOps Ingenieur, App-Entwickler | 
| (Optional) Push zu Amazon ECR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | App-Entwickler, AWS DevOps, DevOps Ingenieur | 

### AWS Anmeldeinformationen konfigurieren
<a name="configure-aws-credentials"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Wählen Sie die Authentifizierungsmethode aus. | Wählen Sie eine der folgenden Optionen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | AWS-Administrator | 
| Konfigurieren Sie die Authentifizierungsmethode. | Verwenden Sie für die von Ihnen gewählte Authentifizierungsmethode die folgenden Konfigurationsanweisungen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | AWS-Administrator | 

### Mit Docker Compose ausführen
<a name="run-with-docker-compose"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfiguration `docker-compose.yml`. | Aktualisieren Sie die `docker-compose.yml` Datei wie folgt mit Umgebungsvariablen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | DevOps Ingenieur | 
| Container starten und verifizieren. | Führen Sie den folgenden Befehl aus, um im Vordergrund zu starten:`docker-compose up --build`Oder führen Sie den folgenden Befehl aus, um im Hintergrund zu starten:`docker-compose up --build -d`Führen Sie den folgenden Befehl aus, um den Status zu überprüfen:`docker-compose ps`Führen Sie den folgenden Befehl aus, um Protokolle zu überwachen:`docker-compose logs -f` | DevOps Ingenieur | 

### Mit Docker CLI ausführen
<a name="run-with-docker-cli"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Führen Sie den Container mit Docker CLI aus. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | DevOps Ingenieur | 
| Behälter verifizieren. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | DevOps Ingenieur | 

### Container-Anwendungen verwalten
<a name="manage-containerized-applications"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie Anwendungen bereit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | App-Developer | 
| Zugreifen und testen Docker-in-Docker. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | DevOps Ingenieur | 

### (Optional) Integration mit Amazon ECS Anywhere
<a name="optional-integrate-with-ecs-anywhere"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie den Amazon ECS-Cluster ein. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | AWS-Administrator | 
| Stellen Sie die Amazon ECS-Aufgabe bereit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | AWS-Administrator | 

### Stoppen und aufräumen
<a name="stop-and-cleanup"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Behälter anhalten. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | DevOps Ingenieur | 

## Fehlerbehebung
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Der Container kann mit Berechtigungsfehlern nicht gestartet werden. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)`--privileged`gewährt dem Container erweiterte Rechte. | 
| 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:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)Stellen Sie sicher, dass die IAM-Berechtigungen`iot:CreateThing`,`iot:CreatePolicy`, `iot:AttachPolicy``iam:CreateRole`, und `iam:AttachRolePolicy` enthalten. | 
| Es kann keine Verbindung zum Docker-Daemon im Container hergestellt werden. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | 
| Der Container hat nicht mehr genügend Speicherplatz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)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. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html) | 
| Probleme mit der Netzwerkverbindung. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)Stellen Sie sicher, dass die Firewall ausgehenden HTTPS- (443) und MQTT- (8883) -Verkehr zulässt. | 
| Greengrass-Komponenten können nicht bereitgestellt werden. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)Überprüfen Sie die komponentenspezifischen Protokolle im `/greengrass/v2/logs/` Verzeichnis. | 
| Der Container wird sofort nach dem Start beendet. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.html)Stellen Sie sicher, dass alle erforderlichen Umgebungsvariablen korrekt gesetzt sind, wenn`PROVISION=true`. Stellen Sie sicher, dass das `--init` Flag beim Starten des Containers verwendet wird. | 

## Zugehörige Ressourcen
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container-resources"></a>

**AWS Ressourcen**
+ [Amazon Elastic Container Service](https://aws.amazon.com/ecs/)
+ [Konfigurieren Sie die Edge-Datenverarbeitung für AWS IoT SiteWise Modelle und Anlagen](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/edge-processing.html)
+ [Was ist AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html)

**Sonstige Ressourcen**
+ [Docker-Dokumentation](https://docs.docker.com/)

## Zusätzliche Informationen
<a name="deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container-additional"></a>
+ 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.