Déployer AWS IoT Greengrass des composants sur des appareils - 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.

Déployer AWS IoT Greengrass des composants sur des appareils

Vous pouvez l'utiliser AWS IoT Greengrass pour déployer des composants sur des appareils ou des groupes d'appareils. Vous utilisez les déploiements pour définir les composants et les configurations qui sont envoyés aux appareils. AWS IoT Greengrassse déploie sur des cibles, des AWS IoT objets ou des groupes d'objets qui représentent les principaux appareils de Greengrass. AWS IoT Greengrassutilise des AWS IoT Coretâches pour les déployer sur vos appareils principaux. Vous pouvez configurer le mode de déploiement de la tâche sur vos appareils.

Déploiements d'appareils principaux

Chaque périphérique principal exécute les composants des déploiements pour cet appareil. Un nouveau déploiement vers la même cible remplace le déploiement précédent vers la cible. Lorsque vous créez un déploiement, vous définissez les composants et les configurations à appliquer au logiciel existant du périphérique principal.

Lorsque vous révisez un déploiement pour une cible, vous remplacez les composants de la version précédente par ceux de la nouvelle révision. Par exemple, vous déployez les Directeur secret composants Gestionnaire de journaux et dans le groupe d'objetsTestGroup. Ensuite, vous créez un autre déploiement pour TestGroup lequel seul le composant du gestionnaire de secrets est spécifié. Par conséquent, les appareils principaux de ce groupe n'exécutent plus le gestionnaire de journaux.

Résolution des dépendances entre plateformes

Lorsqu'un périphérique principal reçoit un déploiement, il vérifie que les composants sont compatibles avec le périphérique principal. Par exemple, si vous déployez Firehose le sur une cible Windows, le déploiement échouera.

Résolution de dépendance des composants

Le périphérique principal vérifie également si les dépendances de chaque composant sont compatibles avec les contraintes de version pour les déploiements d'autres composants dans ce groupe d'objets. Lorsque les contraintes de version d'un composant se chevauchent, Greengrass utilise la version la plus élevée applicable du composant. Par exemple :

  • Vous déployez le composant A surTestGroup. Le composant A dépend des com.example.PythonRuntime versions 3.5 à 3.10 du composant.

  • Vous déployez ensuite le composant B surTestGroup. Le composant B dépend des com.example.PythonRuntime versions 3.7 à 3.8 du composant.

Par conséquent, les appareils principaux TestGroup déterminent qu'ils peuvent déployer la version 3.8 du com.example.PythonRuntime composant, car cette version est la version la plus élevée applicable où les contraintes de version se chevauchent.

Dépendances des composants, par exemple des composants.

Vous déployez ensuite le composant C surTestGroup. Le composant C dépend des com.example.PythonRuntime versions 2.6 à 2.7 du composant. Ce déploiement échoue car aucune version du composant ne répond aux contraintes 2.6 - 2.7 et 3.7 - 3.8.

Dépendances des composants qui entraînent un échec du déploiement.

Supprimer un appareil d'un groupe d'objets

Lorsque vous supprimez un périphérique principal d'un groupe d'objets, le comportement de déploiement du composant dépend de la version du noyau Greengrass que le périphérique principal exécute.

2.5.1 and later

Lorsque vous supprimez un appareil principal d'un groupe d'objets, le comportement dépend de l'greengrass:ListThingGroupsForCoreDeviceautorisation accordée ou non par la AWS IoT politique. Pour plus d'informations sur cette autorisation et AWS IoT les politiques relatives aux appareils principaux, consultezAuthentification et autorisation d'appareil pour AWS IoT Greengrass.

  • Si la AWS IoT politique accorde cette autorisation

    Lorsque vous supprimez un appareil principal d'un groupe d'objets, AWS IoT Greengrass les composants du groupe d'objets seront supprimés lors du prochain déploiement sur l'appareil. Si un composant de l'appareil est inclus dans le déploiement suivant, ce composant n'est pas supprimé de l'appareil.

  • Si la AWS IoT politique n'accorde pas cette autorisation

    Lorsque vous supprimez un appareil principal d'un groupe d'objets, les composants de ce groupe d'objets AWS IoT Greengrass ne sont pas supprimés de l'appareil.

    Pour supprimer un composant d'un appareil, utilisez la commande deployment create de la CLI Greengrass. Spécifiez le composant à supprimer avec l'--removeargument, et spécifiez le groupe d'objets avec l'--groupIdargument.

2.5.0

Lorsque vous supprimez un appareil principal d'un groupe d'objets, AWS IoT Greengrass les composants du groupe d'objets seront supprimés lors du prochain déploiement sur l'appareil. Si un composant de l'appareil est inclus dans le déploiement suivant, ce composant n'est pas supprimé de l'appareil.

Ce comportement nécessite que la AWS IoT politique du périphérique principal accorde l'greengrass:ListThingGroupsForCoreDeviceautorisation. Si un appareil principal ne dispose pas de cette autorisation, il ne parvient pas à appliquer les déploiements. Pour plus d’informations, consultez Authentification et autorisation d'appareil pour AWS IoT Greengrass.

2.0.x - 2.4.x

Lorsque vous supprimez un appareil principal d'un groupe d'objets, les composants de ce groupe d'objets AWS IoT Greengrass ne sont pas supprimés de l'appareil.

Pour supprimer un composant d'un appareil, utilisez la commande deployment create de la CLI Greengrass. Spécifiez le composant à supprimer avec l'--removeargument, et spécifiez le groupe d'objets avec l'--groupIdargument.

Déploiements

Les déploiements sont continus. Lorsque vous créez un déploiement, AWS IoT Greengrass déployez-le sur les appareils cibles qui sont en ligne. Si une machine cible n'est pas en ligne, elle recevra le déploiement lors de sa prochaine connexionAWS IoT Greengrass. Lorsque vous ajoutez un appareil principal à un groupe d'objets cible, AWS IoT Greengrass envoie à l'appareil le dernier déploiement pour ce groupe d'objets.

Avant qu'un périphérique principal ne déploie un composant, il notifie par défaut chaque composant du périphérique. Les composants Greengrass peuvent répondre à la notification pour différer le déploiement. Vous souhaiterez peut-être différer le déploiement si le niveau de batterie de l'appareil est faible ou s'il exécute un processus qui ne peut pas être interrompu. Pour plus d’informations, consultez Tutoriel : Développement d'un composant Greengrass qui reporte les mises à jour des composants. Lorsque vous créez un déploiement, vous pouvez le configurer pour qu'il soit déployé sans avertir les composants.

Chaque objet ou groupe d'objets cible peut faire l'objet d'un déploiement à la fois. Cela signifie que lorsque vous créez un déploiement pour une cible, la version précédente du déploiement de cette cible AWS IoT Greengrass ne sera plus déployée.

Options de déploiement

Les déploiements proposent plusieurs options qui vous permettent de contrôler quels appareils reçoivent une mise à jour et comment la mise à jour est déployée. Lorsque vous créez un déploiement, vous pouvez configurer les options suivantes :

  • AWS IoT Greengrasscomposants

    Définissez les composants à installer et à exécuter sur les équipements cibles. AWS IoT Greengrassles composants sont des modules logiciels que vous déployez et exécutez sur les appareils principaux de Greengrass. Les appareils reçoivent des composants uniquement s'ils sont compatibles avec la plate-forme de l'appareil. Cela vous permet de déployer sur des groupes d'appareils même si les appareils cibles fonctionnent sur plusieurs plateformes. Si un composant ne prend pas en charge la plate-forme de l'appareil, il n'est pas déployé sur l'appareil.

    Vous pouvez déployer des composants personnalisés et des composants AWS fournis sur vos appareils. Lorsque vous déployez un composant, AWS IoT Greengrass identifiez toutes les dépendances des composants et déployez-les également. Pour plus d’informations, consultez Développer des AWS IoT Greengrass composants et AWS-composants fournis.

    Vous définissez la version et la mise à jour de configuration à déployer pour chaque composant. La mise à jour de configuration indique comment modifier la configuration existante du composant sur le périphérique principal, ou la configuration par défaut du composant si le composant n'existe pas sur le périphérique principal. Vous pouvez spécifier les valeurs de configuration à rétablir aux valeurs par défaut et les nouvelles valeurs de configuration à fusionner sur le périphérique principal. Lorsqu'un périphérique principal reçoit des déploiements pour différentes cibles et que chaque déploiement spécifie des versions de composants compatibles, le périphérique principal applique les mises à jour de configuration dans l'ordre en fonction de l'horodatage du moment où vous créez le déploiement. Pour plus d’informations, consultez Mettre à jour les configurations des composants.

    Important

    Lorsque vous déployez un composant, AWS IoT Greengrass installe les dernières versions prises en charge de toutes les dépendances de ce composant. De ce fait, les nouvelles versions de correctif des composants publics AWS fournis peuvent être automatiquement déployées sur vos appareils principaux si vous ajoutez de nouveaux appareils à un groupe d'objets ou si vous mettez à jour le déploiement qui cible ces appareils. Certaines mises à jour automatiques, telles que la mise à jour du noyau, peuvent provoquer le redémarrage inattendu de vos appareils.

    Pour éviter les mises à jour involontaires d'un composant en cours d'exécution sur votre appareil, nous vous recommandons d'inclure directement votre version préférée de ce composant lorsque vous créez un déploiement. Pour plus d'informations sur le comportement de mise à jour du logiciel AWS IoT Greengrass Core, consultezMettre à jour le logiciel AWS IoT Greengrass principal (OTA).

  • Politiques de déploiement

    Définissez à quel moment il est possible de déployer une configuration en toute sécurité et ce qu'il convient de faire en cas d'échec du déploiement. Vous pouvez indiquer s'il faut attendre ou non que les composants signalent qu'ils peuvent être mis à jour. Vous pouvez également spécifier s'il convient ou non de rétablir la configuration précédente des appareils s'ils appliquent un déploiement qui échoue.

  • Arrêter la configuration

    Définissez quand et comment arrêter un déploiement. Le déploiement s'arrête et échoue si les critères que vous définissez sont remplis. Par exemple, vous pouvez configurer un déploiement pour qu'il s'arrête si un pourcentage d'appareils n'applique pas ce déploiement après qu'un nombre minimum d'appareils l'aient reçu.

  • Configuration du déploiement

    Définissez la vitesse à laquelle un déploiement est déployé sur les équipements cibles. Vous pouvez configurer une augmentation exponentielle du taux avec des limites de taux minimum et maximum.

  • Configuration du délai d'expiration

    Définissez le délai maximal dont dispose chaque appareil pour effectuer un déploiement. Si un appareil dépasse la durée que vous spécifiez, il ne parvient pas à appliquer le déploiement.

Important

Les composants personnalisés peuvent définir des artefacts dans des compartiments S3. Lorsque le logiciel AWS IoT Greengrass Core déploie un composant, il télécharge les artefacts du composant depuis leAWS Cloud. Les rôles principaux des appareils n'autorisent pas l'accès aux compartiments S3 par défaut. Pour déployer des composants personnalisés qui définissent des artefacts dans un compartiment S3, le rôle principal du périphérique doit accorder des autorisations pour télécharger des artefacts depuis ce compartiment. Pour plus d'informations, consultez Autoriser l'accès aux compartiments S3 pour les artefacts des composants.