Diagnostizieren von Verbindungsproblemen - AWS IoT Core

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.

Diagnostizieren von Verbindungsproblemen

Eine erfolgreiche Verbindung zu AWS IoT erfordert:

  • Eine gültige Verbindung

  • Ein gültiges und aktives Zertifikat

  • Eine Richtlinie, die die gewünschte Verbindung und den gewünschten Vorgang ermöglicht

Verbindung

Wie finde ich den richtigen Endpunkt?
  • die von aws iot describe-endpoint --endpoint-type iot:Data-ATS zurückgegebene endpointAddress

    or

  • den von aws iot describe-domain-configuration –-domain-configuration-name "domain_configuration_name" zurückgegebenen domainName

Wie finde ich den richtigen Wert für die Angabe des Servernamens (SNI)?

Der richtige SNI Wert wird von den Befehlen endpointAddress zurückgegeben describe-endpoint oder von den describe-domain-configuration Befehlen domainName zurückgegeben. Es ist dieselbe Adresse wie der Endpunkt im vorherigen Schritt. Beim Verbinden von Geräten mit können Clients die Erweiterung Server Name Indication (SNI) senden. Dies ist nicht erforderlich, wird aber dringend empfohlen. AWS IoT Core Um Funktionen wie die Registrierung mehrerer Konten, benutzerdefinierte Domänen und VPCEndpunkte nutzen zu können, müssen Sie die SNI Erweiterung verwenden. Weitere Informationen finden Sie unter Transportsicherheit in. AWS IoT

Wie löse ich ein anhaltendes Verbindungsproblem?

Sie können AWS Device Advisor zur Problembehandlung verwenden. Die vorgefertigten Tests von Device Advisor helfen Ihnen dabei, Ihre Gerätesoftware anhand von Best Practices für die Verwendung von TLSMQTT, AWS IoT Device Shadow und AWS IoT Jobs zu validieren.

Hier ist ein Link zu den vorhandenen Device Advisor-Inhalten.

Authentifizierung

Geräte müssen authentifiziert werden, um eine Verbindung zu Endpunkten herzustellen AWS IoT . Bei Geräten, die X.509-Clientzertifikate zur Authentifizierung verwendet werden, müssen die Zertifikate registriert AWS IoT und aktiv sein.

Wie authentifizieren meine Geräte AWS IoT Endgeräte?

Fügen Sie das AWS IoT CA-Zertifikat dem Trust Store Ihres Kunden hinzu. Lesen Sie die Dokumentation zu Serverauthentifizierung in AWS IoT Core und folgen Sie dann den Links, um das entsprechende CA-Zertifikat herunterzuladen.

Was wird geprüft, wenn ein Gerät eine Verbindung herstellt AWS IoT?

Wenn ein Gerät versucht, eine Verbindung mit AWS IoT herzustellen:

  1. AWS IoT prüft, ob ein gültiges Zertifikat und ein Wert für die Servernamenangabe (SNI) vorliegen.

  2. AWS IoT überprüft, ob das verwendete Zertifikat im AWS IoT Konto registriert und aktiviert wurde.

  3. Wenn ein Gerät versucht, eine Aktion auszuführen AWS IoT, z. B. eine Nachricht zu abonnieren oder zu veröffentlichen, wird die Richtlinie, die dem Zertifikat beigefügt ist, mit dem es eine Verbindung hergestellt hat, überprüft, um zu bestätigen, dass das Gerät berechtigt ist, diese Aktion auszuführen.

Wie kann ich ein korrekt konfiguriertes Zertifikat validieren?

Verwenden Sie den SSL s_client Befehl Öffnen, um eine Verbindung zum AWS IoT Endpunkt zu testen:

openssl s_client -connect custom_endpoint.iot.aws-region.amazonaws.com:8443 -CAfile CA.pem -cert cert.pem -key privateKey.pem

Weitere Informationen zur Verwendung openssl s_client finden Sie in der Open SSL s_client-Dokumentation.

Wie überprüfe ich den Status eines Zertifikats?
  • Listen Sie die Zertifikate auf

    Wenn Sie die Zertifikat-ID nicht kennen, können Sie den Status all Ihrer Zertifikate mit dem aws iot list-certificates-Befehl anzeigen.

  • Zertifikatdetails anzeigen

    Wenn Sie die ID des Zertifikats kennen, zeigt Ihnen dieser Befehl detailliertere Informationen zum Zertifikat an.

    aws iot describe-certificate --certificate-id "certificateId"
  • Überprüfen Sie das Zertifikat in der Konsole AWS IoT

    Wählen Sie in der AWS IoT Konsole im linken Menü die Option Sicher und dann Zertifikate aus.

    Wählen Sie das Zertifikat aus der Liste aus, das Sie für die Verbindung verwenden, um die Detailseite zu öffnen.

    Auf der Detailseite des Zertifikats können Sie seinen aktuellen Status sehen.

    Der Zertifikatstatus kann mit dem Menü Aktionen in der oberen rechten Ecke der Detailseite geändert werden.

Autorisierung

AWS IoT RessourcenAWS IoT Core Richtlinien, die verwendet werden, um diese Ressourcen zur Ausführung von Aktionen zu autorisieren. Damit eine Aktion autorisiert werden kann, muss den angegebenen AWS IoT Ressourcen ein Richtliniendokument beigefügt sein, das die Genehmigung zur Durchführung dieser Aktion erteilt.

Ich habe die Antwort PUBNACK oder SUBNACK vom Broker erhalten. Was soll ich tun?

Stellen Sie sicher, dass dem Zertifikat, das Sie für den Anruf verwenden, eine Richtlinie beigefügt ist AWS IoT. Alle Veröffentlichungs-/Anmeldevorgänge werden standardmäßig abgelehnt.

Stellen Sie sicher, dass die beigefügte Richtlinie die Aktionen autorisiert, die Sie ausführen möchten.

Stellen Sie sicher, dass die beigefügte Richtlinie die Ressourcen autorisiert, die versuchen, die autorisierten Aktionen auszuführen.

Ich habe einen FAILURE Eintrag AUTHORIZATION_ in meinen Logs.

Stellen Sie sicher, dass dem Zertifikat, das Sie für den Anruf verwenden, eine Richtlinie beigefügt ist AWS IoT. Alle Veröffentlichungs-/Anmeldevorgänge werden standardmäßig abgelehnt.

Stellen Sie sicher, dass die beigefügte Richtlinie die Aktionen autorisiert, die Sie ausführen möchten.

Stellen Sie sicher, dass die beigefügte Richtlinie die Ressourcen autorisiert, die versuchen, die autorisierten Aktionen auszuführen.

Wie überprüfe ich, was die Richtlinie autorisiert?

Wählen Sie in der AWS IoT Konsole im linken Menü die Option Sicher und dann Zertifikate aus.

Wählen Sie das Zertifikat aus der Liste aus, das Sie für die Verbindung verwenden, um die Detailseite zu öffnen.

Auf der Detailseite des Zertifikats können Sie seinen aktuellen Status sehen.

Wählen Sie im linken Menü der Detailseite des Zertifikats die Option Richtlinien aus, um die mit dem Zertifikat verknüpften Richtlinien anzuzeigen.

Wählen Sie die gewünschte Richtlinie aus, um ihre Detailseite aufzurufen.

Sehen Sie sich auf der Detailseite der Richtlinie das Richtliniendokument der Richtlinie an, um zu sehen, was damit autorisiert wird.

Wählen Sie Richtliniendokument bearbeiten, um Änderungen am Richtliniendokument vorzunehmen.

Sicherheits- und Identitätsmethoden

Wenn Sie die Serverzertifikate für die AWS IoT benutzerdefinierte Domänenkonfiguration bereitstellen, haben die Zertifikate maximal vier Domainnamen.

Weitere Informationen finden Sie unter AWS IoT Core Endpunkte und -Kontingente.