Hochladen der Firmware-Datei in einen S3-Bucket und Hinzufügen einer IAM-Rolle
Sie können Amazon S3 verwenden, um einen Bucket zu erstellen. Dabei handelt es sich um einen Container, in dem Ihre Firmware-Aktualisierungsdatei gespeichert werden kann. Sie können Ihre Datei in den S3-Bucket hochladen und eine IAM-Rolle hinzufügen, die es dem CUPS-Server ermöglicht, Ihre Aktualisierungsdatei aus dem Bucket zu lesen. Weitere Informationen zum Erstellen von Amazon-S3-Buckets finden Sie unter Erste Schritte mit Amazon S3.
Die Firmware-Aktualisierungsdatei, die Sie hochladen möchten, hängt vom verwendeten Gateway ab. Wenn Sie ein Verfahren befolgt haben, das dem unter Generieren der Firmware-Aktualisierungsdatei und Signatur beschriebenen ähnelt, laden Sie die durch die Ausführung der Skripts generierte fwstation
Datei hoch.
Dieser Vorgang dauert etwa 20 Minuten.
So laden Sie Ihre Firmware-Datei hoch:
Erstellen Sie einen Amazon S3 Bucket und laden Sie die aktualisierte Datei hoch.
Sie erstellen mit dem AWS Management Console einen Amazon-S3-Bucket und laden dann Ihre Firmware-Aktualisierungsdatei in den Bucket hoch.
Erstellen eines S3-Buckets
Um einen S3-Bucket zu erstellen, öffnen Sie die Amazon-S3-Konsole
-
Wählen Sie Bucket erstellen aus.
-
Geben Sie einen eindeutigen und aussagekräftigen Namen für den Bucket-Namen ein (z. B.
iotwirelessfwupdate
). Eine empfohlene Benennungskonvention für Ihren Bucket finden Sie unter https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html. -
Stellen Sie sicher, dass Sie AWS-Region ausgewählt haben, das Sie zur Erstellung Ihres LoRaWAN-Gateways und -Geräts verwendet haben, und dass die Einstellung Allen öffentlichen Zugriff blockieren ausgewählt ist, sodass Ihr Bucket die Standardberechtigungen verwendet.
-
Wählen Sie Aktivieren für die Bucket-Versionsverwaltung, damit Sie mehrere Versionen der Firmware-Aktualisierungsdatei im selben Bucket speichern können.
-
Vergewissern Sie sich, dass serverseitige Verschlüsselung auf Deaktivieren eingestellt ist, und wählen Sie Bucket erstellen aus.
Laden Sie Ihre Firmware-Aktualisierungsdatei hoch
Sie können Ihren Bucket jetzt in der Liste der Buckets sehen, die im AWS Management Console angezeigt wird. Wählen Sie Ihren Bucket aus und führen Sie die folgenden Schritte aus, um Ihre Datei hochzuladen.
-
Wählen Sie Ihren Bucket aus und dann Hochladen.
-
Wählen Sie Datei hinzufügen und laden Sie dann die Firmware-Aktualisierungsdatei hoch. Wenn Sie das unter Generieren der Firmware-Aktualisierungsdatei und Signatur beschriebene Verfahren befolgt haben, laden Sie die
fwstation
Datei hoch, andernfalls laden Sie die von Ihrem Gateway-Hersteller bereitgestellte Datei hoch. -
Stellen Sie sicher, dass alle Einstellungen auf die Standardeinstellungen festgelegt sind. Vergewissern Sie sich, dass Vordefinierte ACLs auf Privat festgelegt ist, und wählen Sie Hochladen, um Ihre Datei hochzuladen.
-
Kopieren Sie die S3-URI der Datei, die Sie hochgeladen haben. Wählen Sie Ihren Bucket aus und die Datei, die Sie hochgeladen haben, wird in der Objektliste angezeigt. Wählen Sie Ihre Datei aus und dann S3-URI kopieren. Die URI wird etwa so aussehen:
s3://iotwirelessfwupdate/fwstation
, wenn Sie Ihren Bucket ähnlich dem zuvor beschriebenen Beispiel benannt haben (fwstation
). Sie verwenden den S3-URI, wenn Sie die IAM-Rolle erstellen.
Erstellen einer IAM-Rolle mit Leserechten für den S3-Bucket
Sie erstellen jetzt eine IAM-Rolle und -Richtlinie, die CUPS die Erlaubnis geben, Ihre Firmware-Aktualisierungsdatei aus dem S3-Bucket zu lesen.
Erstellen Sie eine IAM-Richtlinie für Ihre Rolle.
Um eine IAM-Richtlinie für Ihre AWS IoT Core for LoRaWAN-Zielrolle zu erstellen, öffnen Sie den Richtlinien-Hub der IAM-Konsole
-
Wählen Sie Richtlinie erstellen und anschließend die Registerkarte JSON.
-
Löschen Sie alle Inhalte aus dem Editor und fügen Sie dieses Richtliniendokument ein. Die Richtlinie gewährt Berechtigungen für den Zugriff auf den
iotwireless
-Bucket und die Firmware-Aktualisierungsdateifwstation
, die in einem Objekt gespeichert sind.{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListBucketVersions", "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::iotwirelessfwupdate/fwstation", "arn:aws:s3:::iotwirelessfwupdate" ] } ] }
-
Wählen Sie Richtlinie überprüfen aus, und geben Sie im Feld Name einen Namen für diese Richtlinie ein (z. B.
IoTWirelessFwUpdatePolicy
). Sie benötigen diesen Namen, um ihn im nächsten Verfahren zu verwenden. -
Wählen Sie Richtlinie erstellen aus.
Erstellen Sie eine IAM-Rolle mit der angehängten Richtlinie.
Sie erstellen jetzt eine IAM-Rolle und fügen die zuvor erstellte Richtlinie für den Zugriff auf den S3-Bucket an. Öffnen Sie den Rollen-Hub der IAM-Konsole
-
Wählen Sie Rolle erstellen aus.
-
Unter Typ der vertrauenswürdigen Entität auswählen, wählen Sie die Option Weiteres AWS-Konto aus.
-
Geben Sie unter Konto-ID Ihre AWS-Konto-ID ein und wählen Sie dann Weiter: Berechtigungen aus.
-
Geben Sie im Suchfeld den Namen der IAM-Richtlinie ein, die Sie im vorherigen Verfahren erstellt haben. Überprüfen Sie die IAM-Richtlinie (z. B.
IoTWirelessFwUpdatePolicy
), die Sie zuvor in den Suchergebnissen erstellt haben, und wählen Sie sie aus. -
Wählen Sie Weiter: Tags und danach Weiter: Prüfen aus.
-
Geben Sie für Name der Rolle einen Namen für Ihre Rolle ein (z. B.
IoTWirelessFwUpdateRole
) und wählen Sie dann Rolle erstellen aus.
So bearbeiten Sie die Vertrauensbeziehung für die IAM-Rolle.
Wählen Sie in der Bestätigungsnachricht, die nach dem Ausführen des vorherigen Schritts angezeigt wird, den Namen der von Ihnen erstellten Rolle, um sie zu bearbeiten. Als Nächstes bearbeiten Sie die Rolle, um die folgende Vertrauensbeziehung hinzuzufügen.
-
Wählen Sie auf der Seite Zusammenfassung für die eben erstellte Rolle die Registerkarte Vertrauensbeziehung und dann Vertrauensbeziehung bearbeiten aus.
-
Ändern Sie im Richtliniendokument die
Principal
-Eigenschaft so, dass sie wie in diesem Beispiel aussieht."Principal": { "Service": "iotwireless.amazonaws.com" },
Nachdem Sie die
Principal
-Eigenschaft geändert haben, sollte das vollständige Richtliniendokument wie in diesem Beispiel aussehen.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotwireless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
-
Wählen Sie Vertrauensrichtlinie aktualisieren aus, um die Änderungen zu speichern.
-
Besorgen Sie sich den ARN für Ihre Rolle. Wählen Sie Ihre IAM-Rolle aus. Im Abschnitt Zusammenfassung wird ein Rollen-ARN angezeigt, z. B.
arn:aws:iam::123456789012:role/IoTWirelessFwUpdateRole
. Kopieren Sie die Rolle ARN.
Überprüfen Sie die nächsten Schritte
Nachdem Sie den S3-Bucket und eine IAM-Rolle erstellt haben, die es dem CUPS-Server ermöglicht, den S3-Bucket zu lesen, fahren Sie mit dem nächsten Thema fort, um das Firmware-Update zu planen und auszuführen. Behalten Sie den S3-URI und die Rollen-ARN, die Sie zuvor kopiert haben, sodass Sie sie eingeben können, um eine Aufgabendefinition zu erstellen, die zur Durchführung des Firmware-Updates ausgeführt wird.