AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Segui i passaggi descritti in questo argomento per configurare un' EC2 istanza Amazon da utilizzare come AWS IoT Greengrass core.
Suggerimento
Oppure, per utilizzare uno script che configura il tuo ambiente e installa il software AWS IoT Greengrass Core per te, consultaAvvio rapido: configurazione dispositivo Greengrass.
Sebbene sia possibile completare questo tutorial utilizzando un' EC2 istanza Amazon, idealmente AWS IoT Greengrass dovrebbe essere utilizzato con hardware fisico. Ti consigliamo di configurare un Raspberry Pi invece di utilizzare un' EC2 istanza Amazon quando possibile. Se si utilizza un Raspberry Pi, non è necessario seguire la procedura descritta in questo argomento.
-
Accedi AWS Management Console
e avvia un' EC2 istanza Amazon utilizzando un'AMI Amazon Linux. Per informazioni sulle EC2 istanze Amazon, consulta la Amazon EC2 Getting Started Guide. -
Dopo l'esecuzione dell' EC2 istanza Amazon, abilita la porta 8883 per consentire le comunicazioni MQTT in entrata in modo che altri dispositivi possano connettersi al core. AWS IoT Greengrass
-
Nel pannello di navigazione della EC2 console Amazon, scegli Gruppi di sicurezza.
-
Seleziona il gruppo di sicurezza per l'istanza appena avviata, quindi scegli la scheda Regole in entrata.
-
Sceglere Edit inbound rules (Modifica regole in entrata).
Per abilitare la porta 8883, aggiungi una regola TCP personalizzata al gruppo di sicurezza. Per ulteriori informazioni, consulta Aggiungere regole a un gruppo di sicurezza nella Amazon EC2 User Guide.
-
Nella pagina Modifica regole in entrata, scegli Aggiungi regola, inserisci le seguenti impostazioni, quindi scegli Salva.
-
Per Type (Tipo) seleziona Custom TCP Rule (Regola TCP personalizzata).
-
Per Port range, inserisci
8883
. -
Per Source (Origine), selezionare Anywhere (Ovunque).
-
Per Descrizione, inserisci
MQTT Communications
.
-
-
-
Connect alla tua EC2 istanza Amazon.
-
Nel riquadro di navigazione, scegli Instances (Istanze), seleziona la tua istanza, quindi scegli Connect (Connetti).
-
Segui le istruzioni nella pagina Connect To Your Instance (Connettiti alla tua istanza) per connetterti all'istanza tramite SSH e il tuo file della chiave privata.
È possibile utilizzare PuTTY per Windows o Terminal per macOS. Per ulteriori informazioni, consulta Connect to your Linux istance nella Amazon EC2 User Guide.
Ora sei pronto per configurare la tua EC2 istanza Amazon per AWS IoT Greengrass.
-
-
Dopo esserti connesso alla tua EC2 istanza Amazon, crea gli
ggc_group
accountggc_user
e:sudo adduser --system ggc_user sudo groupadd --system ggc_group
Nota
Se il comando
adduser
non è disponibile nel sistema, utilizza il comando seguente.sudo useradd --system ggc_user
-
Per migliorare la sicurezza, assicurati che le protezioni hardlink e softlink (symlink) siano abilitate sul sistema operativo dell'istanza Amazon EC2 all'avvio.
Nota
Le procedure di abilitazione hardlink e softlink possono variare a seconda del sistema operativo. Consultare la documentazione per la distribuzione.
-
Eseguire il comando seguente per controllare se le protezioni hardlink e softlink sono abilitate:
sudo sysctl -a | grep fs.protected
Se hardlink e softlink vengono impostati su
1
, le protezioni sono abilitate correttamente. Continuare con la fase 6.Nota
I softlink sono rappresentati da
fs.protected_symlinks
. -
Se hardlink e softlink non sono impostati su
1
, abilitare queste protezioni. Navigare al file di configurazione del sistema.cd /etc/sysctl.d ls
-
Utilizza il tuo editor di testo preferito (ad esempio Leafpad, GNU nano o vi) per aggiungere le seguenti due righe alla fine del file di configurazione del sistema. Su Amazon Linux 1, questo è il file
00-defaults.conf
. Su Amazon Linux 2, questo è il file99-amazon.conf
. Potrebbe essere necessario modificare le autorizzazioni (utilizzando il comandochmod
) per scrivere sul file oppure utilizzare il comandosudo
per modificare come root (ad esempiosudo nano
).00-defaults.conf
fs.protected_hardlinks = 1 fs.protected_symlinks = 1
-
Riavvia l' EC2 istanza Amazon.
sudo reboot
Dopo pochi minuti, connettiti all'istanza tramite SSH, quindi esegui il comando seguente per confermare la modifica.
sudo sysctl -a | grep fs.protected
Dovresti vedere che hardlink e softlink sono impostati a 1.
-
-
Estrai ed esegui il seguente script per montare i gruppi di controllo Linux
(cgroups). Ciò consente di AWS IoT Greengrass impostare il limite di memoria per le funzioni Lambda. I Cgroup devono inoltre essere eseguiti AWS IoT Greengrass nella modalità di containerizzazione predefinita. curl https://raw.githubusercontent.com/tianon/cgroupfs-mount/951c38ee8d802330454bdede20d85ec1c0f8d312/cgroupfs-mount > cgroupfs-mount.sh chmod +x cgroupfs-mount.sh sudo bash ./cgroupfs-mount.sh
La tua EC2 istanza Amazon dovrebbe ora essere pronta per AWS IoT Greengrass.
-
Facoltativo. Installare il runtime Java 8, richiesto dal Gestore di flussi. Questo tutorial non utilizza Gestore di flussi, ma utilizza il flusso di lavoro Creazione gruppo predefinito che abilita Gestore di flussi per impostazione predefinita. Utilizzare i seguenti comandi per installare il runtime Java 8 sul dispositivo principale o disabilitare Gestore di flussi prima di distribuire il gruppo. Le istruzioni per disabilitare Gestore di flussi sono fornite nel Modulo 3.
-
Per le distribuzioni basate su Debian:
sudo apt install openjdk-8-jdk
-
Per le distribuzioni basate su Red Hat:
sudo yum install java-1.8.0-openjdk
-
-
Per assicurarti di avere tutte le dipendenze necessarie, scarica ed esegui il controllo delle dipendenze Greengrass dal AWS IoT Greengrass repository Samples in poi.
GitHub Questi comandi scaricano, decomprimono ed eseguono lo script di controllo delle dipendenze nella tua istanza 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
Importante
Questo tutorial richiede il runtime di Python 3.7 per eseguire le funzioni Lambda locali. Quando il gestore di flusso è abilitato, richiede anche il runtime Java 8. Se lo script
check_ggc_dependencies
produce avvisi su questi prerequisiti di runtime mancanti, assicurati di installarli prima di continuare. Puoi ignorare gli avvisi relativi ad altri prerequisiti di runtime facoltativi mancanti.
La configurazione dell' EC2 istanza Amazon è completa. Continua su Modulo 2: Installazione del software AWS IoT Greengrass Core.