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.
Installieren Sie die AWS IoT Greengrass Core-Software mit manueller Ressourcenbereitstellung
Die AWS IoT Greengrass Core-Software enthält ein Installationsprogramm, das Ihr Gerät als Greengrass-Core-Gerät einrichtet. Um ein Gerät manuell einzurichten, können Sie die erforderlichen IAM Ressourcen AWS IoT und Ressourcen für das Gerät erstellen. Wenn Sie diese Ressourcen manuell erstellen, müssen Sie keine AWS Anmeldeinformationen für das Installationsprogramm angeben.
Wenn Sie die AWS IoT Greengrass Core-Software manuell installieren, können Sie das Gerät auch so konfigurieren, dass es einen Netzwerk-Proxy verwendet oder eine Verbindung AWS über Port 443 herstellt. Möglicherweise müssen Sie diese Konfigurationsoptionen angeben, wenn Ihr Gerät beispielsweise hinter einer Firewall oder einem Netzwerk-Proxy läuft. Weitere Informationen finden Sie unter Verbindungsherstellung auf Port 443 oder über einen Netzwerk-Proxy.
Sie können die AWS IoT Greengrass Core-Software auch so konfigurieren, dass sie ein Hardware-Sicherheitsmodul (HSM) über die PKCS#11 -Schnittstelle
Wichtig
Bevor Sie die AWS IoT Greengrass Core-Software herunterladen, überprüfen Sie, ob Ihr Core-Gerät die Anforderungen für die Installation und Ausführung der AWS IoT Greengrass Core-Software v2.0 erfüllt.
Themen
- Endpunkte abrufen AWS IoT
- Erstelle ein Ding AWS IoT
- Erstellen Sie das Ding-Zertifikat
- Konfigurieren Sie das Ding-Zertifikat
- Erstellen Sie eine Token-Exchange-Rolle
- Laden Sie Zertifikate auf das Gerät herunter
- Richten Sie die Geräteumgebung ein
- Laden Sie die AWS IoT Greengrass Core-Software herunter
- Installieren Sie die Core-Software AWS IoT Greengrass
Endpunkte abrufen AWS IoT
Holen Sie sich die AWS IoT Endpunkte für Sie und speichern Sie sie AWS-Konto, um sie später zu verwenden. Ihr Gerät verwendet diese Endpunkte, um eine Verbindung herzustellen. AWS IoT Gehen Sie wie folgt vor:
-
Holen Sie sich den AWS IoT Datenendpunkt für Ihren AWS-Konto.
aws iot describe-endpoint --endpoint-type iot:Data-ATS
Die Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "endpointAddress": "
device-data-prefix
-ats.iot.us-west-2.amazonaws.com" } -
Rufen Sie den Endpunkt der AWS IoT Anmeldeinformationen für Ihren AWS-Konto ab.
aws iot describe-endpoint --endpoint-type iot:CredentialProvider
Die Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "endpointAddress": "
device-credentials-prefix
.credentials.iot.us-west-2.amazonaws.com" }
Erstelle ein Ding AWS IoT
AWS IoT Dinge stehen für Geräte und logische Entitäten, mit denen eine Verbindung hergestellt wird AWS IoT. Greengrass-Core-Geräte sind AWS IoT Dinge. Wenn Sie ein Gerät als Objekt registrieren AWS IoT , kann dieses Gerät ein digitales Zertifikat zur Authentifizierung verwenden. AWS
In diesem Abschnitt erstellen Sie eine AWS IoT Sache, die Ihr Gerät repräsentiert.
Um AWS IoT etwas zu erschaffen
-
Erstelle AWS IoT etwas für dein Gerät. Führen Sie auf Ihrem Entwicklungscomputer den folgenden Befehl aus.
-
Ersetzen
MyGreengrassCore
mit dem zu verwendenden Dingnamen. Dieser Name ist auch der Name Ihres Greengrass-Core-Geräts.Anmerkung
Der Name der Sache darf keine Doppelpunkte (
:
) enthalten.
aws iot create-thing --thing-name
MyGreengrassCore
Die Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "thingName": "MyGreengrassCore", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "thingId": "8cb4b6cd-268e-495d-b5b9-1713d71dbf42" }
-
-
(Optional) Fügen Sie das AWS IoT Ding einer neuen oder vorhandenen Dinggruppe hinzu. Sie verwenden Dinggruppen, um Flotten von Greengrass-Kerngeräten zu verwalten. Wenn Sie Softwarekomponenten auf Ihren Geräten bereitstellen, können Sie einzelne Geräte oder Gerätegruppen gezielt ansprechen. Sie können ein Gerät zu einer Dinggruppe mit einer aktiven Greengrass-Bereitstellung hinzufügen, um die Softwarekomponenten dieser Dinggruppe auf dem Gerät bereitzustellen. Gehen Sie wie folgt vor:
-
(Optional) Erstellen Sie eine AWS IoT Dinggruppe.
-
Ersetzen
MyGreengrassCoreGroup
mit dem Namen der zu erstellenden Dinggruppe.Anmerkung
Der Name der Dinggruppe darf keine Doppelpunkte (
:
) enthalten.
aws iot create-thing-group --thing-group-name
MyGreengrassCoreGroup
Die Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" }
-
-
Fügt das AWS IoT Ding einer Dinggruppe hinzu.
-
Ersetzen
MyGreengrassCore
mit dem Namen deines AWS IoT Dings. -
Ersetzen
MyGreengrassCoreGroup
mit dem Namen der Dinggruppe.
aws iot add-thing-to-thing-group --thing-name
MyGreengrassCore
--thing-group-nameMyGreengrassCoreGroup
Der Befehl hat keine Ausgabe, wenn die Anfrage erfolgreich ist.
-
-
Erstellen Sie das Ding-Zertifikat
Wenn Sie ein Gerät als AWS IoT Ding registrieren, kann dieses Gerät ein digitales Zertifikat zur Authentifizierung verwenden. AWS Dieses Zertifikat ermöglicht dem Gerät die Kommunikation mit AWS IoT und AWS IoT Greengrass.
In diesem Abschnitt erstellen und laden Sie Zertifikate herunter, mit denen Ihr Gerät eine Verbindung herstellen kann AWS.
Wenn Sie die AWS IoT Greengrass Core-Software so konfigurieren möchten, dass sie ein Hardware-Sicherheitsmodul (HSM) verwendet, um den privaten Schlüssel und das Zertifikat sicher zu speichern, gehen Sie wie folgt vor, um das Zertifikat aus einem privaten Schlüssel in einem zu erstellenHSM. Folgen Sie andernfalls den Schritten zum Erstellen des Zertifikats und des privaten Schlüssels im AWS IoT Dienst. Die Hardware-Sicherheitsfunktion ist nur auf Linux-Geräten verfügbar. Weitere Informationen zur Hardwaresicherheit und zu den Voraussetzungen für ihre Verwendung finden Sie unterIntegration von Hardware-Sicherheit.
Erstellen Sie das Zertifikat und den privaten Schlüssel im AWS IoT Dienst
Um das Ding-Zertifikat zu erstellen
-
Erstellen Sie einen Ordner, in den Sie die Zertifikate für das AWS IoT Ding herunterladen.
mkdir greengrass-v2-certs
-
Erstellen Sie die Zertifikate für das AWS IoT Ding und laden Sie sie herunter.
aws iot create-keys-and-certificate --set-as-active --certificate-pem-outfile greengrass-v2-certs/device.pem.crt --public-key-outfile greengrass-v2-certs/public.pem.key --private-key-outfile greengrass-v2-certs/private.pem.key
Die Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\ MIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\ MMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\ 59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\ hJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\ FQIDAQAB\ -----END PUBLIC KEY-----\ ", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\ key omitted for security reasons\ -----END RSA PRIVATE KEY-----\ " } }
Speichern Sie den Amazon-Ressourcennamen (ARN) des Zertifikats, um das Zertifikat später zu konfigurieren.
Erstellen Sie das Zertifikat aus einem privaten Schlüssel in einem HSM
Anmerkung
Diese Funktion ist für Version 2.5.3 und höher der Greengrass Nucleus-Komponente verfügbar. AWS IoT Greengrass unterstützt diese Funktion derzeit nicht auf Windows Core-Geräten.
Um das Ding-Zertifikat zu erstellen
-
Initialisieren Sie auf dem Core-Gerät ein PKCS #11 -Token im HSM und generieren Sie einen privaten Schlüssel. Der private Schlüssel muss ein Schlüssel mit einer RSA Schlüsselgröße von RSA -2048 (oder größer) oder ein Schlüssel sein. ECC
Anmerkung
Um ein Hardware-Sicherheitsmodul mit ECC Schlüsseln zu verwenden, müssen Sie Greengrass Nucleus v2.5.6 oder höher verwenden.
Um ein Hardware-Sicherheitsmodul und einen Secret Manager zu verwenden, müssen Sie ein Hardware-Sicherheitsmodul mit Schlüsseln verwenden. RSA
Lesen Sie in der Dokumentation HSM nach, wie Sie das Token initialisieren und den privaten Schlüssel generieren. Wenn Ihr System ein Objekt HSM unterstütztIDs, geben Sie bei der Generierung des privaten Schlüssels eine Objekt-ID an. Speichern Sie die Slot-ID, den BenutzerPIN, die Objektbezeichnung und die Objekt-ID (HSMfalls Sie eine verwenden), die Sie angeben, wenn Sie das Token initialisieren und den privaten Schlüssel generieren. Sie verwenden diese Werte später, wenn Sie das Ding-Zertifikat in die Core-Software importieren HSM und die AWS IoT Greengrass Core-Software konfigurieren.
-
Erstellen Sie eine Zertifikatsignieranforderung (CSR) aus dem privaten Schlüssel. AWS IoT verwendet diesCSR, um ein Ding-Zertifikat für den privaten Schlüssel zu erstellen, den Sie in der generiert habenHSM. Informationen darüber, wie Sie CSR aus dem privaten Schlüssel ein erstellen, finden Sie in der Dokumentation zu IhremHSM. Das CSR ist eine Datei, wie
iotdevicekey.csr
z. -
Kopieren Sie die CSR vom Gerät auf Ihren Entwicklungscomputer. Wenn SSH und auf dem Entwicklungscomputer und dem Gerät aktiviert SCP sind, können Sie den
scp
Befehl auf Ihrem Entwicklungscomputer verwenden, um die zu übertragenCSR. Ersetzendevice-ip-address
mit der IP-Adresse Ihres Geräts und ersetzen~/iotdevicekey.csr
mit dem Pfad zur CSR Datei auf dem Gerät.scp
device-ip-address
:~/iotdevicekey.csr
iotdevicekey.csr -
Erstellen Sie auf Ihrem Entwicklungscomputer einen Ordner, in den Sie das Zertifikat für das AWS IoT Ding herunterladen.
mkdir greengrass-v2-certs
-
Verwenden Sie die CSR Datei, um das Zertifikat für das AWS IoT Ding zu erstellen und auf Ihren Entwicklungscomputer herunterzuladen.
aws iot create-certificate-from-csr --set-as-active --certificate-signing-request=file://iotdevicekey.csr --certificate-pem-outfile greengrass-v2-certs/device.pem.crt
Die Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificateId": "aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE= -----END CERTIFICATE-----" }
Speichern Sie die ZertifikateARN, um sie später zur Konfiguration des Zertifikats zu verwenden.
Konfigurieren Sie das Ding-Zertifikat
Hängen Sie das Ding-Zertifikat an das AWS IoT Ding an, das Sie zuvor erstellt haben, und fügen Sie dem Zertifikat eine AWS IoT Richtlinie hinzu, um die AWS IoT Berechtigungen für das Kerngerät zu definieren.
Um das Zertifikat des Dings zu konfigurieren
-
Hängen Sie das Zertifikat an das AWS IoT Ding an.
-
Ersetzen
MyGreengrassCore
mit dem Namen deines AWS IoT Dings. -
Ersetzen Sie das Zertifikat Amazon Resource Name (ARN) durch das ARN Zertifikat, das Sie im vorherigen Schritt erstellt haben.
aws iot attach-thing-principal --thing-name
MyGreengrassCore
--principalarn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4
Der Befehl hat keine Ausgabe, wenn die Anfrage erfolgreich ist.
-
-
Erstellen Sie eine AWS IoT Richtlinie, die die AWS IoT Berechtigungen für Ihr Greengrass-Core-Gerät definiert, und fügen Sie sie hinzu. Die folgende Richtlinie ermöglicht den Zugriff auf alle MQTT Themen und Greengrass-Operationen, sodass Ihr Gerät mit benutzerdefinierten Anwendungen und future Änderungen, die neue Greengrass-Operationen erfordern, funktioniert. Sie können diese Richtlinie je nach Anwendungsfall einschränken. Weitere Informationen finden Sie unter Minimale AWS IoT Richtlinie für -AWS IoT Greengrass V2Core-Geräte.
Wenn Sie bereits ein Greengrass-Core-Gerät eingerichtet haben, können Sie dessen AWS IoT Richtlinie anhängen, anstatt eine neue zu erstellen.
Gehen Sie wie folgt vor:
-
Erstellen Sie eine Datei, die das AWS IoT Richtliniendokument enthält, das für Greengrass-Core-Geräte erforderlich ist.
Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um die Datei mithilfe von GNU nano zu erstellen.
nano greengrass-v2-iot-policy.json
Kopieren Sie Folgendes JSON in die Datei.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect", "greengrass:*" ], "Resource": [ "*" ] } ] }
-
Erstellen Sie eine AWS IoT Richtlinie aus dem Richtliniendokument.
-
Ersetzen
GreengrassV2IoTThingPolicy
mit dem Namen der zu erstellenden Richtlinie.
aws iot create-policy --policy-name
GreengrassV2IoTThingPolicy
--policy-document file://greengrass-v2-iot-policy.jsonDie Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "policyName": "GreengrassV2IoTThingPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassV2IoTThingPolicy", "policyDocument": "{ \\"Version\\": \\"2012-10-17\\", \\"Statement\\": [ { \\"Effect\\": \\"Allow\\", \\"Action\\": [ \\"iot:Publish\\", \\"iot:Subscribe\\", \\"iot:Receive\\", \\"iot:Connect\\", \\"greengrass:*\\" ], \\"Resource\\": [ \\"*\\" ] } ] }", "policyVersionId": "1" }
-
-
Hängen Sie die AWS IoT Richtlinie an das Zertifikat der AWS IoT Sache an.
-
Ersetzen
GreengrassV2IoTThingPolicy
mit dem Namen der Richtlinie, die angehängt werden soll. -
Ersetzen Sie das Ziel ARN durch das ARN des Zertifikats für Ihr AWS IoT Ding.
aws iot attach-policy --policy-name
GreengrassV2IoTThingPolicy
--targetarn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4
Der Befehl hat keine Ausgabe, wenn die Anfrage erfolgreich ist.
-
-
Erstellen Sie eine Token-Exchange-Rolle
Greengrass-Core-Geräte verwenden eine IAM Servicerolle, die so genannte Token-Austauschrolle, um Aufrufe von Diensten zu autorisieren. AWS Das Gerät verwendet den AWS IoT Anmeldeinformationsanbieter, um temporäre AWS Anmeldeinformationen für diese Rolle abzurufen. Dadurch kann das Gerät mit Amazon Logs interagieren AWS IoT, Protokolle an Amazon CloudWatch Logs senden und benutzerdefinierte Komponentenartefakte von Amazon S3 herunterladen. Weitere Informationen finden Sie unter Autorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS.
Sie verwenden einen AWS IoT Rollenalias, um die Token-Austauschrolle für Greengrass-Core-Geräte zu konfigurieren. Rollenaliase ermöglichen es Ihnen, die Token-Austauschrolle für ein Gerät zu ändern, aber die Gerätekonfiguration beizubehalten. Weitere Informationen finden Sie im AWS IoT Core Entwicklerhandbuch unter Autorisieren von direkten Aufrufen von AWS Diensten.
In diesem Abschnitt erstellen Sie eine IAM Token-Exchange-Rolle und einen AWS IoT Rollenalias, der auf die Rolle verweist. Wenn Sie bereits ein Greengrass-Core-Gerät eingerichtet haben, können Sie dessen Token-Austauschrolle und seinen Rollenalias verwenden, anstatt neue zu erstellen. Anschließend konfigurieren Sie das Gerät so, dass es AWS IoT diese Rolle und diesen Alias verwendet.
Um eine IAM Token-Exchange-Rolle zu erstellen
-
Erstellen Sie eine IAM Rolle, die Ihr Gerät als Token-Austauschrolle verwenden kann. Gehen Sie wie folgt vor:
-
Erstellen Sie eine Datei, die das Dokument mit der Vertrauensrichtlinie enthält, das für die Token-Austauschrolle erforderlich ist.
Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um die Datei mithilfe von GNU nano zu erstellen.
nano device-role-trust-policy.json
Kopieren Sie Folgendes JSON in die Datei.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Erstellen Sie die Token-Austauschrolle mit dem Dokument zur Vertrauensrichtlinie.
-
Ersetzen
GreengrassV2TokenExchangeRole
mit dem Namen der zu erstellenden IAM Rolle.
aws iam create-role --role-name
GreengrassV2TokenExchangeRole
--assume-role-policy-document file://device-role-trust-policy.jsonDie Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "Role": { "Path": "/", "RoleName": "GreengrassV2TokenExchangeRole", "RoleId": "AROAZ2YMUHYHK5OKM77FB", "Arn": "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole", "CreateDate": "2021-02-06T00:13:29+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } }
-
-
Erstellen Sie eine Datei, die das Dokument mit der Zugriffsrichtlinie enthält, das für die Token-Austauschrolle erforderlich ist.
Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um die Datei mithilfe von GNU nano zu erstellen.
nano device-role-access-policy.json
Kopieren Sie Folgendes JSON in die Datei.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "s3:GetBucketLocation" ], "Resource": "*" } ] }
Anmerkung
Diese Zugriffsrichtlinie erlaubt keinen Zugriff auf Komponentenartefakte in S3-Buckets. Um benutzerdefinierte Komponenten bereitzustellen, die Artefakte in Amazon S3 definieren, müssen Sie der Rolle Berechtigungen hinzufügen, damit Ihr Kerngerät Komponentenartefakte abrufen kann. Weitere Informationen finden Sie unter Erlauben Sie den Zugriff auf S3-Buckets für Komponentenartefakte.
Wenn Sie noch keinen S3-Bucket für Komponentenartefakte haben, können Sie diese Berechtigungen später hinzufügen, nachdem Sie einen Bucket erstellt haben.
-
Erstellen Sie die IAM Richtlinie anhand des Richtliniendokuments.
-
Ersetzen
GreengrassV2TokenExchangeRoleAccess
mit dem Namen der zu erstellenden IAM Richtlinie.
aws iam create-policy --policy-name
GreengrassV2TokenExchangeRoleAccess
--policy-document file://device-role-access-policy.jsonDie Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "Policy": { "PolicyName": "GreengrassV2TokenExchangeRoleAccess", "PolicyId": "ANPAZ2YMUHYHACI7C5Z66", "Arn": "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2021-02-06T00:37:17+00:00", "UpdateDate": "2021-02-06T00:37:17+00:00" } }
-
-
Ordnen Sie die IAM Richtlinie der Token-Exchange-Rolle zu.
-
Ersetzen
GreengrassV2TokenExchangeRole
mit dem Namen der IAM Rolle. -
Ersetzen Sie die Richtlinie ARN durch ARN die IAM Richtlinie, die Sie im vorherigen Schritt erstellt haben.
aws iam attach-role-policy --role-name
GreengrassV2TokenExchangeRole
--policy-arnarn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess
Der Befehl hat keine Ausgabe, wenn die Anfrage erfolgreich ist.
-
-
-
Erstellen Sie einen AWS IoT Rollenalias, der auf die Token-Exchange-Rolle verweist.
-
Ersetzen
GreengrassCoreTokenExchangeRoleAlias
mit dem Namen des zu erstellenden Rollenalias. -
Ersetzen Sie die Rolle ARN durch ARN die IAM Rolle, die Sie im vorherigen Schritt erstellt haben.
aws iot create-role-alias --role-alias
GreengrassCoreTokenExchangeRoleAlias
--role-arnarn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole
Die Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "roleAlias": "GreengrassCoreTokenExchangeRoleAlias", "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias" }
Anmerkung
Um einen Rollenalias zu erstellen, benötigen Sie die Berechtigung, die IAM Token-Exchange-Rolle an zu AWS IoTübergeben. Wenn Sie beim Versuch, einen Rollenalias zu erstellen, eine Fehlermeldung erhalten, überprüfen Sie, ob Ihr AWS Benutzer über diese Berechtigung verfügt. Weitere Informationen finden Sie im Benutzerhandbuch unter Erteilen von Benutzerberechtigungen zur Übergabe einer Rolle an einen AWS Dienst.AWS Identity and Access Management
-
-
Erstellen und fügen Sie eine AWS IoT Richtlinie hinzu, die es Ihrem Greengrass-Core-Gerät ermöglicht, den Rollenalias zu verwenden, um die Token-Austauschrolle zu übernehmen. Wenn Sie bereits ein Greengrass-Core-Gerät eingerichtet haben, können Sie dessen AWS IoT Rollenalias-Richtlinie anhängen, anstatt eine neue zu erstellen. Gehen Sie wie folgt vor:
-
(Optional) Erstellen Sie eine Datei, die das AWS IoT Richtliniendokument enthält, das für den Rollenalias erforderlich ist.
Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um die Datei mithilfe von GNU nano zu erstellen.
nano greengrass-v2-iot-role-alias-policy.json
Kopieren Sie Folgendes JSON in die Datei.
-
Ersetzen Sie die Ressource ARN durch ARN den Alias Ihrer Rolle.
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:AssumeRoleWithCertificate", "Resource": "
arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias
" } ] } -
-
Erstellen Sie eine AWS IoT Richtlinie aus dem Richtliniendokument.
-
Ersetzen
GreengrassCoreTokenExchangeRoleAliasPolicy
mit dem Namen der zu erstellenden AWS IoT Richtlinie.
aws iot create-policy --policy-name
GreengrassCoreTokenExchangeRoleAliasPolicy
--policy-document file://greengrass-v2-iot-role-alias-policy.jsonDie Antwort sieht ähnlich wie im folgenden Beispiel aus, wenn die Anfrage erfolgreich ist.
{ "policyName": "GreengrassCoreTokenExchangeRoleAliasPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassCoreTokenExchangeRoleAliasPolicy", "policyDocument": "{ \\"Version\\":\\"2012-10-17\\", \\"Statement\\": [ { \\"Effect\\": \\"Allow\\", \\"Action\\": \\"iot:AssumeRoleWithCertificate\\", \\"Resource\\": \\"arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias\\" } ] }", "policyVersionId": "1" }
-
-
Hängen Sie die AWS IoT Richtlinie an das Zertifikat der AWS IoT Sache an.
-
Ersetzen
GreengrassCoreTokenExchangeRoleAliasPolicy
mit dem Namen der AWS IoT Rollen-Alias-Richtlinie. -
Ersetzen Sie das Ziel ARN durch das ARN des Zertifikats für Ihr AWS IoT Ding.
aws iot attach-policy --policy-name
GreengrassCoreTokenExchangeRoleAliasPolicy
--targetarn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4
Der Befehl hat keine Ausgabe, wenn die Anfrage erfolgreich ist.
-
-
Laden Sie Zertifikate auf das Gerät herunter
Zuvor haben Sie das Zertifikat Ihres Geräts auf Ihren Entwicklungscomputer heruntergeladen. In diesem Abschnitt kopieren Sie das Zertifikat auf Ihr Kerngerät, um das Gerät mit den Zertifikaten einzurichten, mit denen es eine Verbindung herstellt AWS IoT. Sie laden auch das Zertifikat der Amazon Root Certificate Authority (CA) herunter. Wenn Sie ein verwendenHSM, importieren Sie auch die Zertifikatsdatei in das HSM in diesem Abschnitt.
-
Wenn Sie das Ding-Zertifikat und den privaten Schlüssel zuvor im AWS IoT Dienst erstellt haben, folgen Sie den Schritten, um die Zertifikate mit dem privaten Schlüssel und den Zertifikatsdateien herunterzuladen.
-
Wenn Sie das Ding-Zertifikat zuvor aus einem privaten Schlüssel in einem Hardware-Sicherheitsmodul (HSM) erstellt haben, gehen Sie wie folgt vor, um die Zertifikate mit dem privaten Schlüssel und dem Zertifikat in einem herunterzuladenHSM.
Laden Sie Zertifikate mit privatem Schlüssel und Zertifikatsdateien herunter
Um Zertifikate auf das Gerät herunterzuladen
-
Kopieren Sie das AWS IoT Ding-Zertifikat von Ihrem Entwicklungscomputer auf das Gerät. Wenn SSH und auf dem Entwicklungscomputer und dem Gerät aktiviert SCP sind, können Sie den
scp
Befehl auf Ihrem Entwicklungscomputer verwenden, um das Zertifikat zu übertragen. Ersetzendevice-ip-address
mit der IP-Adresse Ihres Geräts.scp -r greengrass-v2-certs/
device-ip-address
:~ -
Erstellen Sie den Greengrass-Stammordner auf dem Gerät. Sie werden später die AWS IoT Greengrass Core-Software in diesem Ordner installieren.
Anmerkung
Windows hat eine Pfadlängenbegrenzung von 260 Zeichen. Wenn Sie Windows verwenden, verwenden Sie einen Stammordner wie
C:\greengrass\v2
oder,D:\greengrass\v2
um die Greengrass-Komponentenpfade unter der Obergrenze von 260 Zeichen zu halten. -
(Nur Linux) Legen Sie die Berechtigungen des übergeordneten Elements des Greengrass-Stammordners fest.
-
Ersetzen
/greengrass
mit dem übergeordneten Element des Stammordners.
sudo chmod 755
/greengrass
-
-
Kopieren Sie die AWS IoT Ding-Zertifikate in den Greengrass-Stammordner.
-
Laden Sie das Zertifikat der Amazon Root Certificate Authority (CA) herunter. AWS IoT Zertifikate sind standardmäßig mit dem Root-CA-Zertifikat von Amazon verknüpft.
Laden Sie Zertifikate mit dem privaten Schlüssel und dem Zertifikat in einem herunter HSM
Anmerkung
Diese Funktion ist für Version 2.5.3 und höher der Greengrass Nucleus-Komponente verfügbar. AWS IoT Greengrass unterstützt diese Funktion derzeit nicht auf Windows Core-Geräten.
Um Zertifikate auf das Gerät herunterzuladen
-
Kopieren Sie das AWS IoT Ding-Zertifikat von Ihrem Entwicklungscomputer auf das Gerät. Wenn SSH und auf dem Entwicklungscomputer und dem Gerät aktiviert SCP sind, können Sie den
scp
Befehl auf Ihrem Entwicklungscomputer verwenden, um das Zertifikat zu übertragen. Ersetzendevice-ip-address
mit der IP-Adresse Ihres Geräts.scp -r greengrass-v2-certs/
device-ip-address
:~ -
Erstellen Sie den Greengrass-Stammordner auf dem Gerät. Sie werden später die AWS IoT Greengrass Core-Software in diesem Ordner installieren.
Anmerkung
Windows hat eine Pfadlängenbegrenzung von 260 Zeichen. Wenn Sie Windows verwenden, verwenden Sie einen Stammordner wie
C:\greengrass\v2
oder,D:\greengrass\v2
um die Greengrass-Komponentenpfade unter der Obergrenze von 260 Zeichen zu halten. -
(Nur Linux) Legen Sie die Berechtigungen des übergeordneten Elements des Greengrass-Stammordners fest.
-
Ersetzen
/greengrass
mit dem übergeordneten Element des Stammordners.
sudo chmod 755
/greengrass
-
-
Importieren Sie die Ding-Zertifikatsdatei
~/greengrass-v2-certs/device.pem.crt
,, in denHSM. Lesen Sie in der Dokumentation HSM nach, wie Sie Zertifikate in die Datei importieren können. Importieren Sie das Zertifikat mit demselben Token, derselben Slot-ID, demselben BenutzerPIN, derselben Objektbezeichnung und Objekt-ID (falls HSM Sie eine verwenden), mit denen Sie HSM zuvor den privaten Schlüssel generiert haben.Anmerkung
Wenn Sie den privaten Schlüssel zuvor ohne Objekt-ID generiert haben und das Zertifikat eine Objekt-ID hat, setzen Sie die Objekt-ID des privaten Schlüssels auf denselben Wert wie das Zertifikat. Lesen Sie in der Dokumentation HSM nach, wie Sie die Objekt-ID für das Objekt mit dem privaten Schlüssel festlegen.
-
(Optional) Löschen Sie die Ding-Zertifikatsdatei, sodass sie nur in der existiertHSM.
rm ~/greengrass-v2-certs/device.pem.crt
-
Laden Sie das Zertifikat der Amazon Root Certificate Authority (CA) herunter. AWS IoT Zertifikate sind standardmäßig mit dem Root-CA-Zertifikat von Amazon verknüpft.
Richten Sie die Geräteumgebung ein
Folgen Sie den Schritten in diesem Abschnitt, um ein Linux- oder Windows-Gerät einzurichten, das als Ihr AWS IoT Greengrass Kerngerät verwendet werden soll.
Richten Sie ein Linux-Gerät ein
Um ein Linux-Gerät einzurichten für AWS IoT Greengrass V2
-
Installieren Sie die Java-Runtime, die für die Ausführung der AWS IoT Greengrass Core-Software erforderlich ist. Wir empfehlen Ihnen, die JDK Langzeit-Support-Versionen von Amazon Corretto
oder Open zu verwenden. Version 8 oder höher ist erforderlich. Die folgenden Befehle zeigen Ihnen, wie Sie Open JDK auf Ihrem Gerät installieren. -
Für Debian- oder Ubuntu-basierte Distributionen:
sudo apt install default-jdk
-
Für Red Hat-basierte Distributionen:
sudo yum install java-11-openjdk-devel
-
Für Amazon Linux 2:
sudo amazon-linux-extras install java-openjdk11
-
Für Amazon Linux 2023:
sudo dnf install java-11-amazon-corretto -y
Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um zu überprüfen, ob Java auf Ihrem Linux-Gerät ausgeführt wird.
java -version
Der Befehl druckt die Version von Java, die auf dem Gerät ausgeführt wird. Bei einer Debian-basierten Distribution könnte die Ausgabe beispielsweise dem folgenden Beispiel ähneln.
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
-
-
(Optional) Erstellen Sie den Standardsystembenutzer und die Standardgruppe, die Komponenten auf dem Gerät ausführen. Sie können auch festlegen, dass der AWS IoT Greengrass Core-Software-Installer diesen Benutzer und diese Gruppe während der Installation mithilfe des
--component-default-user
Installer-Arguments erstellt. Weitere Informationen finden Sie unter Installer-Argumente.sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
-
Stellen Sie sicher, dass der Benutzer, der die AWS IoT Greengrass Core-Software ausführt (in der Regel
root
), über die erforderlichen Rechte verfügt, die Softwaresudo
mit jedem beliebigen Benutzer und jeder Gruppe auszuführen.-
Führen Sie den folgenden Befehl aus, um die
/etc/sudoers
Datei zu öffnen.sudo visudo
-
Stellen Sie sicher, dass die Berechtigung für den Benutzer wie im folgenden Beispiel aussieht.
root ALL=(ALL:ALL) ALL
-
-
(Optional) Um containerisierte Lambda-Funktionen auszuführen, müssen Sie cgroups
v1 aktivieren und Sie müssen die Speicher - und Geräte-Cgroups aktivieren und mounten. Wenn Sie nicht vorhaben, containerisierte Lambda-Funktionen auszuführen, können Sie diesen Schritt überspringen. Um diese Cgroups-Optionen zu aktivieren, starten Sie das Gerät mit den folgenden Linux-Kernelparametern.
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
Informationen zum Anzeigen und Einstellen der Kernel-Parameter für Ihr Gerät finden Sie in der Dokumentation zu Ihrem Betriebssystem und Bootloader. Folgen Sie den Anweisungen, um die Kernel-Parameter dauerhaft einzustellen.
-
Installieren Sie alle anderen erforderlichen Abhängigkeiten auf Ihrem Gerät, wie in der Liste der Anforderungen unter angegebenAnforderungen an Speichergeräte.
Richten Sie ein Windows-Gerät ein
Anmerkung
Diese Funktion ist für Version 2.5.0 und höher der Greengrass Nucleus-Komponente verfügbar.
Um ein Windows-Gerät einzurichten für AWS IoT Greengrass V2
-
Installieren Sie die Java-Runtime, die für die Ausführung der AWS IoT Greengrass Core-Software erforderlich ist. Wir empfehlen Ihnen, die JDK Langzeit-Support-Versionen von Amazon Corretto
oder Open zu verwenden. Version 8 oder höher ist erforderlich. -
Prüfen Sie, ob Java in der PATH
Systemvariablen verfügbar ist, und fügen Sie es hinzu, falls nicht. Auf dem LocalSystem Konto wird die AWS IoT Greengrass Core-Software ausgeführt, sodass Sie der PATH Systemvariablen statt der PATH Benutzervariablen für Ihren Benutzer Java hinzufügen müssen. Gehen Sie wie folgt vor: -
Drücken Sie die Windows-Taste, um das Startmenü zu öffnen.
-
Geben Sie
environment variables
ein, um im Startmenü nach den Systemoptionen zu suchen. -
Wählen Sie in den Suchergebnissen des Startmenüs die Option Systemumgebungsvariablen bearbeiten aus, um das Fenster mit den Systemeigenschaften zu öffnen.
-
Wählen Sie Umgebungsvariablen... um das Fenster Umgebungsvariablen zu öffnen.
-
Wählen Sie unter Systemvariablen die Option Pfad und dann Bearbeiten aus. Im Fenster Umgebungsvariable bearbeiten können Sie jeden Pfad in einer separaten Zeile anzeigen.
-
Überprüfen Sie, ob der Pfad zum
bin
Ordner der Java-Installation vorhanden ist. Der Pfad könnte dem folgenden Beispiel ähneln.C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
-
Wenn der
bin
Ordner der Java-Installation in Path fehlt, wählen Sie Neu, um ihn hinzuzufügen, und klicken Sie dann auf OK.
-
-
Öffnen Sie die Windows-Eingabeaufforderung (
cmd.exe
) als Administrator. -
Erstellen Sie den Standardbenutzer für das LocalSystem Konto auf dem Windows-Gerät. Ersetzen
password
mit einem sicheren Passwort.net user /add ggc_user
password
Tipp
Abhängig von Ihrer Windows-Konfiguration ist das Benutzerkennwort möglicherweise so eingestellt, dass es an einem Datum in der future abläuft. Um sicherzustellen, dass Ihre Greengrass-Anwendungen weiterhin funktionieren, verfolgen Sie, wann das Passwort abläuft, und aktualisieren Sie es, bevor es abläuft. Sie können das Benutzerkennwort auch so einrichten, dass es niemals abläuft.
-
Führen Sie den folgenden Befehl aus, um zu überprüfen, wann ein Benutzer und sein Passwort ablaufen.
net user
ggc_user
| findstr /C:expires -
Führen Sie den folgenden Befehl aus, um das Passwort eines Benutzers so einzustellen, dass es nie abläuft.
wmic UserAccount where "Name='
ggc_user
'" set PasswordExpires=False -
Wenn Sie Windows 10 oder höher verwenden und der
wmic
Befehl veraltet ist, führen Sie den folgenden PowerShell Befehl aus. Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = '
ggc_user
'" | Set-CimInstance -Property @{PasswordExpires="False"}
-
-
Laden Sie das PsExecProgramm
von Microsoft herunter und installieren Sie es auf dem Gerät. -
Verwenden Sie das PsExec Hilfsprogramm, um den Benutzernamen und das Passwort für den Standardbenutzer in der Credential Manager-Instanz für das LocalSystem Konto zu speichern. Ersetzen
password
mit dem Passwort des Benutzers, das Sie zuvor festgelegt haben.psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:
password
Wenn das PsExec License Agreementgeöffnet wird, stimmen Sie Acceptder Lizenz zu und führen Sie den Befehl aus.
Anmerkung
Auf Windows-Geräten wird auf dem LocalSystem Konto der Greengrass-Nucleus ausgeführt, und Sie müssen das PsExec Hilfsprogramm verwenden, um die Standardbenutzerinformationen im LocalSystem Konto zu speichern. Wenn Sie die Credential Manager-Anwendung verwenden, werden diese Informationen nicht im Konto, sondern im Windows-Konto des aktuell angemeldeten Benutzers gespeichert. LocalSystem
Laden Sie die AWS IoT Greengrass Core-Software herunter
Sie können die neueste Version der AWS IoT Greengrass Core-Software von der folgenden Adresse herunterladen:
Anmerkung
Sie können eine bestimmte Version der AWS IoT Greengrass Core-Software von der folgenden Adresse herunterladen. Ersetzen version
mit der herunterzuladenden Version.
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-
version
.zip
Um die AWS IoT Greengrass Core-Software herunterzuladen
-
Laden Sie die Core-Software auf Ihrem AWS IoT Greengrass Core-Gerät in eine Datei mit dem Namen herunter
greengrass-nucleus-latest.zip
.Mit dem Download dieser Software stimmen Sie der Greengrass Core-Software-Lizenzvereinbarung
zu. -
(Optional) Um die Greengrass Nucleus-Softwaresignatur zu überprüfen
Anmerkung
Diese Funktion ist mit Greengrass Nucleus Version 2.9.5 und höher verfügbar.
-
Verwenden Sie den folgenden Befehl, um die Signatur Ihres Greengrass-Kernartefakts zu überprüfen:
-
Der
jarsigner
Aufruf liefert eine Ausgabe, die die Ergebnisse der Überprüfung anzeigt.-
Wenn die Greengrass Nucleus-Zip-Datei signiert ist, enthält die Ausgabe die folgende Anweisung:
jar verified.
-
Wenn die Greengrass Nucleus-Zip-Datei nicht signiert ist, enthält die Ausgabe die folgende Anweisung:
jar is unsigned.
-
-
Wenn Sie die
-certs
Option Jarsigner zusammen mit den-verbose
Optionen-verify
und angegeben haben, enthält die Ausgabe auch detaillierte Informationen zum Unterzeichnerzertifikat.
-
-
Entpacken Sie die AWS IoT Greengrass Core-Software in einen Ordner auf Ihrem Gerät. Ersetzen
GreengrassInstaller
mit dem Ordner, den Sie verwenden möchten. -
(Optional) Führen Sie den folgenden Befehl aus, um die Version der AWS IoT Greengrass Core-Software zu sehen.
java -jar ./
GreengrassInstaller
/lib/Greengrass.jar --version
Wichtig
Wenn Sie eine Version von Greengrass Nucleus vor v2.4.0 installieren, entfernen Sie diesen Ordner nicht, nachdem Sie die AWS IoT Greengrass Core-Software installiert haben. Die AWS IoT Greengrass Core-Software verwendet die Dateien in diesem Ordner zur Ausführung.
Wenn Sie die neueste Version der Software heruntergeladen haben, installieren Sie v2.4.0 oder höher, und Sie können diesen Ordner entfernen, nachdem Sie die AWS IoT Greengrass Core-Software installiert haben.
Installieren Sie die Core-Software AWS IoT Greengrass
Führen Sie das Installationsprogramm mit Argumenten aus, die die folgenden Aktionen angeben:
-
Installieren Sie die Installation aus einer Teilkonfigurationsdatei, in der angegeben ist, dass die AWS Ressourcen und Zertifikate verwendet werden sollen, die Sie zuvor erstellt haben. Die AWS IoT Greengrass Core-Software verwendet eine Konfigurationsdatei, die die Konfiguration jeder Greengrass-Komponente auf dem Gerät spezifiziert. Das Installationsprogramm erstellt aus der von Ihnen bereitgestellten Teilkonfigurationsdatei eine vollständige Konfigurationsdatei.
-
Geben Sie an, dass der
ggc_user
Systembenutzer Softwarekomponenten auf dem Kerngerät ausführen soll. Auf Linux-Geräten gibt dieser Befehl auch an, dass dieggc_group
Systemgruppe verwendet werden soll, und das Installationsprogramm erstellt den Systembenutzer und die Systemgruppe für Sie. -
Richten Sie die AWS IoT Greengrass Core-Software als Systemdienst ein, der beim Booten ausgeführt wird. Auf Linux-Geräten erfordert dies das Systemd-Init-System
. Wichtig
Auf Windows Core-Geräten müssen Sie die AWS IoT Greengrass Core-Software als Systemdienst einrichten.
Weitere Hinweise zu den Argumenten, die Sie angeben können, finden Sie unterInstaller-Argumente.
Anmerkung
Wenn Sie AWS IoT Greengrass auf einem Gerät mit begrenztem Arbeitsspeicher arbeiten, können Sie die Speichermenge steuern, die die AWS IoT Greengrass Core-Software verwendet. Um die Speicherzuweisung zu steuern, können Sie im jvmOptions
Konfigurationsparameter Ihrer Nucleus-Komponente Optionen für die JVM Heap-Größe festlegen. Weitere Informationen finden Sie unter Steuern Sie die Speicherzuweisung mit Optionen JVM.
-
Wenn Sie das Ding-Zertifikat und den privaten Schlüssel zuvor im AWS IoT Dienst erstellt haben, folgen Sie den Schritten zur Installation der AWS IoT Greengrass Core-Software mit privaten Schlüssel- und Zertifikatsdateien.
-
Wenn Sie das Ding-Zertifikat zuvor aus einem privaten Schlüssel in einem Hardware-Sicherheitsmodul (HSM) erstellt haben, folgen Sie den Schritten, um die AWS IoT Greengrass Core-Software mit dem privaten Schlüssel und dem Zertifikat in einem zu installierenHSM.
Installieren Sie die AWS IoT Greengrass Core-Software mit privaten Schlüssel- und Zertifikatsdateien
Um die AWS IoT Greengrass Core-Software zu installieren
-
Überprüfen Sie die Version der AWS IoT Greengrass Core-Software.
-
Ersetzen
GreengrassInstaller
mit dem Pfad zu dem Ordner, der die Software enthält.
java -jar ./
GreengrassInstaller
/lib/Greengrass.jar --version -
-
Verwenden Sie einen Texteditor, um eine Konfigurationsdatei mit dem Namen
config.yaml
zu erstellen, die dem Installationsprogramm zur Verfügung gestellt werden soll.Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um die Datei mithilfe von GNU nano zu erstellen.
nano
GreengrassInstaller
/config.yamlKopieren Sie den folgenden YAML Inhalt in die Datei. Diese Teilkonfigurationsdatei spezifiziert Systemparameter und Greengrass-Nukleus-Parameter.
--- system: certificateFilePath: "
/device.pem.crt" privateKeyPath: "/greengrass/v2
/private.pem.key" rootCaPath: "/greengrass/v2
/AmazonRootCA1.pem" rootpath: "/greengrass/v2
" thingName: "/greengrass/v2
MyGreengrassCore
" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.13.0
" configuration: awsRegion: "us-west-2
" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias
" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com
" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com
"Führen Sie dann die folgenden Schritte aus:
-
Ersetzen Sie jede Instanz von
durch den Greengrass-Stammordner./greengrass/v2
-
Ersetzen
MyGreengrassCore
mit dem Namen der AWS IoT Sache. -
Ersetzen
2.13.0
mit der Version der AWS IoT Greengrass Core-Software. -
Ersetzen
us-west-2
mit dem AWS-Region Ort, an dem Sie die Ressourcen erstellt haben. -
Ersetzen
GreengrassCoreTokenExchangeRoleAlias
mit dem Namen des Alias der Token-Exchange-Rolle. -
Ersetzen Sie das
iotDataEndpoint
durch Ihren AWS IoT Datenendpunkt. -
Ersetzen Sie den
iotCredEndpoint
durch den Endpunkt Ihrer AWS IoT Anmeldeinformationen.
Anmerkung
In dieser Konfigurationsdatei können Sie andere Nucleus-Konfigurationsoptionen wie die zu verwendenden Ports und den Netzwerk-Proxy anpassen, wie im folgenden Beispiel gezeigt. Weitere Informationen finden Sie unter Greengrass Nucleus-Konfiguration.
--- system: certificateFilePath: "
/device.pem.crt" privateKeyPath: "/greengrass/v2
/private.pem.key" rootCaPath: "/greengrass/v2
/AmazonRootCA1.pem" rootpath: "/greengrass/v2
" thingName: "/greengrass/v2
MyGreengrassCore
" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.13.0
" configuration: awsRegion: "us-west-2
" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias
" iotCredEndpoint: "device-credentials-prefix
.credentials.iot.us-west-2
.amazonaws.com" iotDataEndpoint: "device-data-prefix
-ats.iot.us-west-2
.amazonaws.com" mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "https://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" -
-
Führen Sie das Installationsprogramm aus und geben Sie
--init-config
an, dass Sie die Konfigurationsdatei bereitstellen möchten.-
Ersetzen
oder/greengrass/v2
C:\greengrass\v2
mit dem Greengrass-Stammordner. -
Ersetzen Sie jede Instanz von
GreengrassInstaller
mit dem Ordner, in den Sie das Installationsprogramm entpackt haben.
Wichtig
Auf Windows Core-Geräten müssen Sie angeben,
--setup-system-service true
dass die AWS IoT Greengrass Core-Software als Systemdienst eingerichtet werden soll.Wenn Sie dies angeben
--setup-system-service true
, gibt das Installationsprogramm aus,Successfully set up Nucleus as a system service
ob es die Software als Systemdienst eingerichtet und ausgeführt hat. Andernfalls gibt das Installationsprogramm keine Meldung aus, wenn es die Software erfolgreich installiert hat.Anmerkung
Sie können das
deploy-dev-tools
Argument nicht verwenden, um lokale Entwicklungstools bereitzustellen, wenn Sie das Installationsprogramm ohne das--provision true
Argument ausführen. Informationen zur CLI direkten Bereitstellung von Greengrass auf Ihrem Gerät finden Sie unterGreengrass-Befehlszeilenschnittstelle. -
-
Überprüfen Sie die Installation, indem Sie sich die Dateien im Stammordner ansehen.
Wenn die Installation erfolgreich war, enthält der Stammordner mehrere Ordner, z. B.
config
packages
, undlogs
.
Installieren Sie die AWS IoT Greengrass Core-Software mit dem privaten Schlüssel und dem Zertifikat in einem HSM
Anmerkung
Diese Funktion ist für Version 2.5.3 und höher der Greengrass Nucleus-Komponente verfügbar. AWS IoT Greengrass unterstützt diese Funktion derzeit nicht auf Windows Core-Geräten.
Um die AWS IoT Greengrass Core-Software zu installieren
-
Überprüfen Sie die Version der AWS IoT Greengrass Core-Software.
-
Ersetzen
GreengrassInstaller
mit dem Pfad zu dem Ordner, der die Software enthält.
java -jar ./
GreengrassInstaller
/lib/Greengrass.jar --version -
-
Damit die AWS IoT Greengrass Core-Software den privaten Schlüssel und das Zertifikat in verwenden kannHSM, installieren Sie bei der Installation der AWS IoT Greengrass Core-Software die Provider-Komponente PKCS #11. Die Anbieterkomponente PKCS #11 ist ein Plugin, das Sie während der Installation konfigurieren können. Sie können die neueste Version der PKCS #11 -Provider-Komponente von der folgenden Adresse herunterladen:
Laden Sie das Anbieter-Plugin PKCS #11 in eine Datei mit dem Namen herunter
aws.greengrass.crypto.Pkcs11Provider.jar
. ErsetzenGreengrassInstaller
mit dem Ordner, den Sie verwenden möchten.curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar >
GreengrassInstaller
/aws.greengrass.crypto.Pkcs11Provider.jarMit dem Download dieser Software stimmen Sie der Greengrass Core-Software-Lizenzvereinbarung
zu. -
Verwenden Sie einen Texteditor, um eine Konfigurationsdatei mit dem Namen
config.yaml
zu erstellen, die dem Installationsprogramm zur Verfügung gestellt werden soll.Auf einem Linux-basierten System können Sie beispielsweise den folgenden Befehl ausführen, um die Datei mithilfe von GNU nano zu erstellen.
nano
GreengrassInstaller
/config.yamlKopieren Sie den folgenden YAML Inhalt in die Datei. Diese Teilkonfigurationsdatei spezifiziert Systemparameter, Greengrass-Nukleus-Parameter und PKCS #11 -Anbieterparameter.
--- system: certificateFilePath: "pkcs11:object=
iotdevicekey
;type=cert" privateKeyPath: "pkcs11:object=iotdevicekey
;type=private" rootCaPath: "
/AmazonRootCA1.pem" rootpath: "/greengrass/v2
" thingName: "/greengrass/v2
MyGreengrassCore
" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.13.0
" configuration: awsRegion: "us-west-2
" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias
" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com
" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com
" aws.greengrass.crypto.Pkcs11Provider: configuration: name: "softhsm_pkcs11
" library: "/usr/local/Cellar/softhsm/2.6.1/lib/softhsm/libsofthsm2.so
" slot:1
userPin: "1234
"Führen Sie dann die folgenden Schritte aus:
-
Ersetzen Sie jede Instanz von
iotdevicekey
in der PKCS #11 URIs mit der Objektbezeichnung, in der Sie den privaten Schlüssel erstellt und das Zertifikat importiert haben. -
Ersetzen Sie jede Instanz von
durch den Greengrass-Stammordner./greengrass/v2
-
Ersetzen
MyGreengrassCore
mit dem Namen der AWS IoT Sache. -
Ersetzen
2.13.0
mit der Version der AWS IoT Greengrass Core-Software. -
Ersetzen
us-west-2
mit dem AWS-Region Ort, an dem Sie die Ressourcen erstellt haben. -
Ersetzen
GreengrassCoreTokenExchangeRoleAlias
mit dem Namen des Alias der Token-Exchange-Rolle. -
Ersetzen Sie das
iotDataEndpoint
durch Ihren AWS IoT Datenendpunkt. -
Ersetzen Sie den
iotCredEndpoint
durch den Endpunkt Ihrer AWS IoT Anmeldeinformationen. -
Ersetzen Sie die Konfigurationsparameter für die
aws.greengrass.crypto.Pkcs11Provider
Komponente durch die Werte für die HSM Konfiguration auf dem Kerngerät.
Anmerkung
In dieser Konfigurationsdatei können Sie andere Nucleus-Konfigurationsoptionen wie die zu verwendenden Ports und den Netzwerk-Proxy anpassen, wie im folgenden Beispiel gezeigt. Weitere Informationen finden Sie unter Greengrass Nucleus-Konfiguration.
--- system: certificateFilePath: "pkcs11:object=
iotdevicekey
;type=cert" privateKeyPath: "pkcs11:object=iotdevicekey
;type=private" rootCaPath: "
/AmazonRootCA1.pem" rootpath: "/greengrass/v2
" thingName: "/greengrass/v2
MyGreengrassCore
" services: aws.greengrass.Nucleus: componentType: "NUCLEUS" version: "2.13.0
" configuration: awsRegion: "us-west-2
" iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias
" iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com
" iotCredEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com
" mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "https://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" aws.greengrass.crypto.Pkcs11Provider: configuration: name: "softhsm_pkcs11
" library: "/usr/local/Cellar/softhsm/2.6.1/lib/softhsm/libsofthsm2.so
" slot:1
userPin: "1234
" -
-
Führen Sie das Installationsprogramm aus und geben Sie
--init-config
an, dass Sie die Konfigurationsdatei bereitstellen möchten.-
Ersetzen Sie es durch den Greengrass-Stammordner./greengrass/v2
-
Ersetzen Sie jede Instanz von
GreengrassInstaller
mit dem Ordner, in den Sie das Installationsprogramm entpackt haben.
sudo -E java -Droot="
" -Dlog.store=FILE \ -jar .//greengrass/v2
GreengrassInstaller
/lib/Greengrass.jar \ --trusted-plugin ./GreengrassInstaller
/aws.greengrass.crypto.Pkcs11Provider.jar \ --init-config ./GreengrassInstaller
/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service trueWichtig
Auf Windows Core-Geräten müssen Sie angeben,
--setup-system-service true
dass die AWS IoT Greengrass Core-Software als Systemdienst eingerichtet werden soll.Wenn Sie dies angeben
--setup-system-service true
, gibt das Installationsprogramm aus,Successfully set up Nucleus as a system service
ob es die Software als Systemdienst eingerichtet und ausgeführt hat. Andernfalls gibt das Installationsprogramm keine Meldung aus, wenn es die Software erfolgreich installiert hat.Anmerkung
Sie können das
deploy-dev-tools
Argument nicht verwenden, um lokale Entwicklungstools bereitzustellen, wenn Sie das Installationsprogramm ohne das--provision true
Argument ausführen. Informationen zur CLI direkten Bereitstellung von Greengrass auf Ihrem Gerät finden Sie unterGreengrass-Befehlszeilenschnittstelle. -
-
Überprüfen Sie die Installation, indem Sie sich die Dateien im Stammordner ansehen.
Wenn die Installation erfolgreich war, enthält der Stammordner mehrere Ordner, z. B.
config
packages
, undlogs
.
Wenn Sie die AWS IoT Greengrass Core-Software als Systemdienst installiert haben, führt das Installationsprogramm die Software für Sie aus. Andernfalls müssen Sie die Software manuell ausführen. Weitere Informationen finden Sie unter Ausführen der AWS IoT Greengrass -Core-Software.
Weitere Informationen zur Konfiguration und Verwendung der Software finden Sie unter: AWS IoT Greengrass