Configuration d'une instance Amazon EC2 - 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.

Configuration d'une instance Amazon EC2

Suivez les étapes décrites dans cette rubrique pour configurer une instance Amazon EC2 à utiliser comme instance principale. AWS IoT Greengrass

Astuce

Ou, pour utiliser un script qui configure votre environnement et installe le logiciel AWS IoT Greengrass Core pour vous, voirDémarrage rapide : Configuration de l'appareil Greengrass.

Bien que vous puissiez suivre ce didacticiel à l'aide d'une instance Amazon EC2, AWS IoT Greengrass il doit idéalement être utilisé avec du matériel physique. Nous vous recommandons de configurer un Raspberry Pi au lieu d'utiliser une instance Amazon EC2 lorsque cela est possible. Si vous utilisez un Raspberry Pi, vous n'avez pas besoin de suivre les étapes de cette rubrique.

 

  1. Connectez-vous à l'instance Amazon EC2 AWS Management Consoleet lancez-la à l'aide d'une AMI Amazon Linux. Pour plus d'informations sur les instances Amazon EC2, consultez le guide de démarrage Amazon EC2.

  2. Une fois que votre instance Amazon EC2 est en cours d'exécution, activez le port 8883 pour autoriser les communications MQTT entrantes afin que d'autres appareils puissent se connecter au cœur. AWS IoT Greengrass

    1. Dans le volet de navigation de la console Amazon EC2, sélectionnez Security Groups.

      Volet de navigation avec groupes de sécurité surlignés.
    2. Sélectionnez le groupe de sécurité pour l'instance que vous venez de lancer, puis cliquez sur l'onglet Règles d'entrée.

    3. Choisissez Modifier les règles entrantes.

      Pour activer le port 8883, vous devez ajouter une règle TCP personnalisée au groupe de sécurité. Pour plus d'informations, consultez la section Ajout de règles à un groupe de sécurité dans le guide de l'utilisateur Amazon EC2.

    4. Sur la page Modifier les règles entrantes, choisissez Ajouter une règle, entrez les paramètres suivants, puis sélectionnez Enregistrer.

      • Pour Type, choisissez Règle TCP personnalisée.

      • Dans Portée de ports, entrez8883.

      • Pour Source, choisissez N'importe où.

      • Pour Description, saisissez MQTT Communications.

       

  3. Connectez-vous à votre instance EC2 Amazon.

    1. Dans le panneau de navigation, choisissez Instances, puis sélectionnez votre instance et choisissez Connexion.

    2. Suivez les instructions de la page Connectez-vous à votre instance pour vous connecter à votre instance l'aide de SSH et de votre fichier de clé privée.

    Vous pouvez utiliser PuTTY pour Windows ou Terminal pour macOS. Pour plus d'informations, consultez Connect to your Linux instance dans le guide de l'utilisateur Amazon EC2.

    Vous êtes maintenant prêt à configurer votre instance Amazon EC2 pour. AWS IoT Greengrass

  4. Une fois connecté à votre instance Amazon EC2, créez les comptes ggc_user et ggc_group :

    sudo adduser --system ggc_user sudo groupadd --system ggc_group
    Note

    Si la commande adduser n'est pas disponible sur votre système, utilisez la commande suivante.

    sudo useradd --system ggc_user
  5. Pour améliorer la sécurité, assurez-vous que les protections des liens physiques et des liens souples (liens symboliques) sont activées sur le système d'exploitation de l'instance Amazon EC2 au démarrage.

    Note

    Les étapes permettant d'activer les protections hardlink et softlink varient selon le système d'exploitation. Consultez la documentation de votre distribution.

    1. Exécutez la commande suivante pour vérifier si les protections hardlink et softlink sont activées :

      sudo sysctl -a | grep fs.protected

      Si les protections hardlink et softlinks sont définies sur 1, vos protections sont correctement activées. Passez à l'étape 6.

      Note

      Les protections softlink sont représentées par fs.protected_symlinks.

    2. Si les protections hardlink et softlink ne sont pas définies sur 1, activez ces protections. Accédez au fichier de configuration du système.

      cd /etc/sysctl.d ls
    3. À l'aide de l'éditeur de texte de votre choix (tel que Leafpad, GNU nano ou vi), ajoutez les deux lignes suivantes à la fin du fichier de configuration du système. Sur Amazon Linux 1, il s'agit du fichier 00-defaults.conf. Sur Amazon Linux 2, il s'agit du fichier 99-amazon.conf. Vous devrez peut-être modifier les autorisations du fichier (à l'aide de la commande chmod) afin de pouvoir écrire sur ce fichier, ou utiliser la commande sudo pour le modifier en tant qu'utilisateur racine (par exemple, sudo nano 00-defaults.conf).

      fs.protected_hardlinks = 1 fs.protected_symlinks = 1
    4. Redémarrez l'instance Amazon EC2.

      sudo reboot

      Après quelques minutes, connectez-vous à votre instance à l'aide de SSH, puis exécutez la commande suivante pour confirmer la modification.

      sudo sysctl -a | grep fs.protected

      Vous devriez voir que les protections hardlink et softlink sont définies avec la valeur 1.

  6. Extrayez et exécutez le script suivant pour monter les groupes de contrôle Linux (cgroups). Cela permet AWS IoT Greengrass de définir la limite de mémoire pour les fonctions Lambda. Les groupes C doivent également s'exécuter AWS IoT Greengrass dans le mode de conteneurisation par défaut.

    curl https://raw.githubusercontent.com/tianon/cgroupfs-mount/951c38ee8d802330454bdede20d85ec1c0f8d312/cgroupfs-mount > cgroupfs-mount.sh chmod +x cgroupfs-mount.sh sudo bash ./cgroupfs-mount.sh

    Votre instance Amazon EC2 devrait maintenant être prête pour. AWS IoT Greengrass

  7. Facultatif. Installez l'environnement d'exécution Java 8, qui est requis par le gestionnaire de flux. Ce didacticiel n'utilise pas le gestionnaire de flux, mais il utilise le flux de travail Default Group creation (Création du groupe par défaut) qui active le gestionnaire de flux par défaut. Utilisez les commandes suivantes pour installer l'environnement d'exécution Java 8 sur l'appareil principal, ou désactivez le gestionnaire de flux avant de déployer votre groupe. Les instructions permettant de désactiver le gestionnaire de flux sont fournies dans le module 3.

    • Pour les distributions basées sur Debian :

      sudo apt install openjdk-8-jdk
    • Pour les distributions basées sur Red Hat :

      sudo yum install java-1.8.0-openjdk
  8. Pour vous assurer que vous disposez de toutes les dépendances requises, téléchargez et exécutez le vérificateur de dépendances Greengrass depuis le référentiel AWS IoT Greengrass Samples. GitHub Ces commandes téléchargent, décompressent et exécutent le script de vérification des dépendances dans votre instance Amazon EC2.

    mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo ./check_ggc_dependencies | more
    Important

    Ce didacticiel nécessite le moteur d'exécution Python 3.7 pour exécuter les fonctions Lambda locales. Lorsque le gestionnaire de flux est activé, il a également besoin de l'environnement d'exécution Java 8. Si le script check_ggc_dependencies génère des avertissements concernant des environnements d'exécution prérequis manquants, veillez à installer ces environnements d'exécution avant de continuer. Vous pouvez ignorer les avertissements concernant d'autres environnements d'exécution facultatifs manquants.

La configuration de votre instance Amazon EC2 est terminée. Passez au Module 2 : Installation deAWS IoT GreengrassLogiciel Core.