Einrichtung einer Amazon EC2 EC2-Instance - AWS IoT Greengrass

AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.

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.

Einrichtung einer Amazon EC2 EC2-Instance

Folgen Sie den Schritten in diesem Thema, um eine Amazon EC2 EC2-Instance einzurichten, die Sie als Ihren AWS IoT Greengrass Kern verwenden können.

Tipp

Oder, wie Sie ein Skript verwenden, das Ihre Umgebung einrichtet und die AWS IoT Greengrass Core-Software für Sie installiert, finden Sie unterSchnellstart: Greengrass-Geräteeinrichtung.

Sie können dieses Tutorial zwar mit einer Amazon EC2 EC2-Instance abschließen, AWS IoT Greengrass sollte aber idealerweise mit physischer Hardware verwendet werden. Wir empfehlen, dass Sie nach Möglichkeit einen Raspberry Pi einrichten, anstatt eine Amazon EC2 EC2-Instance zu verwenden. Wenn Sie einen Raspberry Pi verwenden, müssen Sie die Schritte in diesem Thema nicht ausführen.

 

  1. Melden Sie sich bei der an AWS Management Consoleund starten Sie eine Amazon EC2 EC2-Instance mit einem Amazon Linux AMI. Informationen zu Amazon EC2-Instances finden Sie im Amazon EC2 Getting Started Guide.

  2. Nachdem Ihre Amazon EC2 EC2-Instance ausgeführt wurde, aktivieren Sie Port 8883, um eingehende MQTT-Kommunikation zuzulassen, sodass sich andere Geräte mit dem Core verbinden können. AWS IoT Greengrass

    1. Wählen Sie im Navigationsbereich der Amazon EC2 EC2-Konsole Security Groups aus.

      Navigationsbereich mit hervorgehobenen Sicherheitsgruppen.
    2. Wählen Sie die Sicherheitsgruppe für die Instance aus, die Sie gerade gestartet haben, und klicken Sie dann auf die Registerkarte Regeln für eingehenden Datenverkehr.

    3. Wählen Sie Edit inbound rules (Regeln für eingehenden Datenverkehr bearbeiten) aus.

      Um Port 8883 zu aktivieren, fügen Sie eine benutzerdefinierte TCP-Regel zur Sicherheitsgruppe hinzu. Weitere Informationen finden Sie unter Hinzufügen von Regeln zu einer Sicherheitsgruppe im Amazon EC2 EC2-Benutzerhandbuch.

    4. Wählen Sie auf der Seite Regeln für eingehenden Datenverkehr bearbeiten die Option Regel hinzufügen aus, geben Sie die folgenden Einstellungen ein und klicken Sie dann auf Speichern.

      • Wählen Sie für Type Custom TCP Rule aus.

      • Geben 8883 Sie für Portbereich den Wert ein.

      • Wählen Sie unter Source (Quelle) die Option Anywhere (Alle) aus.

      • Geben Sie für Beschreibung den Text MQTT Communications ein.

       

  3. Stellen Sie eine Verbindung zu Ihrer Amazon-EC2-Instance her.

    1. Wählen Sie im Navigationsbereich Instances, wählen Sie Ihre Instance aus und klicken Sie dann auf Connect (Verbinden).

    2. Befolgen Sie die Anweisungen auf der Seite Connect To Your Instance (Mit Ihrer Instance verbinden), um eine Verbindung mit Ihrer Instance über SSH und Ihre private Schlüsseldatei herzustellen.

    Sie können PuTTY für Windows oder Terminal für macOS verwenden. Weitere Informationen finden Sie unter Connect to your Linux Instance im Amazon EC2 EC2-Benutzerhandbuch.

    Sie sind jetzt bereit, Ihre Amazon EC2 EC2-Instance für AWS IoT Greengrass einzurichten.

  4. Nachdem Sie mit Ihrer Amazon EC2 EC2-Instance verbunden sind, erstellen Sie die ggc_group Konten ggc_user und:

    sudo adduser --system ggc_user sudo groupadd --system ggc_group
    Anmerkung

    Wenn der Befehl adduser in Ihrem System nicht verfügbar ist, verwenden Sie den folgenden Befehl.

    sudo useradd --system ggc_user
  5. Um die Sicherheit zu verbessern, stellen Sie sicher, dass der Hardlink- und Softlink-Schutz (Symlink) auf dem Betriebssystem der Amazon EC2 EC2-Instance beim Start aktiviert ist.

    Anmerkung

    Die Schritte für die Aktivierung des Hardlink- und Softlink-Schutzes sind vom Betriebssystem abhängig. Weitere Informationen finden Sie in der Dokumentation für Ihre Verteilung.

    1. Führen Sie den folgenden Befehl aus, um zu prüfen, ob der Hardlink- und Softlink-Schutz aktiviert ist:

      sudo sysctl -a | grep fs.protected

      Wenn Hardlinks und Softlinks auf 1 festgelegt sind, sind die Schutzfunktionen korrekt aktiviert. Fahren Sie mit Schritt 6 fort.

      Anmerkung

      Softlinks werden durch fs.protected_symlinks dargestellt.

    2. Wenn Hardlinks und Softlinks nicht auf 1 festgelegt sind, aktivieren Sie diese Schutzfunktionen. Navigieren Sie zur Systemkonfigurationsdatei.

      cd /etc/sysctl.d ls
    3. Fügen Sie in Ihrem bevorzugten Texteditor (z. B. Leafpad, GNU nano oder vi) am Ende der Systemkonfigurationsdatei die folgenden beiden Zeilen hinzu. In Amazon Linux 1 ist dies die Datei 00-defaults.conf. In Amazon Linux 2 ist dies die Datei 99-amazon.conf. Möglicherweise müssen Sie die Berechtigungen ändern (mit dem Befehl chmod), damit Sie in die Datei schreiben können. Sie können auch den Befehl sudo nano 00-defaults.conf verwenden, um die Bearbeitung als Root-Benutzer auszuführen (z. B. sudo).

      fs.protected_hardlinks = 1 fs.protected_symlinks = 1
    4. Starten Sie die Amazon EC2 EC2-Instance neu.

      sudo reboot

      Stellen Sie nach ein paar Minuten eine Verbindung mit Ihrer Instance über SSH her und führen Sie dann den folgenden Befehl aus, um die Änderung zu bestätigen.

      sudo sysctl -a | grep fs.protected

      Die Hard- und Softlinks sind auf 1 eingestellt.

  6. Extrahieren Sie das folgende Skript und führen Sie es aus, um Linux-Kontrollgruppen (Cgroups) zu mounten. Dadurch kann AWS IoT Greengrass das Speicherlimit für Lambda-Funktionen festgelegt werden. Cgroups müssen auch AWS IoT Greengrass im Standard-Containerisierungsmodus ausgeführt werden.

    curl https://raw.githubusercontent.com/tianon/cgroupfs-mount/951c38ee8d802330454bdede20d85ec1c0f8d312/cgroupfs-mount > cgroupfs-mount.sh chmod +x cgroupfs-mount.sh sudo bash ./cgroupfs-mount.sh

    Ihre Amazon EC2 EC2-Instance sollte jetzt bereit für AWS IoT Greengrass sein.

  7. Optional. Installieren Sie die Java 8-Laufzeitumgebung, die vom Stream-Manager benötigt wird. In diesem Tutorial wird Stream-Manager nicht verwendet, jedoch wird der Workflow zur Erstellung von Standardgruppen verwendet, der Stream-Manager standardmäßig aktiviert. Verwenden Sie die folgenden befehle, um die Java 8-Laufzeitumgebung auf dem Core-Gerät zu installieren oder den Stream-Manager zu deaktivieren, bevor Sie Ihre Gruppe bereitstellen. Anweisungen zum Deaktivieren des Stream-Managers finden Sie in Modul 3.

    • Für Debian-basierte Distributionen:

      sudo apt install openjdk-8-jdk
    • Für Red Hat-basierte Distributionen:

      sudo yum install java-1.8.0-openjdk
  8. Um sicherzustellen, dass Sie über alle erforderlichen Abhängigkeiten verfügen, laden Sie den Greengrass-Abhängigkeitsprüfer aus dem Samples-Repository herunter und führen Sie AWS IoT Greengrass ihn aus. GitHub Mit diesen Befehlen wird das Dependency Checker-Skript in Ihrer Amazon EC2 EC2-Instance heruntergeladen, entpackt und ausgeführt.

    mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo ./check_ggc_dependencies | more
    Wichtig

    Dieses Tutorial benötigt die Python 3.7-Laufzeit, um lokale Lambda-Funktionen auszuführen. Wenn der Stream-Manager aktiviert ist, ist auch die Java 8-Laufzeitumgebung erforderlich. Wenn das Skript check_ggc_dependencies Warnmeldungen zu diesen fehlenden Laufzeitvoraussetzungen ausgibt, installieren Sie sie, bevor Sie fortfahren. Sie können Warnmeldungen zu anderen fehlenden optionalen Laufzeitvoraussetzungen ignorieren.

Ihre Amazon EC2 EC2-Instance-Konfiguration ist abgeschlossen. Fahren Sie fort mit Modul 2: Installieren vonAWS IoT GreengrassCore-Software.