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 du logiciel AWS IoT Greengrass de base
Le logiciel AWS IoT Greengrass Core propose des options que vous pouvez utiliser pour configurer le logiciel. Vous pouvez créer des déploiements pour configurer le logiciel AWS IoT Greengrass principal sur chaque appareil principal.
Rubriques
- Déployez le composant Greengrass nucleus
- Configurer le noyau Greengrass en tant que service système
- Contrôlez l'allocation de mémoire à l'aide JVM d'options
- Configurer l'utilisateur qui exécute les composants
- Configuration des limites de ressources système pour les composants
- Connexion au port 443 ou via un proxy réseau
- Utiliser un certificat d'appareil signé par une autorité de certification privée
- Configuration des MQTT délais d'expiration et des paramètres de cache
Déployez le composant Greengrass nucleus
AWS IoT Greengrass fournit le logiciel AWS IoT Greengrass Core sous forme de composant que vous pouvez déployer sur vos appareils principaux Greengrass. Vous pouvez créer un déploiement pour appliquer la même configuration à plusieurs appareils principaux de Greengrass. Pour plus d’informations, consultez Noyau de Greengrass et Mettre à jour le logiciel AWS IoT Greengrass principal (OTA).
Configurer le noyau Greengrass en tant que service système
Vous devez configurer le logiciel AWS IoT Greengrass Core en tant que service système dans le système d'initialisation de votre appareil pour effectuer les opérations suivantes :
-
Démarrez le logiciel AWS IoT Greengrass Core au démarrage de l'appareil. Il s'agit d'une bonne pratique si vous gérez de grands parcs d'appareils.
-
Installez et exécutez les composants du plugin. Plusieurs composants AWS fournis sont des modules d'extension, ce qui leur permet de s'interfacer directement avec le noyau de Greengrass. Pour plus d'informations sur les types de composants, consultezTypes de composants.
-
Appliquez over-the-air (OTA) les mises à jour au logiciel principal de l'appareil AWS IoT Greengrass principal. Pour de plus amples informations, veuillez consulter Mettre à jour le logiciel AWS IoT Greengrass principal (OTA).
-
Permettez aux composants de redémarrer le logiciel AWS IoT Greengrass principal ou le périphérique principal lorsqu'un déploiement met à jour le composant vers une nouvelle version ou met à jour certains paramètres de configuration. Pour plus d'informations, consultez l'étape du cycle de vie du bootstrap.
Important
Sur les appareils Windows Core, vous devez configurer le logiciel AWS IoT Greengrass Core en tant que service système.
Rubriques
Configurer le noyau en tant que service système (Linux)
Les appareils Linux prennent en charge différents systèmes d'initialisation, tels que initd, systemd et systemV. Vous utilisez --setup-system-service true
cet argument lorsque vous installez le logiciel AWS IoT Greengrass Core pour démarrer le noyau en tant que service système et le configurez pour qu'il soit lancé au démarrage du périphérique. Le programme d'installation configure le logiciel AWS IoT Greengrass Core en tant que service système avec systemd.
Vous pouvez également configurer manuellement le noyau pour qu'il s'exécute en tant que service système. L'exemple suivant est un fichier de service pour systemd.
[Unit] Description=Greengrass Core [Service] Type=simple PIDFile=
/alts/loader.pid RemainAfterExit=no Restart=on-failure RestartSec=10 ExecStart=/bin/sh
/greengrass/v2
/alts/current/distro/bin/loader [Install] WantedBy=multi-user.target
/greengrass/v2
Après avoir configuré le service système, vous pouvez exécuter les commandes suivantes pour configurer le démarrage du périphérique au démarrage et pour démarrer ou arrêter le logiciel AWS IoT Greengrass Core.
-
Pour vérifier l'état du service (systemd)
sudo systemctl status greengrass.service
-
Pour permettre au noyau de démarrer au démarrage de l'appareil.
sudo systemctl enable greengrass.service
-
Pour empêcher le noyau de démarrer au démarrage de l'appareil.
sudo systemctl disable greengrass.service
-
Pour démarrer le logiciel AWS IoT Greengrass Core.
sudo systemctl start greengrass.service
-
Pour arrêter le logiciel AWS IoT Greengrass Core.
sudo systemctl stop greengrass.service
Configuration du noyau en tant que service système (Windows)
Vous utilisez --setup-system-service true
cet argument lorsque vous installez le logiciel AWS IoT Greengrass Core pour démarrer le noyau en tant que service Windows et le configurez pour qu'il démarre au démarrage du périphérique.
Après avoir configuré le service, vous pouvez exécuter les commandes suivantes pour configurer le démarrage du périphérique au démarrage et pour démarrer ou arrêter le logiciel AWS IoT Greengrass Core. Vous devez exécuter l'invite de commande ou PowerShell en tant qu'administrateur pour exécuter ces commandes.
Contrôlez l'allocation de mémoire à l'aide JVM d'options
Si vous utilisez AWS IoT Greengrass un appareil dont la mémoire est limitée, vous pouvez utiliser les options de machine virtuelle Java (JVM) pour contrôler la taille maximale du tas, les modes de collecte des déchets et les options du compilateur, qui contrôlent la quantité de mémoire utilisée par le logiciel AWS IoT Greengrass Core. La taille du segment de mémoire JVM détermine la quantité de mémoire qu'une application peut utiliser avant la collecte des déchets
Pour contrôler l'allocation de mémoire, créez un nouveau déploiement ou révisez un déploiement existant qui inclut le composant noyau, et spécifiez vos JVM options dans le paramètre de jvmOptions
configuration de la configuration du composant noyau.
Selon vos besoins, vous pouvez exécuter le logiciel AWS IoT Greengrass Core avec une allocation de mémoire réduite ou avec une allocation de mémoire minimale.
Allocation de mémoire réduite
Pour exécuter le logiciel AWS IoT Greengrass Core avec une allocation de mémoire réduite, nous vous recommandons d'utiliser l'exemple de mise à jour de fusion de configuration suivant pour définir JVM les options de votre configuration Nucleus :
{ "jvmOptions": "-XX:+UseSerialGC -XX:TieredStopAtLevel=1" }
Allocation de mémoire minimale
Pour exécuter le logiciel AWS IoT Greengrass Core avec une allocation de mémoire minimale, nous vous recommandons d'utiliser l'exemple de mise à jour de fusion de configuration suivant pour définir JVM les options de votre configuration Nucleus :
{ "jvmOptions": "-Xmx32m -XX:+UseSerialGC -Xint" }
Important
L'exécution du logiciel AWS IoT Greengrass Core avec une allocation de mémoire minimale peut avoir un impact significatif sur les performances des systèmes peu performants, car ils JVM effectueront plus de traitement en utilisant moins de mémoire. Nous vous recommandons de régler les options pour équilibrer vos besoins en termes de mémoire et de performances.
Ces exemples de mise à jour par fusion de configuration utilisent les JVM options suivantes :
-XX:+UseSerialGC
-
Spécifie d'utiliser la collecte des déchets en série pour l'JVMespace de stockage. Le ramasseur de déchets en série est plus lent, mais utilise moins de mémoire que les autres implémentations de collecte de JVM déchets.
-XX:TieredStopAtLevel=1
-
Indique au compilateur Java () JVM d'utiliser le compilateur Java just-in-time (JIT) une seule fois. Comme le code JIT compilé utilise de l'espace dans la mémoire de l'appareil, l'utilisation du JIT compilateur à plusieurs reprises consomme plus de mémoire qu'une seule compilation.
-Xmx
NN
m-
Définit la taille maximale du JVM tas.
Important
Si vous définissez une taille de tas maximale trop faible, vous risquez de ralentir les performances ou de provoquer out-of-memory des erreurs. Nous vous recommandons de mesurer votre utilisation actuelle du tas avant de définir une taille maximale avec l'
-Xmx
option. Configurez votre JVM avec l'NN
m-XX:NativeMemoryTracking=detail
JVMoption. Mesurez ensuite votre utilisation actuelle du tas à l'aide de la demande deVM.native_memory
commande dans l'utilitaire jcmd. Si la mesure du tas n'est pas une option, utilisez-la
-Xmx64m
comme valeur de départ pour limiter la taille du tas à 64 Mo. Vous pouvez ensuite diminuer progressivement la taille maximale du tas à partir de là. Pour une allocation de mémoire minimale,-Xmx32m
utilisez-la comme valeur de départ pour limiter la taille du tas à 32 Mo.Vous pouvez augmenter ou diminuer la
-Xmx
valeur en fonction de vos besoins réels ; toutefois, nous vous recommandons vivement de ne pas définir la taille maximale du segment de mémoire en dessous de 16 Mo. La taille de JVM tas nécessaire peut également varier au fil du temps en fonction des composants du plug-in déployés sur le périphérique principal. Si la taille maximale du tas est trop faible pour votre environnement, le logiciel AWS IoT Greengrass Core peut rencontrer des erreurs inattendues en raison d'une mémoire insuffisante. Si les performances sont plus lentes ou si vous rencontrez des erreurs en raison d'une mémoire insuffisante, revenez à un paramètre dont le fonctionnement a été vérifié. Par exemple, si la taille normale de votre tas engagé est41428KB
, utilisez-le-Xmx40m
pour limiter légèrement l'utilisation du tas. -Xint
-
Indique au compilateur () de JVM ne pas utiliser le compilateur just-in-time (JIT). Au lieu de cela, il JVM s'exécute en mode interprété uniquement. Ce mode est plus lent (potentiellement 20 fois plus lent pour les déploiements sur des systèmes bas de gamme) que l'exécution de code JIT compilé ; toutefois, le code compilé n'utilise aucun espace en mémoire.
Pour plus d'informations sur la création de mises à jour de fusion de configuration, consultezMettre à jour les configurations des composants.
Configurer l'utilisateur qui exécute les composants
Le logiciel AWS IoT Greengrass Core peut exécuter des processus de composants en tant qu'utilisateur du système et en tant que groupe différent de celui qui exécute le logiciel. Cela augmente la sécurité, car vous pouvez exécuter le logiciel AWS IoT Greengrass principal en tant que root ou en tant qu'utilisateur administrateur, sans accorder ces autorisations aux composants qui s'exécutent sur le périphérique principal.
Le tableau suivant indique les types de composants que le logiciel AWS IoT Greengrass Core peut exécuter en tant qu'utilisateur que vous spécifiez. Pour de plus amples informations, veuillez consulter Types de composants.
Type de composant | Configuration de l'utilisateur du composant |
---|---|
Noyau |
|
Plugin |
|
Générique |
|
Lambda (non conteneurisé) |
|
Lambda (conteneurisé) |
|
Vous devez créer l'utilisateur du composant avant de pouvoir le spécifier dans une configuration de déploiement. Sur les appareils Windows, vous devez également enregistrer le nom d'utilisateur et le mot de passe de l'utilisateur dans l'instance du gestionnaire d'informations d'identification du LocalSystem compte. Pour de plus amples informations, veuillez consulter Configuration d'un utilisateur de composant sur les appareils Windows.
Lorsque vous configurez l'utilisateur du composant sur un appareil basé sur Linux, vous pouvez éventuellement spécifier un groupe. Vous spécifiez l'utilisateur et le groupe séparés par deux points (:
) au format suivant :
Si vous ne spécifiez aucun groupe, le logiciel AWS IoT Greengrass Core utilise par défaut le groupe principal de l'utilisateur. Vous pouvez utiliser le nom ou l'ID pour identifier l'utilisateur et le groupe. user
:group
Sur les appareils basés sur Linux, vous pouvez également exécuter des composants en tant qu'utilisateur du système qui n'existe pas, également appelé utilisateur inconnu, pour renforcer la sécurité. Un processus Linux peut signaler tout autre processus exécuté par le même utilisateur. Un utilisateur inconnu n'exécute aucun autre processus. Vous pouvez donc exécuter des composants en tant qu'utilisateur inconnu pour empêcher les composants de signaler d'autres composants sur le périphérique principal. Pour exécuter des composants en tant qu'utilisateur inconnu, spécifiez un ID utilisateur qui n'existe pas sur le périphérique principal. Vous pouvez également spécifier un ID de groupe qui n'existe pas pour fonctionner en tant que groupe inconnu.
Vous pouvez configurer l'utilisateur pour chaque composant et pour chaque périphérique principal.
-
Configuration pour un composant
Vous pouvez configurer chaque composant pour qu'il s'exécute avec un utilisateur spécifique à ce composant. Lorsque vous créez un déploiement, vous pouvez spécifier l'utilisateur pour chaque composant dans la
runWith
configuration de ce composant. Le logiciel AWS IoT Greengrass Core exécute les composants en tant qu'utilisateur spécifié si vous les configurez. Sinon, il exécute par défaut les composants en tant qu'utilisateur par défaut que vous configurez pour le périphérique principal. Pour plus d'informations sur la spécification de l'utilisateur du composant dans la configuration de déploiement, consultez le paramètre runWithde configuration dansCréer des déploiements. -
Configuration de l'utilisateur par défaut pour un appareil principal
Vous pouvez configurer un utilisateur par défaut que le logiciel AWS IoT Greengrass Core utilise pour exécuter les composants. Lorsque le logiciel AWS IoT Greengrass Core exécute un composant, il vérifie si vous avez spécifié un utilisateur pour ce composant et l'utilise pour exécuter le composant. Si le composant ne spécifie aucun utilisateur, le logiciel AWS IoT Greengrass Core exécute le composant en tant qu'utilisateur par défaut que vous avez configuré pour le périphérique principal. Pour de plus amples informations, veuillez consulter Configuration de l'utilisateur du composant par défaut.
Note
Sur les appareils Windows, vous devez spécifier au moins un utilisateur par défaut pour exécuter les composants.
Sur les appareils basés sur Linux, les considérations suivantes s'appliquent si vous ne configurez pas un utilisateur pour exécuter des composants :
-
Si vous exécutez le logiciel AWS IoT Greengrass Core en tant qu'utilisateur root, le logiciel n'exécutera aucun composant. Vous devez spécifier un utilisateur par défaut pour exécuter les composants si vous exécutez en tant que root.
-
Si vous exécutez le logiciel AWS IoT Greengrass Core en tant qu'utilisateur non root, le logiciel exécute les composants sous le nom de cet utilisateur.
Rubriques
Configuration d'un utilisateur de composant sur les appareils Windows
Pour configurer un utilisateur de composants sur un appareil Windows
-
Créez l'utilisateur du composant dans le LocalSystem compte de l'appareil.
net user /add
component-user
password
-
Utilisez l' PsExec utilitaire Microsoft
pour stocker le nom d'utilisateur et le mot de passe de l'utilisateur du composant dans l'instance Credential Manager du LocalSystem compte. psexec -s cmd /c cmdkey /generic:
component-user
/user:component-user
/pass:password
Note
Sur les appareils Windows, le LocalSystem compte exécute le noyau Greengrass et vous devez utiliser PsExec l'utilitaire pour stocker les informations utilisateur du composant dans LocalSystem le compte. L'application Credential Manager stocke ces informations dans le compte Windows de l'utilisateur actuellement connecté, plutôt que dans le LocalSystem compte.
Configuration de l'utilisateur du composant par défaut
Vous pouvez utiliser un déploiement pour configurer l'utilisateur par défaut sur un appareil principal. Dans ce déploiement, vous mettez à jour la configuration des composants du noyau.
Note
Vous pouvez également définir l'utilisateur par défaut lorsque vous installez le logiciel AWS IoT Greengrass Core avec l'--component-default-user
option. Pour de plus amples informations, veuillez consulter Installer le logiciel AWS IoT Greengrass Core.
Créez un déploiement qui spécifie la mise à jour de configuration suivante pour le aws.greengrass.Nucleus
composant.
L'exemple suivant définit un déploiement pour un appareil basé sur Linux configuré en tant qu'utilisateur par défaut et ggc_user
ggc_group
en tant que groupe par défaut. La mise à jour de merge
configuration nécessite un JSON objet sérialisé.
{ "components": { "aws.greengrass.Nucleus": { "version": "2.13.0", "configurationUpdate": { "merge": "{\"runWithDefault\":{\"posixUser\":\"ggc_user:ggc_group\"}}" } } } }
Configuration des limites de ressources système pour les composants
Note
Cette fonctionnalité est disponible pour les versions 2.4.0 et ultérieures du composant Greengrass nucleus. AWS IoT Greengrass ne prend actuellement pas en charge cette fonctionnalité sur les appareils Windows principaux.
Vous pouvez configurer la quantité CPU et l'RAMutilisation maximales que les processus de chaque composant peuvent utiliser sur le périphérique principal.
Le tableau suivant indique les types de composants compatibles avec les limites de ressources du système. Pour de plus amples informations, veuillez consulter Types de composants.
Type de composant | Configurer les limites des ressources du système |
---|---|
Noyau |
|
Plugin |
|
Générique |
|
Lambda (non conteneurisé) |
|
Lambda (conteneurisé) |
|
Important
Les limites de ressources système ne sont pas prises en charge lorsque vous exécutez le logiciel AWS IoT Greengrass Core dans un conteneur Docker.
Vous pouvez configurer les limites de ressources système pour chaque composant et pour chaque périphérique principal.
-
Configuration pour un composant
Vous pouvez configurer chaque composant avec des limites de ressources système spécifiques à ce composant. Lorsque vous créez un déploiement, vous pouvez spécifier les limites de ressources système pour chaque composant du déploiement. Si le composant prend en charge les limites de ressources du système, le logiciel AWS IoT Greengrass principal applique ces limites aux processus du composant. Si vous ne spécifiez aucune limite de ressources système pour un composant, le logiciel AWS IoT Greengrass Core utilise les valeurs par défaut que vous avez configurées pour le périphérique principal. Pour de plus amples informations, veuillez consulter Créer des déploiements.
-
Configuration des valeurs par défaut pour un périphérique principal
Vous pouvez configurer les limites de ressources système par défaut que le logiciel AWS IoT Greengrass Core applique aux composants compatibles avec ces limites. Lorsque le logiciel AWS IoT Greengrass Core exécute un composant, il applique les limites de ressources système que vous spécifiez pour ce composant. Si ce composant ne spécifie pas de limites de ressources système, le logiciel AWS IoT Greengrass Core applique les limites de ressources système par défaut que vous configurez pour le périphérique principal. Si vous ne spécifiez pas de limites de ressources système par défaut, le logiciel AWS IoT Greengrass Core n'applique aucune limite de ressources système par défaut. Pour de plus amples informations, veuillez consulter Configuration des limites de ressources système par défaut.
Configuration des limites de ressources système par défaut
Vous pouvez déployer le composant Greengrass nucleus pour configurer les limites de ressources système par défaut pour un périphérique principal. Pour configurer les limites de ressources système par défaut, créez un déploiement qui spécifie la mise à jour de configuration suivante pour le aws.greengrass.Nucleus
composant.
{ "runWithDefault": { "systemResourceLimits": { "cpu":
cpuTimeLimit
, "memory":memoryLimitInKb
} } }
L'exemple suivant définit un déploiement qui configure la limite de CPU temps à2
, ce qui équivaut à 50 % d'utilisation sur un appareil à 4 CPU cœurs. Cet exemple configure également l'utilisation de la mémoire à 100 Mo.
{ "components": { "aws.greengrass.Nucleus": { "version": "2.13.0", "configurationUpdate": { "merge": "{\"runWithDefault\":{\"systemResourceLimits\":\"cpus\":2,\"memory\":102400}}}" } } } }
Connexion au port 443 ou via un proxy réseau
AWS IoT Greengrass les périphériques principaux communiquent avec eux AWS IoT Core en utilisant le protocole MQTT de messagerie avec authentification TLS du client. Par convention, MQTT over TLS utilise le port 8883. Toutefois, par mesure de sécurité, les environnements restrictifs peuvent limiter le trafic entrant et sortant à un petit nombre de TCP ports. Par exemple, un pare-feu d'entreprise peut ouvrir le port 443 pour le HTTPS trafic, mais fermer d'autres ports utilisés pour des protocoles moins courants, tels que le port 8883 pour le MQTT trafic. D'autres environnements restrictifs peuvent exiger que tout le trafic passe par un proxy avant de se connecter à Internet.
Note
Les appareils principaux de Greengrass qui exécutent le composant Greengrass nucleus v2.0.3 et versions antérieures utilisent le port 8443 pour se connecter au point de terminaison du plan de données. AWS IoT Greengrass Ces appareils doivent être en mesure de se connecter à ce point de terminaison sur le port 8443. Pour de plus amples informations, veuillez consulter Autoriser le trafic des appareils via un proxy ou un pare-feu.
Pour activer la communication dans ces scénarios, AWS IoT Greengrass propose les options de configuration suivantes :
-
MQTTcommunication via le port 443. Si votre réseau autorise les connexions au port 443, vous pouvez configurer le périphérique principal de Greengrass pour utiliser le port 443 pour le MQTT trafic au lieu du port par défaut 8883. Il peut s'agir d'une connexion directe au port 443 ou d'une connexion via un serveur réseau proxy. Contrairement à la configuration par défaut, qui utilise l'authentification client basée sur des certificats, MQTT le port 443 utilise le rôle de service de périphérique pour l'authentification.
Pour de plus amples informations, veuillez consulter Configuration MQTT via le port 443.
-
HTTPScommunication via le port 443. Le logiciel AWS IoT Greengrass Core envoie le HTTPS trafic via le port 8443 par défaut, mais vous pouvez le configurer pour utiliser le port 443. AWS IoT Greengrass utilise l'TLSextension Application Layer Protocol Network
(ALPN) pour activer cette connexion. Comme dans le cas de la configuration par défaut, HTTPS le port 443 utilise l'authentification client basée sur des certificats. Important
Pour utiliser ALPN et activer HTTPS la communication via le port 443, votre périphérique principal doit exécuter Java 8 update 252 ou version ultérieure. Toutes les mises à jour de Java version 9 et ultérieures sont également prises en chargeALPN.
Pour de plus amples informations, veuillez consulter Configuration HTTPS via le port 443.
-
Connexion via un proxy réseau. Vous pouvez configurer un serveur proxy réseau pour qu'il serve d'intermédiaire pour la connexion au périphérique principal de Greengrass. AWS IoT Greengrass prend en charge l'authentification de base pour HTTP et les HTTPS proxys.
Les appareils Greengrass Core doivent exécuter Greengrass nucleus v2.5.0 ou version ultérieure pour utiliser des proxys. HTTPS
Le logiciel AWS IoT Greengrass Core transmet la configuration du proxy aux composants via les variables
ALL_PROXY
HTTP_PROXY
,HTTPS_PROXY
, et d'NO_PROXY
environnement. Les composants doivent utiliser ces paramètres pour se connecter via le proxy. Les composants utilisent des bibliothèques communes (telles que boto3URL, c et lerequests
package python) qui utilisent généralement ces variables d'environnement par défaut pour établir des connexions. Si un composant spécifie également ces variables d'environnement, AWS IoT Greengrass il ne les remplace pas.Pour de plus amples informations, veuillez consulter Configuration d'un proxy réseau.
Configuration MQTT via le port 443
Vous pouvez configurer MQTT via le port 443 sur des périphériques principaux existants ou lorsque vous installez le logiciel AWS IoT Greengrass Core sur un nouveau périphérique principal.
Rubriques
Configuration MQTT via le port 443 sur les périphériques principaux existants
Vous pouvez utiliser un déploiement pour configurer MQTT via le port 443 sur un périphérique central ou un groupe de périphériques principaux. Dans ce déploiement, vous mettez à jour la configuration des composants du noyau. Le noyau redémarre lorsque vous mettez à jour sa mqtt
configuration.
Pour configurer MQTT via le port 443, créez un déploiement qui spécifie la mise à jour de configuration suivante pour le aws.greengrass.Nucleus
composant.
{ "mqtt": { "port": 443 } }
L'exemple suivant définit un déploiement configuré MQTT via le port 443. La mise à jour de merge
configuration nécessite un JSON objet sérialisé.
{ "components": { "aws.greengrass.Nucleus": { "version": "2.13.0", "configurationUpdate": { "merge": "{\"mqtt\":{\"port\":443}}" } } } }
Configuration MQTT via le port 443 lors de l'installation
Vous pouvez configurer MQTT via le port 443 lorsque vous installez le logiciel AWS IoT Greengrass Core sur un périphérique principal. Utilisez l'argument du programme d'--init-config
installation pour configurer MQTT via le port 443. Vous pouvez spécifier cet argument lors de l'installation à l'aide du provisionnement manuel, du provisionnement du parc ou du provisionnement personnalisé.
Configuration HTTPS via le port 443
Cette fonctionnalité nécessite la Noyau de Greengrass version 2.0.4 ou ultérieure.
Vous pouvez configurer HTTPS via le port 443 sur des périphériques principaux existants ou lorsque vous installez le logiciel AWS IoT Greengrass Core sur un nouveau périphérique principal.
Rubriques
Configuration HTTPS via le port 443 sur les périphériques principaux existants
Vous pouvez utiliser un déploiement pour configurer HTTPS via le port 443 sur un périphérique central ou un groupe de périphériques principaux. Dans ce déploiement, vous mettez à jour la configuration des composants du noyau.
Pour configurer HTTPS via le port 443, créez un déploiement qui spécifie la mise à jour de configuration suivante pour le aws.greengrass.Nucleus
composant.
{ "greengrassDataPlanePort": 443 }
L'exemple suivant définit un déploiement configuré HTTPS via le port 443. La mise à jour de merge
configuration nécessite un JSON objet sérialisé.
{ "components": { "aws.greengrass.Nucleus": { "version": "2.13.0", "configurationUpdate": { "merge": "{\"greengrassDataPlanePort\":443}" } } } }
Configuration HTTPS via le port 443 lors de l'installation
Vous pouvez configurer HTTPS via le port 443 lorsque vous installez le logiciel AWS IoT Greengrass Core sur un périphérique principal. Utilisez l'argument du programme d'--init-config
installation pour configurer HTTPS via le port 443. Vous pouvez spécifier cet argument lors de l'installation à l'aide du provisionnement manuel, du provisionnement du parc ou du provisionnement personnalisé.
Configuration d'un proxy réseau
Suivez la procédure décrite dans cette section pour configurer les appareils principaux de Greengrass afin qu'ils se connectent à Internet via un proxy HTTP ou un proxy HTTPS réseau. Pour plus d'informations sur les points de terminaison et les ports utilisés par les appareils principaux, consultezAutoriser le trafic des appareils via un proxy ou un pare-feu.
Important
Si votre appareil principal exécute une version du noyau Greengrass antérieure à la version 2.4.0, le rôle de votre appareil doit autoriser les autorisations suivantes pour utiliser un proxy réseau :
-
iot:Connect
-
iot:Publish
-
iot:Receive
-
iot:Subscribe
Cela est nécessaire car l'appareil utilise les AWS informations d'identification du service d'échange de jetons pour authentifier les MQTT connexions à AWS IoT. L'appareil reçoit et installe des déploiements depuis le AWS Cloud, de sorte que votre appareil ne fonctionnera pas si vous ne définissez pas ces autorisations sur son rôle. MQTT Les appareils utilisent généralement des certificats X.509 pour authentifier MQTT les connexions, mais ils ne peuvent pas le faire pour s'authentifier lorsqu'ils utilisent un proxy.
Pour plus d'informations sur la façon de configurer le rôle de l'appareil, consultezAutoriser les appareils principaux à interagir avec les AWS services.
Rubriques
Configuration d'un proxy réseau sur les appareils principaux existants
Vous pouvez utiliser un déploiement pour configurer un proxy réseau sur un périphérique central unique ou sur un groupe de périphériques principaux. Dans ce déploiement, vous mettez à jour la configuration des composants du noyau. Le noyau redémarre lorsque vous mettez à jour sa networkProxy
configuration.
Pour configurer un proxy réseau, créez un déploiement pour le aws.greengrass.Nucleus
composant qui fusionne la mise à jour de configuration suivante. Cette mise à jour de configuration contient l'networkProxy objet.
{ "networkProxy": { "noProxyAddresses": "http://192.168.0.1,www.example.com", "proxy": { "url": "https://my-proxy-server:1100" } } }
L'exemple suivant définit un déploiement qui configure un proxy réseau. La mise à jour de merge
configuration nécessite un JSON objet sérialisé.
{ "components": { "aws.greengrass.Nucleus": { "version": "2.13.0", "configurationUpdate": { "merge": "{\"networkProxy\":{\"noProxyAddresses\":\"http://192.168.0.1,www.example.com\",\"proxy\":{\"url\":\"https://my-proxy-server:1100\",\"username\":\"Mary_Major\",\"password\":\"pass@word1357\"}}}" } } } }
Configuration d'un proxy réseau lors de l'installation
Vous pouvez configurer un proxy réseau lorsque vous installez le logiciel AWS IoT Greengrass Core sur un périphérique principal. Utilisez l'argument du programme d'--init-config
installation pour configurer le proxy réseau. Vous pouvez spécifier cet argument lors de l'installation à l'aide du provisionnement manuel, du provisionnement du parc ou du provisionnement personnalisé.
Permettre au périphérique principal de faire confiance à un HTTPS proxy
Lorsque vous configurez un périphérique principal pour utiliser un HTTPS proxy, vous devez ajouter la chaîne de certificats du serveur proxy à celle du périphérique principal pour lui permettre de faire confiance au HTTPS proxy. Dans le cas contraire, le périphérique principal risque de rencontrer des erreurs lorsqu'il tente d'acheminer le trafic via le proxy. Ajoutez le certificat CA du serveur proxy au fichier de certificat CA racine Amazon de l'appareil principal.
Pour permettre au périphérique principal de faire confiance au HTTPS proxy
-
Recherchez le fichier de certificat Amazon Root CA sur l'appareil principal.
-
Si vous avez installé le logiciel AWS IoT Greengrass Core avec provisionnement automatique, le fichier de certificat racine Amazon CA existe à l'
adresse.
/rootCA.pem/greengrass/v2
-
Si vous avez installé le logiciel AWS IoT Greengrass Core avec un provisionnement manuel ou par flotte, le fichier de certificat racine de l'autorité de certification Amazon peut se trouver à
l'adresse.
/AmazonRootCA1.pem/greengrass/v2
Si le certificat CA racine d'Amazon n'existe pas à ces emplacements, enregistrez l'
system.rootCaPath
établissement
pour trouver son emplacement.
/config/effectiveConfig.yaml/greengrass/v2
-
-
Ajoutez le contenu du fichier de certificat CA du serveur proxy au fichier de certificat CA racine d'Amazon.
L'exemple suivant montre un certificat CA de serveur proxy ajouté au fichier de certificat CA racine d'Amazon.
-----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIQWgIVAMHSAzWG/5YVRYtRQOxXUTEpHuEmApzGCSqGSIb3DQEK \nCwUAhuL9MQswCQwJVUzEPMAVUzEYMBYGA1UECgwP1hem9uLmNvbSBJbmMuMRww
... content of proxy CA certificate ...
+vHIRlt0e5JAm5\noTIZGoFbK82A0/nO7f/t5PSIDAim9V3Gc3pSXxCCAQoFYnui GaPUlGk1gCE84a0X\n7Rp/lND/PuMZ/s8YjlkY2NmYmNjMCAXDTE5MTEyN2cM216 gJMIADggEPADf2/m45hzEXAMPLE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQTCCAimgF6AwIBAgITBmyfz/5mjAo54vB4ikPmljZKyjANJmApzyMZFo6qBg ADA5MQswCQYDVQQGEwJVUzEPMA0tMVT8QtPHRh8jrdkGA1UEChMGDV3QQDExBBKW... content of root CA certificate ...
o/ufQJQWUCyziar1hem9uMRkwFwYVPSHCb2XV4cdFyQzR1KldZwgJcIQ6XUDgHaa 5MsI+yMRQ+hDaXJiobldXgjUka642M4UwtBV8oK2xJNDd2ZhwLnoQdeXeGADKkpy rqXRfKoQnoZsG4q5WTP46EXAMPLE -----END CERTIFICATE-----
L' networkProxy objet
Utilisez l'objet networkProxy
pour spécifier les informations sur le proxy réseau. Cet objet contient les informations suivantes :
noProxyAddresses
-
(Facultatif) Liste séparée par des virgules d'adresses IP ou de noms d'hôtes exemptés du proxy.
proxy
-
Le proxy auquel se connecter. Cet objet contient les informations suivantes :
url
-
Le URL du serveur proxy au format
scheme://userinfo@host:port
.-
scheme
— Le schéma, qui doit êtrehttp
ouhttps
.Important
Les appareils Greengrass Core doivent exécuter Greengrass nucleus v2.5.0 ou version ultérieure pour utiliser des proxys. HTTPS
Si vous configurez un HTTPS proxy, vous devez ajouter le certificat CA du serveur proxy au certificat CA racine Amazon de l'appareil principal. Pour de plus amples informations, veuillez consulter Permettre au périphérique principal de faire confiance à un HTTPS proxy.
-
userinfo
— (Facultatif) Les informations relatives au nom d'utilisateur et au mot de passe. Si vous spécifiez ces informations dans leurl
, le périphérique principal de Greengrass ignore lesusername
champs et.password
-
host
— Le nom d'hôte ou l'adresse IP du serveur proxy. -
port
— (Facultatif) Le numéro de port. Si vous ne spécifiez pas le port, le périphérique principal de Greengrass utilise les valeurs par défaut suivantes :-
http
— 80 -
https
— 443
-
-
username
-
(Facultatif) Le nom d'utilisateur qui authentifie le serveur proxy.
password
-
(Facultatif) Le mot de passe qui authentifie le serveur proxy.
Utiliser un certificat d'appareil signé par une autorité de certification privée
Si vous utilisez une autorité de certification privée (CA) personnalisée, vous devez définir le noyau greengrassDataPlaneEndpoint
de Greengrass sur. iotdata
Vous pouvez définir cette option lors du déploiement ou de l'installation à l'aide de l'argument --init-config installer.
Vous pouvez personnaliser le point de terminaison du plan de données Greengrass auquel l'appareil se connecte. Vous pouvez définir cette option de configuration iotdata
pour définir le point de terminaison du plan de données Greengrass sur le même point de terminaison que le point de terminaison de données IoT, que vous pouvez spécifier avec le. iotDataEndpoint
Configuration des MQTT délais d'expiration et des paramètres de cache
Dans l' AWS IoT Greengrass environnement, les composants peuvent être utilisés MQTT pour communiquer avec AWS IoT Core. Le logiciel AWS IoT Greengrass Core gère les MQTT messages pour les composants. Lorsque le périphérique principal perd la connexion au AWS Cloud, le logiciel met en cache les MQTT messages pour réessayer ultérieurement lorsque la connexion sera rétablie. Vous pouvez configurer des paramètres tels que les délais d'expiration des messages et la taille du cache. Pour plus d'informations, consultez les paramètres de mqtt.spooler
configuration mqtt
et du composant Greengrass nucleus.
AWS IoT Core impose des quotas de service à son courtier de MQTT messages. Ces quotas peuvent s'appliquer aux messages que vous envoyez entre des appareils principaux et AWS IoT Core. Pour plus d'informations, consultez la section sur les quotas de service du courtier de AWS IoT Core messages dans le Références générales AWS.