Configurazione di un'istanza Amazon EC2 - AWS IoT Greengrass

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à.

Configurazione di un'istanza Amazon EC2

Segui i passaggi descritti in questo argomento per configurare un'istanza Amazon EC2 da utilizzare come core. AWS IoT Greengrass

Suggerimento

Oppure, per utilizzare uno script che configura il tuo ambiente e installa il software AWS IoT Greengrass Core per te, consulta. Avvio rapido: configurazione dispositivo Greengrass

Sebbene sia possibile completare questo tutorial utilizzando un'istanza Amazon EC2, idealmente AWS IoT Greengrass dovrebbe essere utilizzato con hardware fisico. Ti consigliamo di configurare un Raspberry Pi anziché utilizzare un'istanza Amazon EC2 quando possibile. Se si utilizza un Raspberry Pi, non è necessario seguire la procedura descritta in questo argomento.

 

  1. Accedi AWS Management Consolee avvia un'istanza Amazon EC2 utilizzando un'AMI Amazon Linux. Per informazioni sulle istanze di Amazon EC2, consulta la Amazon EC2 Getting Started Guide.

  2. Dopo l'esecuzione dell'istanza Amazon EC2, abilita la porta 8883 per consentire le comunicazioni MQTT in entrata in modo che altri dispositivi possano connettersi al core. AWS IoT Greengrass

    1. Nel pannello di navigazione della console Amazon EC2, scegli Security Groups.

      Riquadro di navigazione con i gruppi di sicurezza evidenziati.
    2. Seleziona il gruppo di sicurezza per l'istanza appena avviata, quindi scegli la scheda Regole in entrata.

    3. 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 Guida per l'utente di Amazon EC2.

    4. 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, inserisci8883.

      • Per Source (Origine), selezionare Anywhere (Ovunque).

      • Per Descrizione, inserisci MQTT Communications.

       

  3. Esegui la connessione all'istanza Amazon EC2.

    1. Nel riquadro di navigazione, scegli Instances (Istanze), seleziona la tua istanza, quindi scegli Connect (Connetti).

    2. 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 istanza Amazon EC2 per. AWS IoT Greengrass

  4. Dopo esserti connesso alla tua istanza Amazon EC2, crea gli account ggc_user eggc_group:

    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
  5. 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.

    1. 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.

    2. Se hardlink e softlink non sono impostati su 1, abilitare queste protezioni. Navigare al file di configurazione del sistema.

      cd /etc/sysctl.d ls
    3. 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 file 99-amazon.conf. Potrebbe essere necessario modificare le autorizzazioni (utilizzando il comando chmod) per scrivere sul file oppure utilizzare il comando sudo per modificare come root (ad esempio sudo nano 00-defaults.conf).

      fs.protected_hardlinks = 1 fs.protected_symlinks = 1
    4. Riavvia l'istanza Amazon EC2.

      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.

  6. 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 istanza Amazon EC2 dovrebbe ora essere pronta per. AWS IoT Greengrass

  7. 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
  8. 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 nell'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'istanza Amazon EC2 è completa. Continua su Modulo 2: Installazione diAWS IoT GreengrassSoftware Core.