Installez le logiciel AWS IoT Greengrass Core avec un provisionnement personnalisé des ressources - 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.

Installez le logiciel AWS IoT Greengrass Core avec un provisionnement personnalisé des ressources

Cette fonctionnalité est disponible pour les versions 2.4.0 et ultérieures du composant Greengrass nucleus.

Le programme d'installation du logiciel AWS IoT Greengrass Core fournit une interface Java que vous pouvez implémenter dans un plugin personnalisé qui fournit les AWS ressources nécessaires. Vous pouvez développer un plug-in de provisionnement pour utiliser des certificats clients X.509 personnalisés ou pour exécuter des étapes de provisionnement complexes non prises en charge par d'autres processus d'installation. Pour plus d'informations, consultez la section Création de vos propres certificats clients dans le Guide du AWS IoT Core développeur.

Pour exécuter un plug-in de provisionnement personnalisé lorsque vous installez le logiciel AWS IoT Greengrass Core, vous devez créer un fichier JAR que vous fournissez au programme d'installation. Le programme d'installation exécute le plug-in, qui renvoie une configuration d'approvisionnement qui définit les AWS ressources pour le périphérique principal de Greengrass. Le programme d'installation utilise ces informations pour configurer le logiciel AWS IoT Greengrass Core sur l'appareil. Pour plus d’informations, consultez Développer des plugins de provisioning personnalisés.

Important

Avant de télécharger le logiciel AWS IoT Greengrass Core, vérifiez que votre appareil principal répond aux exigences pour installer et exécuter le logiciel AWS IoT Greengrass Core v2.0.

Prérequis

Pour installer le logiciel AWS IoT Greengrass Core avec un provisionnement personnalisé, vous devez disposer des éléments suivants :

  • Un fichier JAR pour un plugin de provisionnement personnalisé qui implémente leDeviceIdentityInterface. Le plug-in de provisionnement personnalisé doit renvoyer des valeurs pour chaque paramètre de configuration du système et du noyau. Dans le cas contraire, vous devez fournir ces valeurs dans le fichier de configuration lors de l'installation. Pour plus d’informations, consultez Développer des plugins de provisioning personnalisés.

Configuration de l'environnement de l'appareil

Suivez les étapes décrites dans cette section pour configurer un appareil Linux ou Windows à utiliser comme périphérique AWS IoT Greengrass principal.

Configuration d'un appareil Linux

Pour configurer un appareil Linux pour AWS IoT Greengrass V2
  1. Installez le moteur d'exécution Java, dont le logiciel AWS IoT Greengrass Core a besoin pour fonctionner. Nous vous recommandons d'utiliser les versions de support à long terme d'Amazon Corretto ou d'OpenJDK. La version 8 ou supérieure est requise. Les commandes suivantes vous montrent comment installer OpenJDK sur votre appareil.

    • Pour les distributions basées sur Debian ou Ubuntu :

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

      sudo yum install java-11-openjdk-devel
    • Dans Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11
    • Pour Amazon Linux 2023 :

      sudo dnf install java-11-amazon-corretto -y

    Lorsque l'installation est terminée, exécutez la commande suivante pour vérifier que Java s'exécute sur votre appareil Linux.

    java -version

    La commande affiche la version de Java exécutée sur le périphérique. Par exemple, sur une distribution basée sur Debian, le résultat peut ressembler à celui de l'exemple suivant.

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (Facultatif) Créez l'utilisateur système et le groupe par défaut qui exécutent les composants sur le périphérique. Vous pouvez également choisir de laisser le programme d'installation du logiciel AWS IoT Greengrass Core créer cet utilisateur et ce groupe lors de l'installation avec l'argument --component-default-user installer. Pour plus d’informations, consultez Arguments d'installation.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. Vérifiez que l'utilisateur qui exécute le logiciel AWS IoT Greengrass Core (généralementroot) est autorisé à exécuter sudo avec n'importe quel utilisateur et n'importe quel groupe.

    1. Exécutez la commande suivante pour ouvrir le /etc/sudoers fichier.

      sudo visudo
    2. Vérifiez que l'autorisation accordée à l'utilisateur ressemble à l'exemple suivant.

      root ALL=(ALL:ALL) ALL
  4. (Facultatif) Pour exécuter des fonctions Lambda conteneurisées, vous devez activer cgroups v1, et vous devez activer et monter les cgroups de mémoire et de périphériques. Si vous ne prévoyez pas d'exécuter des fonctions Lambda conteneurisées, vous pouvez ignorer cette étape.

    Pour activer ces options cgroups, démarrez le périphérique avec les paramètres du noyau Linux suivants.

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    Pour plus d'informations sur l'affichage et la définition des paramètres du noyau de votre appareil, consultez la documentation de votre système d'exploitation et de votre chargeur de démarrage. Suivez les instructions pour définir définitivement les paramètres du noyau.

  5. Installez toutes les autres dépendances requises sur votre appareil, comme indiqué dans la liste des exigences figurant dansExigences relatives aux dispositifs.

Configuration d'un appareil Windows

Note

Cette fonctionnalité est disponible pour les versions 2.5.0 et ultérieures du composant Greengrass nucleus.

Pour configurer un appareil Windows pour AWS IoT Greengrass V2
  1. Installez le moteur d'exécution Java, dont le logiciel AWS IoT Greengrass Core a besoin pour fonctionner. Nous vous recommandons d'utiliser les versions de support à long terme d'Amazon Corretto ou d'OpenJDK. La version 8 ou supérieure est requise.

  2. Vérifiez si Java est disponible sur la variable système PATH, et ajoutez-le dans le cas contraire. Le LocalSystem compte exécute le logiciel AWS IoT Greengrass Core. Vous devez donc ajouter Java à la variable système PATH au lieu de la variable utilisateur PATH pour votre utilisateur. Procédez comme suit :

    1. Appuyez sur la touche Windows pour ouvrir le menu de démarrage.

    2. Tapez environment variables pour rechercher les options du système dans le menu Démarrer.

    3. Dans les résultats de recherche du menu Démarrer, choisissez Modifier les variables d'environnement du système pour ouvrir la fenêtre des propriétés du système.

    4. Choisissez les variables d'environnement... pour ouvrir la fenêtre des variables d'environnement.

    5. Sous Variables système, sélectionnez Chemin, puis Modifier. Dans la fenêtre Modifier la variable d'environnement, vous pouvez afficher chaque chemin sur une ligne distincte.

    6. Vérifiez si le chemin d'accès au bin dossier d'installation de Java est présent. Le chemin peut ressembler à celui de l'exemple suivant.

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. Si le bin dossier de l'installation Java est absent de Path, choisissez Nouveau pour l'ajouter, puis OK.

  3. Ouvrez l'invite de commande Windows (cmd.exe) en tant qu'administrateur.

  4. Créez l'utilisateur par défaut dans le LocalSystem compte sur l'appareil Windows. Remplacez le mot de passe par un mot de passe sécurisé.

    net user /add ggc_user password
    Astuce

    En fonction de votre configuration Windows, le mot de passe de l'utilisateur peut être configuré pour expirer à une date ultérieure. Pour vous assurer que vos applications Greengrass continuent de fonctionner, suivez la date d'expiration du mot de passe et mettez-le à jour avant son expiration. Vous pouvez également définir le mot de passe de l'utilisateur pour qu'il n'expire jamais.

    • Pour vérifier la date d'expiration d'un utilisateur et de son mot de passe, exécutez la commande suivante.

      net user ggc_user | findstr /C:expires
    • Pour définir le mot de passe d'un utilisateur afin qu'il n'expire jamais, exécutez la commande suivante.

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
    • Si vous utilisez Windows 10 ou une version ultérieure où la wmiccommande est obsolète, exécutez la commande suivante PowerShell .

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. Téléchargez et installez l'PsExecutilitaire de Microsoft sur l'appareil.

  6. Utilisez l' PsExec utilitaire pour stocker le nom d'utilisateur et le mot de passe de l'utilisateur par défaut dans l'instance Credential Manager du LocalSystem compte. Remplacez le mot de passe par le mot de passe utilisateur que vous avez défini précédemment.

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    S'il PsExec License Agreements'ouvre, choisissez Acceptd'accepter la licence et exécutez la commande.

    Note

    Sur les appareils Windows, le LocalSystem compte exécute le noyau Greengrass et vous devez utiliser l' PsExec utilitaire pour stocker les informations utilisateur par défaut dans le LocalSystem compte. L'application Credential Manager stocke ces informations dans le compte Windows de l'utilisateur actuellement connecté, plutôt que dans le LocalSystem compte.

Téléchargez le logiciel AWS IoT Greengrass Core

Vous pouvez télécharger la dernière version du logiciel AWS IoT Greengrass Core à l'adresse suivante :

Note

Vous pouvez télécharger une version spécifique du logiciel AWS IoT Greengrass Core à l'emplacement suivant. Remplacez la version par la version à télécharger.

https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
Pour télécharger le logiciel AWS IoT Greengrass Core
  1. Sur votre appareil principal, téléchargez le logiciel AWS IoT Greengrass Core dans un fichier nommégreengrass-nucleus-latest.zip.

    Linux or Unix
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
    PowerShell
    iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip

    Si vous téléchargez ce logiciel, vous acceptez le contrat de licence du logiciel Greengrass Core.

  2. (Facultatif) Pour vérifier la signature du logiciel Greengrass Nucleus

    Note

    Cette fonctionnalité est disponible avec Greengrass nucleus version 2.9.5 et versions ultérieures.

    1. Utilisez la commande suivante pour vérifier la signature de votre artefact Greengrass nucleus :

      Linux or Unix
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      Windows Command Prompt (CMD)

      Le nom du fichier peut être différent selon la version du JDK que vous installez. jdk17.0.6_10Remplacez-le par la version du JDK que vous avez installée.

      "C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe" -verify -certs -verbose greengrass-nucleus-latest.zip
      PowerShell

      Le nom du fichier peut être différent selon la version du JDK que vous installez. jdk17.0.6_10Remplacez-le par la version du JDK que vous avez installée.

      'C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe' -verify -certs -verbose greengrass-nucleus-latest.zip
    2. L'jarsignerinvocation produit une sortie qui indique les résultats de la vérification.

      1. Si le fichier zip Greengrass nucleus est signé, le résultat contient l'instruction suivante :

        jar verified.
      2. Si le fichier zip Greengrass nucleus n'est pas signé, le résultat contient l'instruction suivante :

        jar is unsigned.
    3. Si vous avez fourni l'-certsoption Jarsigner en même temps que les -verbose options -verify et, le résultat inclut également des informations détaillées sur le certificat du signataire.

  3. Décompressez le logiciel AWS IoT Greengrass Core dans un dossier de votre appareil. GreengrassInstallerRemplacez-le par le dossier que vous souhaitez utiliser.

    Linux or Unix
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
    Windows Command Prompt (CMD)
    mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
    PowerShell
    Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\\GreengrassInstaller rm greengrass-nucleus-latest.zip
  4. (Facultatif) Exécutez la commande suivante pour voir la version du logiciel AWS IoT Greengrass Core.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
Important

Si vous installez une version du noyau Greengrass antérieure à la version 2.4.0, ne supprimez pas ce dossier après avoir installé le logiciel Core. AWS IoT Greengrass Le logiciel AWS IoT Greengrass Core utilise les fichiers de ce dossier pour s'exécuter.

Si vous avez téléchargé la dernière version du logiciel, vous devez installer la version 2.4.0 ou ultérieure, et vous pouvez supprimer ce dossier après avoir installé le logiciel AWS IoT Greengrass Core.

Installation du logiciel AWS IoT Greengrass Core

Exécutez le programme d'installation avec des arguments qui spécifient les actions suivantes :

  • Effectuez l'installation à partir d'un fichier de configuration partiel qui indique d'utiliser votre plug-in de provisionnement personnalisé pour provisionner AWS des ressources. Le logiciel AWS IoT Greengrass Core utilise un fichier de configuration qui spécifie la configuration de chaque composant Greengrass de l'appareil. Le programme d'installation crée un fichier de configuration complet à partir du fichier de configuration partiel que vous fournissez et des AWS ressources créées par le plug-in de provisionnement personnalisé.

  • Spécifiez d'utiliser l'utilisateur ggc_user du système pour exécuter les composants logiciels sur le périphérique principal. Sur les appareils Linux, cette commande indique également d'utiliser le groupe ggc_group système, et le programme d'installation crée l'utilisateur et le groupe système pour vous.

  • Configurez le logiciel AWS IoT Greengrass Core en tant que service système qui s'exécute au démarrage. Sur les appareils Linux, cela nécessite le système d'initialisation Systemd.

    Important

    Sur les appareils Windows Core, vous devez configurer le logiciel AWS IoT Greengrass Core en tant que service système.

Pour plus d'informations sur les arguments que vous pouvez spécifier, consultezArguments d'installation.

Note

Si vous utilisez AWS IoT Greengrass un appareil dont la mémoire est limitée, vous pouvez contrôler la quantité de mémoire utilisée par le logiciel AWS IoT Greengrass Core. Pour contrôler l'allocation de mémoire, vous pouvez définir les options de taille de segment de mémoire JVM dans le paramètre de jvmOptions configuration de votre composant Nucleus. Pour plus d’informations, consultez Contrôlez l'allocation de mémoire grâce aux options JVM.

Pour installer le logiciel AWS IoT Greengrass Core (Linux)
  1. Vérifiez la version du logiciel AWS IoT Greengrass Core.

    • GreengrassInstallerRemplacez-le par le chemin d'accès au dossier contenant le logiciel.

    java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
  2. Utilisez un éditeur de texte pour créer un fichier de configuration nommé config.yaml à fournir au programme d'installation.

    Par exemple, sur un système basé sur Linux, vous pouvez exécuter la commande suivante pour utiliser GNU nano pour créer le fichier.

    nano GreengrassInstaller/config.yaml

    Copiez le contenu YAML suivant dans le fichier.

    --- system: rootpath: "/greengrass/v2" # The following values are optional. Return them from the provisioning plugin or set them here. # certificateFilePath: "" # privateKeyPath: "" # rootCaPath: "" # thingName: "" services: aws.greengrass.Nucleus: version: "2.12.6" configuration: # The following values are optional. Return them from the provisioning plugin or set them here. # awsRegion: "" # iotRoleAlias: "" # iotDataEndpoint: "" # iotCredEndpoint: "" com.example.CustomProvisioning: configuration: # You can specify configuration parameters to provide to your plugin. # pluginParameter: ""

    Ensuite, procédez comme suit :

    • Remplacez la version 2.12.6 par la version du logiciel AWS IoT Greengrass Core.

    • Remplacez chaque instance de /greengrass/v2 par le dossier racine de Greengrass.

    • (Facultatif) Spécifiez les valeurs de configuration du système et du noyau. Vous devez définir ces valeurs si votre plugin d'approvisionnement ne les fournit pas.

    • (Facultatif) Spécifiez les paramètres de configuration à fournir à votre plug-in de provisionnement.

    Note

    Dans ce fichier de configuration, vous pouvez personnaliser d'autres options de configuration, telles que les ports et le proxy réseau à utiliser, comme indiqué dans l'exemple suivant. Pour plus d'informations, consultez la section Configuration du noyau de Greengrass.

    --- system: rootpath: "/greengrass/v2" # The following values are optional. Return them from the provisioning plugin or set them here. # certificateFilePath: "" # privateKeyPath: "" # rootCaPath: "" # thingName: "" services: aws.greengrass.Nucleus: version: "2.12.6" configuration: mqtt: port: 443 greengrassDataPlanePort: 443 networkProxy: noProxyAddresses: "http://192.168.0.1,www.example.com" proxy: url: "http://my-proxy-server:1100" username: "Mary_Major" password: "pass@word1357" # The following values are optional. Return them from the provisioning plugin or set them here. # awsRegion: "" # iotRoleAlias: "" # iotDataEndpoint: "" # iotCredEndpoint: "" com.example.CustomProvisioning: configuration: # You can specify configuration parameters to provide to your plugin. # pluginParameter: ""
  3. Exécutez le programme d'installation. Spécifiez --trusted-plugin pour fournir votre plugin de provisionnement personnalisé et spécifiez --init-config pour fournir le fichier de configuration.

    • Remplacez /greengrass/v2 C:\greengrass\v2 par le dossier racine de Greengrass.

    • Remplacez chaque instance de GreengrassInstallerpar le dossier dans lequel vous avez décompressé le programme d'installation.

    • Remplacez le chemin du fichier JAR du plugin de provisionnement personnalisé par le chemin du fichier JAR de votre plugin.

    Linux or Unix
    sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --trusted-plugin /path/to/com.example.CustomProvisioning.jar \ --init-config ./GreengrassInstaller/config.yaml \ --component-default-user ggc_user:ggc_group \ --setup-system-service true
    Windows Command Prompt (CMD)
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^ -jar ./GreengrassInstaller/lib/Greengrass.jar ^ --trusted-plugin /path/to/com.example.CustomProvisioning.jar ^ --init-config ./GreengrassInstaller/config.yaml ^ --component-default-user ggc_user ^ --setup-system-service true
    PowerShell
    java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ` -jar ./GreengrassInstaller/lib/Greengrass.jar ` --trusted-plugin /path/to/com.example.CustomProvisioning.jar ` --init-config ./GreengrassInstaller/config.yaml ` --component-default-user ggc_user ` --setup-system-service true
    Important

    Sur les appareils Windows Core, vous --setup-system-service true devez spécifier de configurer le logiciel AWS IoT Greengrass Core en tant que service système.

    Si vous le spécifiez--setup-system-service true, le programme d'installation affiche Successfully set up Nucleus as a system service s'il a configuré et exécuté le logiciel en tant que service système. Dans le cas contraire, le programme d'installation n'affiche aucun message s'il installe le logiciel avec succès.

    Note

    Vous ne pouvez pas utiliser l'deploy-dev-toolsargument pour déployer des outils de développement locaux lorsque vous exécutez le programme d'installation sans l'--provision trueargument. Pour plus d'informations sur le déploiement de la CLI Greengrass directement sur votre appareil, consultez. Interface de ligne de commande Greengrass

  4. Vérifiez l'installation en consultant les fichiers du dossier racine.

    Linux or Unix
    ls /greengrass/v2
    Windows Command Prompt (CMD)
    dir C:\greengrass\v2
    PowerShell
    ls C:\greengrass\v2

    Si l'installation a réussi, le dossier racine contient plusieurs dossiers, tels que configpackages, etlogs.

Si vous avez installé le logiciel AWS IoT Greengrass Core en tant que service système, le programme d'installation exécute le logiciel pour vous. Dans le cas contraire, vous devez exécuter le logiciel manuellement. Pour plus d’informations, consultez Exécutez le logiciel AWS IoT Greengrass Core.

Pour plus d'informations sur la configuration et l'utilisation du logiciel AWS IoT Greengrass, consultez les rubriques suivantes :