Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Protocoles de communication des appareils
AWS IoT Core prend en charge les appareils et les clients qui utilisent les protocoles MQTT et MQTT over WebSocket Secure (WSS) pour publier des messages et s'y abonner, ainsi que les appareils et clients qui utilisent le HTTPS protocole pour publier des messages. Tous les protocoles prennent en charge IPv4 etIPv6. Cette section décrit les différentes options de connexion pour les appareils et les clients.
TLSversions du protocole
AWS IoT Core utilise les TLS
Le AWS IoT Appareil SDKs support MQTT WSS et MQTT le support aux exigences de sécurité des connexions client. Nous vous recommandons d'utiliser le AWS IoT Appareil SDKs pour connecter les clients à AWS IoT.
Protocols, port mappings, and authentication (Protocoles, mappages de ports et authentification)
La façon dont un appareil ou un client se connecte au courtier de messages est configurable à l'aide d'un type d'authentification. Par défaut ou lorsqu'aucune SNI extension n'est envoyée, la méthode d'authentification est basée sur le protocole d'application, le port et l'TLSextension Application Layer Protocol Negotiation (ALPN) utilisés par les appareils. Le tableau suivant répertorie l'authentification attendue en fonction du port, du port etALPN.
Protocole | Opérations prises en charge | Authentification | Port | ALPNnom du protocole |
---|---|---|---|---|
MQTTterminé WebSocket |
Publier, S'abonner | Signature Version 4 | 443 |
N/A |
MQTTterminé WebSocket |
Publier/s'abonner | Authentification personnalisée | 443 |
N/A |
MQTT |
Publier, S'abonner |
Certificat de client X.509 |
443† |
|
MQTT | Publier, S'abonner | Certificat de client X.509 | 8883 | N/A |
MQTT |
Publier/s'abonner |
Authentification personnalisée |
443† |
|
HTTPS |
Publier uniquement |
Signature Version 4 |
443 |
N/A |
HTTPS |
Publier uniquement |
Certificat de client X.509 |
443† |
|
HTTPS | Publier uniquement | Certificat de client X.509 | 8443 | N/A |
HTTPS | Publier uniquement | Authentification personnalisée | 443 | N/A |
Négociation du protocole de la couche application (ALPN)
† Lors de l'utilisation de configurations de point de terminaison par défaut, les clients qui se connectent sur le port 443 avec l'authentification par certificat client X.509 doivent implémenter l'TLSextension Application Layer ALPN Protocol Negotiation (ALPN)ClientHello
message ALPN ProtocolNameList envoyé par le client.
Sur le port 443, le point de terminaison IoT:data- est compatible ALPN x-amzn-http-caHTTP, mais pas le point de ATS terminaison IoT:Jobs.
Sur le port 8443 HTTPS et le port 443 MQTT avec ALPN x-amzn-mqtt-ca, l'authentification personnalisée ne peut pas être utilisée.
Les clients se connectent aux terminaux Compte AWS de leurs appareils. Consultez la section AWS IoT données de l'appareil et points de terminaison de service pour plus d'informations sur la façon de trouver les points de terminaison de l'appareil de votre compte.
Note
AWS SDKsJe n'ai pas besoin de l'intégralitéURL. Ils ont uniquement besoin du nom d'hôte du point de terminaison, tel que l'pubsub.py
exemple pour AWS IoT Device SDK for Python on GitHub
Protocole |
Endpoint ou URL |
---|---|
MQTT |
|
MQTTterminé WSS |
|
HTTPS |
|
Choix d'un protocole d'application pour la communication de votre appareil
Pour la plupart des communications entre appareils IoT via les points de terminaison de l'appareil, vous devez utiliser les protocoles Secure MQTT ou MQTT over WebSocket Secure (WSS) ; toutefois, les points de terminaison de l'appareil sont également compatibles. HTTPS
Le tableau suivant compare l' AWS IoT Core utilisation des deux protocoles de haut niveau (MQTTetHTTPS) pour la communication entre appareils.
Fonctionnalité |
||
---|---|---|
Assistance pour la publication/abonnement |
Publication et d'abonnement |
Publier uniquement |
SDKsoutien |
AWS SDKsSupport des appareils MQTT et WSS protocoles |
Aucune SDK assistance, mais vous pouvez utiliser des méthodes spécifiques à la langue pour faire des demandes HTTPS |
Prise en charge de la qualité de service |
La QoS est prise en charge en transmettant un paramètre de chaîne de requête ?qos=qos dont la valeur peut être 0 ou 1. Vous pouvez ajouter cette chaîne de requête pour publier un message avec la valeur de QoS souhaitée. |
|
Les messages de réception peuvent-ils être manqués lorsque l'appareil était hors ligne | Oui | Non |
Soutien sur le terrain |
Oui |
Non |
Détection de déconnexion de l'appareil |
Oui |
Non |
Communications sécurisées |
Oui. Consultez Protocols, port mappings, and authentication (Protocoles, mappages de ports et authentification). |
Oui. Consultez Protocols, port mappings, and authentication (Protocoles, mappages de ports et authentification). |
Définitions de rubriques |
Application définie |
Application définie |
Format des données des messages |
Application définie |
Application définie |
Surcharge de protocole | Inférieur | Supérieur |
Consommation d’énergie | Inférieur | Supérieur |
Choix d'un type d'authentification pour les communications avec votre appareil
Vous pouvez configurer le type d'authentification pour votre point de terminaison IoT à l'aide de points de terminaison configurables. Vous pouvez également utiliser la configuration par défaut et déterminer comment vos appareils s'authentifient à l'aide d'une combinaison de protocole d'application, de port et d'ALPNTLSextension. Le type d'authentification que vous choisissez détermine la manière dont vos appareils s'authentifieront lors de la connexion à AWS IoT Core. Il existe cinq types d'authentification :
un certificat X.509
Authentifiez les appareils à l'aide de certificats clients X.509, qui AWS IoT Core valident l'authentification du périphérique. Ce type d'authentification fonctionne avec les HTTPS protocoles Secure MQTT (MQTToverTLS) et.
Certificat X.509 avec autorisateur personnalisé
Authentifiez les appareils à l'aide de certificats client X.509 et effectuez des actions d'authentification supplémentaires à l'aide d'un autorisateur personnalisé, qui recevra les informations du certificat client X.509. Ce type d'authentification fonctionne avec les HTTPS protocoles Secure MQTT (MQTToverTLS) et. Ce type d'authentification n'est possible qu'à l'aide de points de terminaison configurables avec l'authentification personnalisée X.509. Il n'y a aucune option ALPN.
AWS Version 4 de la signature (SigV4)
Authentifiez les appareils à l'aide de Cognito ou de votre service principal, en soutenant la fédération sociale et d'entreprise. Ce type d'authentification fonctionne avec les HTTPS protocoles MQTT over WebSocket Secure (WSS).
Autorisateur personnalisé
Authentifiez les appareils en configurant une fonction Lambda pour traiter les informations d'authentification personnalisées envoyées à. AWS IoT Core Ce type d'authentification fonctionne avec les protocoles Secure MQTT (MQTToverTLS) et MQTT over WebSocket Secure (WSS). HTTPS
Par défaut
Authentifiez les appareils en fonction du port et/ou de l'extension de négociation du protocole de couche d'application (ALPN) utilisés par les appareils. Certaines options d'authentification supplémentaires ne sont pas prises en charge. Pour de plus amples informations, veuillez consulter Protocols, port mappings, and authentication (Protocoles, mappages de ports et authentification).
Le tableau ci-dessous présente toutes les combinaisons de types d'authentification et de protocoles d'application prises en charge.
Type d’authentification | Sécurisé MQTT (MQTTsurTLS) | MQTTsur WebSocket Secure (WSS) | HTTPS | Par défaut |
---|---|---|---|---|
un certificat X.509 | ✓ | ✓ | ||
Certificat X.509 avec autorisateur personnalisé | ✓ | ✓ | ||
AWS Version 4 de la signature (SigV4) | ✓ | ✓ | ||
Autorisateur personnalisé | ✓ | ✓ | ✓ | |
Par défaut | ✓ | ✓ |
Limites de durée de connexion
HTTPSil n'est pas garanti que les connexions dureront plus longtemps que le temps nécessaire pour recevoir et répondre aux demandes.
MQTTla durée de la connexion dépend de la fonctionnalité d'authentification que vous utilisez. Le tableau suivant répertorie la durée maximale de connexion dans des conditions idéales pour chaque fonctionnalité.
Fonctionnalité |
Durée maximum * |
---|---|
Certificat de client X.509 |
1 à 2 semaines |
Authentification personnalisée |
1 à 2 semaines |
Signature Version 4 |
Jusqu'à 24 heures |
* Non garanti
Avec les certificats X.509 et l'authentification personnalisée, la durée de connexion n'est pas limitée, mais elle peut être aussi courte que quelques minutes. Ces erreurs peuvent se produire pour diverses raisons. La liste suivante contient certaines des raisons les plus courantes.
-
Interruptions de disponibilité du Wi-Fi
-
Interruptions de connexion du fournisseur d'accès à Internet (ISP)
-
Correctifs de service
-
Déploiements de services
-
Service Auto Scaling
-
Service hôte non disponible
-
Problèmes et mises à jour de l'équilibreur de charge
-
Erreurs côté du client
Vos appareils doivent mettre en œuvre des stratégies pour détecter les déconnexions et les reconnexions. Pour plus d'informations sur les événements de déconnexion et des conseils sur la façon de les gérer, consultez Événements de connexion/déconnexion àÉvénements du cycle de vie.