Gestion des flux de données sur AWS IoT Greengrass Core - AWS IoT Greengrass

AWS IoT Greengrass Version 1 est entré dans la phase de durée de vie prolongée le 30 juin 2023. Pour plus d'informations, consultez la politique de AWS IoT Greengrass V1 maintenance. Après cette date, AWS IoT Greengrass V1 ne publiera pas de mises à jour fournissant des fonctionnalités, des améliorations, des corrections de bogues ou des correctifs de sécurité. Les appareils qui fonctionnent AWS IoT Greengrass V1 sous tension ne seront pas perturbés et continueront à fonctionner et à se connecter au cloud. Nous vous recommandons vivement de migrer vers AWS IoT Greengrass Version 2, qui ajoute de nouvelles fonctionnalités importantes et prend en charge des plateformes supplémentaires.

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.

Gestion des flux de données sur AWS IoT Greengrass Core

AWS IoT Greengrassle gestionnaire de flux facilite et fiabilise le transfert de données IoT à volume élevé vers leAWS Cloud. Le gestionnaire de flux traite les flux de données localement et les exporte vers leAWS Cloudautomatiquement. Cette fonctionnalité s'intègre à des scénarios courants, tels que l'inférence de Machine Learning (ML), dans lequel les données sont traitées et analysées localement avant d'être exportées vers leAWS Cloudou des destinations de stockage locales.

Le gestionnaire de flux simplifie le développement d'applications. Vos applications IoT peuvent utiliser un mécanisme standardisé pour traiter les flux à volume élevé et gérer les stratégies de conservation des données locales au lieu de créer des fonctionnalités de gestion des flux personnalisées. Les applications IoT peuvent lire et écrire dans des flux. Elles peuvent définir des stratégies pour le type et la taille du stockage, ainsi que pour la conservation des données par flux afin de contrôler la façon dont le gestionnaire de flux traite et exporte les flux.

Le gestionnaire de flux est conçu pour fonctionner dans des environnements à connectivité intermittente ou limitée. Vous pouvez définir l'utilisation de la bande passante, le comportement du délai d'expiration et la façon dont les données du flux sont traitées lorsque le noyau est connecté ou déconnecté. Pour les données critiques, vous pouvez définir des priorités afin de contrôler l'ordre d'exportation des flux vers leAWS Cloud.

Vous pouvez configurer les exportations automatiques vers leAWS Cloudpour le stockage ou le traitement et l'analyse ultérieurs. Stream Manager prend en charge l'exportation vers les éléments suivantsAWS CloudDestinations.

  • Canaux dansAWS IoT Analytics.AWS IoT Analyticsvous permet d'effectuer des analyses avancées de vos données pour aider à prendre des décisions commerciales et à améliorer les modèles d'apprentissage automatique. Pour de plus amples informations, veuillez consulterPrésentation d'AWS IoT Analytics?dans leAWS IoT AnalyticsGuide de l'utilisateur.

  • Flux dans Kinesis Data Streams. Kinesis Data Streams est couramment utilisé pour agréger des données à volume élevé et les charger dans un entrepôt de données ou un cluster de réduction de mappe. Pour de plus amples informations, veuillez consulterPrésentation de Amazon Kinesis Data Streamsdans leManuel du développeur Amazon Kinesis.

  • Propriétés des ressources dansAWS IoT SiteWise.AWS IoT SiteWisevous permet de collecter, d'organiser et d'analyser à grande échelle les données provenant d'équipements industriels. Pour de plus amples informations, veuillez consulterPrésentation d'AWS IoT SiteWise?dans leAWS IoT SiteWiseGuide de l'utilisateur.

  • Objets dans Amazon S3. Vous pouvez utiliser Amazon S3 pour stocker et récupérer de grandes quantités de données. Pour de plus amples informations, veuillez consulterQu'est-ce qu'Amazon S3 ?dans leManuel du développeur Amazon Simple Storage Service.

Flux de travail de gestion des flux

Vos applications IoT interagissent avec le gestionnaire de flux via leAWS IoT GreengrassKit SDK Core. Dans un flux de travail simple, une fonction Lambda définie par l'utilisateur et s'exécutant sur le noyau de Greengrass consomme des données IoT, telles que les mesures de température et de pression sous forme de séries chronologiques. La fonction Lambda peut filtrer ou compresser les données, puis appeler leAWS IoT GreengrassKit SDK Core pour écrire les données dans un flux dans le gestionnaire de flux. Le gestionnaire de flux peut exporter le flux vers leAWS Cloudautomatiquement, en fonction des stratégies définies pour le flux. Les fonctions Lambda définies par l'utilisateur peuvent également envoyer des données directement aux bases de données locales ou aux référentiels de stockage locaux.

Vos applications IoT peuvent inclure plusieurs fonctions Lambda définies par l'utilisateur qui lisent ou écrivent dans des flux. Ces fonctions Lambda locales peuvent lire et écrire dans des flux afin de filtrer, d'agréger et d'analyser les données localement. Cela permet de répondre rapidement aux événements locaux et d'extraire des informations précieuses avant que les données ne soient transférées du noyau vers le cloud ou vers des destinations locales.

Le diagramme suivant présente un exemple de flux de travail.

Diagramme du flux de travail du gestionnaire de flux.

Pour utiliser le gestionnaire de flux, commencez par configurer les paramètres du gestionnaire de flux afin de définir les paramètres d'exécution au niveau du groupe qui s'appliquent à tous les flux du cœur de Greengrass. Ces paramètres personnalisables vous permettent de contrôler la manière dont le gestionnaire de flux stocke, traite et exporte les flux en fonction des besoins de votre entreprise et des contraintes de votre environnement. Pour plus d'informations, consultez Configuration du gestionnaire de flux AWS IoT Greengrass.

Une fois que vous avez configuré Stream Manager, vous pouvez créer et déployer vos applications IoT. Il s'agit généralement de fonctions Lambda définies par l'utilisateur qui utilisentStreamManagerClientdans leAWS IoT GreengrassKit SDK Core pour créer des flux et interagir avec ces derniers. Lors de la création de flux, la fonction Lambda définit des stratégies par flux, telles que les destinations d'exportation, la priorité et la persistance. Pour en savoir plus, notamment sur les extraits de code pourStreamManagerClient, consultezUtiliser StreamManagerClient pour travailler avec des flux.

Pour obtenir des didacticiels qui configurent un flux de travail simple, consultezExportation de flux de données versAWS Cloud(console)ouExportation de flux de données vers leAWS Cloud(CLI).

Prérequis

Les conditions requises suivantes s'appliquent pour utiliser le gestionnaire de flux :

  • Vous devez utiliserAWS IoT GreengrassLogiciel de base v1.10 ou version ultérieure, avec le gestionnaire de flux activé. Pour plus d'informations, consultez Configuration du gestionnaire de flux AWS IoT Greengrass.

    Le gestionnaire de flux n'est pas pris en charge sur OpenWrt distributions.

  • L'environnement d'exécution Java 8 (JDK 8) doit être installé sur le noyau.

    • Pour les distributions basées sur Debian (y compris Raspbian) ou Ubuntu, exécutez la commande suivante :

      sudo apt install openjdk-8-jdk
    • Pour les distributions basées sur Red Hat (y compris Amazon Linux), exécutez la commande suivante :

      sudo yum install java-1.8.0-openjdk

      Pour de plus amples informations, veuillez consulter How to download and install prebuilt OpenJDK packages sur le site web OpenJDK.

     

  • Le gestionnaire de flux nécessite un minimum de 70 Mo de RAM en plus de votre logiciel AWS IoT Greengrass Core de base. Vos besoins totaux en mémoire dépendent de votre charge de travail.

     

  • Les fonctions Lambda définies par l'utilisateur doivent utiliser leAWS IoT GreengrassKit SDK Corepour interagir avec le gestionnaire de flux. LeAWS IoT GreengrassLe kit SDK Core est disponible en plusieurs langues, mais seules les versions suivantes prennent en charge les opérations du gestionnaire de flux :

    • Kit SDK Java (v1.4.0 ou version ultérieure)

    • Kit SDK Python (v1.5.0 ou version ultérieure)

    • Kit SDK Node.js (v1.6.0 ou version ultérieure)

    Téléchargez la version du kit SDK qui correspond à l'environnement d'exécution de votre fonction Lambda et incluez-la dans votre package de déploiement de votre fonction Lambda.

    Note

    LeAWS IoT GreengrassLe kit SDK Core pour Python nécessite Python 3.7 ou version ultérieure et a d'autres dépendances en matière de package. Pour de plus amples informations, veuillez consulterCréer un package de déploiement de votre fonction Lambda (console)ouCréation d'un package de déploiement de fonction Lambda (CLI).

  • Si vous définissezAWS CloudDestinations d'exportation pour un flux, vous devez créer vos cibles d'exportation et accorder des autorisations d'accès dans le rôle de groupe Greengrass. Selon la destination, d'autres exigences peuvent également s'appliquer. Pour plus d'informations, consultez :

    Vous êtes responsable de la maintenance de cesAWS CloudAWS.

Sécurité des données

Lorsque vous utilisez le gestionnaire de flux, tenez compte des considérations de sécurité suivantes.

Sécurité des données locales

AWS IoT Greengrass ne chiffre pas les données de flux au repos ou en transit localement entre les composants de l'appareil principal.

  • Données au repos. Les données de flux sont stockées localement dans un répertoire de stockage sur le noyau de Greengrass. Pour la sécurité des données, AWS IoT Greengrass s'appuie sur les autorisations de fichier Unix et sur le chiffrement intégral du disque, si cette option est activée. Vous pouvez utiliser le paramètre facultatif STREAM_MANAGER_STORE_ROOT_DIR pour spécifier le répertoire de stockage. Si vous modifiez ce paramètre ultérieurement pour utiliser un répertoire de stockage différent, AWS IoT Greengrass ne supprime pas le répertoire de stockage précédent ni son contenu.

     

  • Données en transit local.AWS IoT Greengrassne chiffre pas les données de flux en transit local sur le noyau entre les sources de données, les fonctions Lambda, leAWS IoT GreengrassSDK principal et gestionnaire de flux.

     

  • Données en transit vers leAWS Cloud. Flux de données exportés par le gestionnaire de flux vers leAWS CloudUtilisation standardAWSle chiffrement du client de service avec Transport Layer Security (TLS).

Pour plus d'informations, consultez Chiffrement des données.

Authentification client

Les clients du gestionnaire de flux utilisent leAWS IoT GreengrassKit SDK Core pour communiquer avec le gestionnaire de flux. Lorsque l'authentification client est activée, seules les fonctions Lambda du groupe Greengrass peuvent interagir avec les flux du gestionnaire de flux. Lorsque l'authentification client est désactivée, tout processus s'exécutant sur le noyau Greengrass (tels que les conteneurs Docker) peut interagir avec les flux du gestionnaire de flux. Vous ne devez désactiver l'authentification que si votre analyse de rentabilisation l'exige.

Vous utilisez le paramètre STREAM_MANAGER_AUTHENTICATE_CLIENT pour définir le mode d'authentification du client. Vous pouvez configurer ce paramètre à partir de la console ou de l'API AWS IoT Greengrass. Les modifications prennent effet après le déploiement du groupe.

  Enabled Désactivé

Valeur de paramètre

true (valeur par défaut et recommandée)

false

Clients autorisés

Fonctions Lambda définies par l'utilisateur dans le groupe Greengrass

Fonctions Lambda définies par l'utilisateur dans le groupe Greengrass

Autres processus en cours d'exécution sur l'appareil principal Greengrass

Consulter aussi