Configuration d'un nouveau périphérique principal V2 pour tester les applications V1 - AWS IoT Greengrass

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.

Configuration d'un nouveau périphérique principal V2 pour tester les applications V1

Configurez un nouveau périphérique AWS IoT Greengrass V2 principal pour déployer et tester les composants et les AWS Lambda fonctions AWS fournis pour vos AWS IoT Greengrass V1 applications. Vous pouvez également utiliser cet appareil principal V2 pour développer et tester des composants Greengrass personnalisés supplémentaires qui exécutent des processus natifs sur les appareils principaux. Après avoir testé vos applications sur un appareil principal V2, vous pouvez mettre à niveau vos appareils principaux V1 existants vers le V2 et déployer les composants V2 qui fournissent les fonctionnalités de votre V1.

Étape 1 : Installation AWS IoT Greengrass V2 sur un nouvel appareil

Installez le logiciel AWS IoT Greengrass Core v2.x sur un nouvel appareil. Vous pouvez suivre le didacticiel de démarrage pour configurer un appareil et apprendre à développer et à déployer des composants. Ce didacticiel utilise le provisionnement automatique pour configurer rapidement un appareil. Lorsque vous installez le logiciel AWS IoT Greengrass Core v2.x, spécifiez l'--deploy-dev-toolsargument pour déployer la CLI Greengrass, afin de pouvoir développer, tester et déboguer des composants directement sur le périphérique. Pour plus d'informations sur les autres options d'installation, notamment sur l'installation du logiciel AWS IoT Greengrass Core derrière un proxy ou à l'aide d'un module de sécurité matériel (HSM), consultezInstaller le logiciel AWS IoT Greengrass Core.

(Facultatif) Activer la connexion à Amazon CloudWatch Logs

Pour permettre à un appareil principal V2 de télécharger des CloudWatch journaux sur Amazon Logs, vous pouvez déployer le composant de gestionnaire de journaux AWS fourni. Vous pouvez utiliser CloudWatch les journaux pour consulter les journaux des composants, afin de pouvoir déboguer et résoudre les problèmes sans accéder au système de fichiers du périphérique principal. Pour de plus amples informations, veuillez consulter AWS IoT GreengrassJournaux de surveillance.

Étape 2 : créer et déployer des AWS IoT Greengrass V2 composants pour migrer AWS IoT Greengrass V1 des applications

Vous pouvez exécuter la plupart AWS IoT Greengrass V1 des applications sur AWS IoT Greengrass V2. Vous pouvez importer des fonctions Lambda en tant que composants qui s'exécutent sur AWS IoT Greengrass V2, et vous pouvez utiliser des composants AWS fournis qui offrent les mêmes fonctionnalités que les connecteurs. AWS IoT Greengrass

Vous pouvez également développer des composants personnalisés pour créer n'importe quelle fonctionnalité ou environnement d'exécution à exécuter sur les appareils principaux de Greengrass. Pour plus d'informations sur la façon de développer et de tester des composants localement, consultezCréation de AWS IoT Greengrass composants.

Importer les fonctions Lambda de la V1

Vous pouvez importer des fonctions Lambda en tant que AWS IoT Greengrass V2 composants. Choisissez l'une des approches suivantes :

  • Import V1 Lambda fonctionne directement en tant que composants Greengrass.

  • Mettez à jour vos fonctions Lambda pour utiliser les bibliothèques Greengrass de la Kit SDK des appareils AWS IoT version v2, puis importez les fonctions Lambda en tant que composants Greengrass.

  • Créez des composants personnalisés qui utilisent du code autre que Lambda et la Kit SDK des appareils AWS IoT version v2 pour implémenter les mêmes fonctionnalités que vos fonctions Lambda.

Si votre fonction Lambda utilise des fonctionnalités, telles que le gestionnaire de flux ou les secrets locaux, vous devez définir les dépendances sur les composants AWS fournis qui regroupent ces fonctionnalités. Lorsque vous déployez le composant de fonction Lambda, le déploiement inclut également le composant pour chaque fonctionnalité que vous définissez comme dépendance. Lors du déploiement, vous pouvez configurer des paramètres, tels que les secrets à déployer sur le périphérique principal. Toutes les fonctionnalités de la V1 ne nécessitent pas une dépendance de composant pour votre fonction Lambda sur la V2. La liste suivante décrit comment utiliser les fonctionnalités V1 dans votre composant de fonction Lambda V2.

  • Accédez à d'autres AWS services

    Si votre fonction Lambda utilise des AWS informations d'identification pour envoyer des demandes à d'autres AWS services, le rôle d'échange de jetons du périphérique principal doit permettre au périphérique principal d'effectuer les AWS opérations utilisées par la fonction Lambda. Pour de plus amples informations, veuillez consulter Autoriser les appareils principaux à interagir avec les AWS services.

  • Gestionnaire de flux

    Si votre fonction Lambda utilise le gestionnaire de flux, spécifiez-la aws.greengrass.StreamManager en tant que dépendance de composant lorsque vous importez la fonction. Lorsque vous déployez le composant du gestionnaire de flux, spécifiez les paramètres du gestionnaire de flux à définir pour les équipements principaux cibles. Le rôle d'échange de jetons du périphérique principal doit permettre à celui-ci d'accéder aux AWS Cloud destinations que vous utilisez avec le gestionnaire de flux. Pour de plus amples informations, veuillez consulter Gestionnaire de flux.

  • Secrets locaux

    Si votre fonction Lambda utilise des secrets locaux, spécifiez-les aws.greengrass.SecretManager comme dépendance de composant lorsque vous importez la fonction. Lorsque vous déployez le composant secret manager, spécifiez les ressources secrètes à déployer sur les équipements principaux cibles. Le rôle d'échange de jetons du périphérique principal doit permettre au périphérique principal de récupérer les ressources secrètes à déployer. Pour de plus amples informations, veuillez consulter Directeur secret.

    Lorsque vous déployez votre composant de fonction Lambda, configurez-le pour qu'il dispose d'une politique d'autorisation IPC qui autorise l'utilisation de l'opération GetSecretValue IPC dans la V2. Kit SDK des appareils AWS IoT

  • Ombres locales

    Si votre fonction Lambda interagit avec des ombres locales, vous devez mettre à jour le code de la fonction Lambda pour utiliser la V2. Kit SDK des appareils AWS IoT Vous devez également spécifier aws.greengrass.ShadowManager une dépendance de composant lorsque vous importez la fonction. Pour de plus amples informations, veuillez consulter Interagissez avec les ombres de l'appareil.

    Lorsque vous déployez votre composant de fonction Lambda, configurez-le pour qu'il dispose d'une politique d'autorisation IPC autorisant l'utilisation des opérations IPC parallèles dans la V2. Kit SDK des appareils AWS IoT

  • Abonnements

    • Si votre fonction Lambda s'abonne à des messages provenant d'une source cloud, spécifiez ces abonnements comme sources d'événements lorsque vous importez la fonction.

    • Si votre fonction Lambda s'abonne aux messages d'une autre fonction Lambda, ou si votre fonction Lambda publie des messages vers AWS IoT Core d'autres fonctions Lambda, configurez et déployez l'ancien composant routeur d'abonnement lorsque vous déployez votre fonction Lambda. Lorsque vous déployez l'ancien composant routeur d'abonnement, spécifiez les abonnements utilisés par la fonction Lambda.

      Note

      L'ancien composant routeur d'abonnement n'est requis que si votre fonction Lambda utilise la publish() fonction du SDK AWS IoT Greengrass Core. Si vous mettez à jour votre code de fonction Lambda pour utiliser l'interface de communication interprocessus (IPC) de la Kit SDK des appareils AWS IoT V2, vous n'avez pas besoin de déployer l'ancien composant routeur d'abonnement. Pour plus d'informations, consultez les services de communication interprocessus suivants :

    • Si votre fonction Lambda s'abonne à des messages provenant d'appareils connectés locaux, spécifiez ces abonnements comme sources d'événements lorsque vous importez la fonction. Vous devez également configurer et déployer le composant du pont MQTT pour relayer les messages des appareils connectés vers les rubriques locales de publication/d'abonnement que vous spécifiez comme sources d'événements.

    • Si votre fonction Lambda publie des messages sur des appareils connectés locaux, vous devez mettre à jour le code de la fonction Lambda pour utiliser la Kit SDK des appareils AWS IoT V2 pour publier des messages de publication/d'abonnement locaux. Vous devez également configurer et déployer le composant du pont MQTT pour relayer les messages du courtier de messages local de publication/d'abonnement vers les appareils connectés.

  • Volumes et appareils locaux

    Si votre fonction Lambda conteneurisée accède à des volumes ou appareils locaux, spécifiez ces volumes et appareils lorsque vous importez la fonction Lambda. Cette fonctionnalité ne nécessite pas de dépendance à un composant.

Pour de plus amples informations, veuillez consulter Exécuter AWS Lambda des fonctions.

Utiliser des connecteurs V1

Vous pouvez déployer des composants AWS fournis qui offrent les mêmes fonctionnalités que certains AWS IoT Greengrass connecteurs. Lorsque vous créez le déploiement, vous pouvez configurer les paramètres des connecteurs.

Les AWS IoT Greengrass V2 composants suivants fournissent les fonctionnalités du connecteur Greengrass V1 :

Exécuter des conteneurs Docker

AWS IoT Greengrass V2 ne fournit pas de composant pour remplacer directement le connecteur de déploiement d'applications Docker V1. Cependant, vous pouvez utiliser le composant du gestionnaire d'applications Docker pour télécharger des images Docker, puis créer des composants personnalisés qui exécutent des conteneurs Docker à partir des images téléchargées. Pour plus d’informations, consultez Exécuter un conteneur Docker et Gestionnaire d'applications Docker.

Exécuter une inférence d'apprentissage automatique

AWS IoT Greengrass V2 fournit un composant Amazon SageMaker Edge Manager qui installe l'agent Amazon SageMaker Edge Manager et vous permet d'utiliser des modèles SageMaker compilés par Neo comme composants de modèle sur les appareils principaux de Greengrass. AWS IoT Greengrass V2 fournit également des composants qui installent Deep Learning Runtime et TensorFlow Lite sur votre appareil. Vous pouvez utiliser le modèle DLR et TensorFlow Lite et les composants d'inférence correspondants pour effectuer une classification d'images d'échantillons et une inférence de détection d'objets. Pour utiliser d'autres frameworks d'apprentissage automatique, tels que MXnet et C TensorFlow, vous pouvez développer vos propres composants personnalisés utilisant ces frameworks.

Connectez les appareils Greengrass V1

Les appareils connectés en AWS IoT Greengrass V1 entrée sont appelés appareils clients en entrée AWS IoT Greengrass V2. AWS IoT Greengrass V2 la prise en charge des appareils clients est rétrocompatible avec AWS IoT Greengrass V1, de sorte que vous pouvez connecter les appareils clients V1 aux périphériques principaux V2 sans modifier leur code d'application. Pour permettre aux appareils clients de se connecter à un périphérique principal V2, déployez les composants Greengrass qui permettent la prise en charge des appareils clients et associez les appareils clients au périphérique principal. Pour relayer des messages entre les appareils clients, le service AWS IoT Core cloud et les composants de Greengrass (y compris les fonctions Lambda), déployez et configurez le composant de pont MQTT. Vous pouvez déployer le composant de détection IP pour détecter automatiquement les informations de connectivité, ou vous pouvez gérer manuellement les points de terminaison. Pour de plus amples informations, veuillez consulter Interagissez avec les appareils IoT locaux.

Activer le service parallèle local

Dans AWS IoT Greengrass V2, le service parallèle local est implémenté par le composant shadow manager AWS fourni. AWS IoT Greengrass V2 inclut également le support pour les ombres nommées. Pour permettre à vos composants d'interagir avec les ombres locales et de synchroniser les états des ombres avec celles-ci AWS IoT Core, configurez et déployez le composant Shadow Manager, et utilisez les opérations IPC des ombres dans le code de votre composant. Pour de plus amples informations, veuillez consulter Interagissez avec les ombres de l'appareil.

Intégrez avec AWS IoT SiteWise

Si vous utilisez votre périphérique principal V1 comme AWS IoT SiteWise passerelle, suivez les instructions pour configurer votre nouveau périphérique principal V2 en tant que AWS IoT SiteWise passerelle. AWS IoT SiteWise fournit un script d'installation qui déploie les AWS IoT SiteWise composants pour vous.

Étape 3 : Testez vos AWS IoT Greengrass V2 applications

Après avoir créé et déployé les composants V2 sur votre nouveau périphérique principal V2, vérifiez que vos applications répondent à vos attentes. Vous pouvez consulter les journaux du périphérique pour voir les messages de sortie standard (stdout) et d'erreur standard (stderr) de vos composants. Pour de plus amples informations, veuillez consulter AWS IoT GreengrassJournaux de surveillance.

Si vous avez déployé la CLI Greengrass sur le périphérique principal, vous pouvez l'utiliser pour déboguer les composants et leurs configurations. Pour de plus amples informations, veuillez consulter Commandes Greengrass CLI.

Après avoir vérifié que vos applications fonctionnent sur un appareil principal V2, vous pouvez déployer les composants Greengrass de votre application sur d'autres appareils principaux. Si vous avez développé des composants personnalisés qui exécutent des processus natifs ou des conteneurs Docker, vous devez d'abord publier ces composants sur le AWS IoT Greengrass service pour les déployer sur d'autres appareils principaux.