Configuración de una instancia de Amazon EC2 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes funciones nuevas y es compatible con plataformas adicionales.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de una instancia de Amazon EC2

Siga los pasos de este tema para configurar una instancia de Amazon EC2 para utilizarla como su núcleo de AWS IoT Greengrass .

sugerencia

O bien, para usar un script que configure su entorno e instale el software AWS IoT Greengrass principal por usted, consulteInicio rápido: configuración del dispositivo Greengrass.

Aunque puede completar este tutorial con una instancia de Amazon EC2, lo ideal es AWS IoT Greengrass que se utilice con hardware físico. Le recomendamos que configure un Raspberry Pi en lugar de utilizar una instancia de Amazon EC2 cuando sea posible. Si utiliza un dispositivo Raspberry Pi, no tiene que seguir los pasos de este tema.

 

  1. Inicie sesión en la AWS Management Console y lance una instancia de Amazon EC2 mediante una AMI de Amazon Linux. Para obtener más información acerca de las instancias de Amazon EC2, consulte la Guía de introducción de Amazon EC2.

  2. Cuando la instancia de Amazon EC2 esté en ejecución, habilite el puerto 8883 para permitir las comunicaciones MQTT entrantes de forma que otros dispositivos puedan conectarse al núcleo. AWS IoT Greengrass

    1. En el panel de navegación de la consola de Amazon EC2, seleccione Grupos de seguridad.

      Panel de navegación con Grupos de seguridad resaltado.
    2. Seleccione el grupo de seguridad para la instancia que acaba de lanzar y, a continuación, elija la pestaña Reglas de entrada.

    3. Elija Editar reglas de entrada.

      Para habilitar el puerto 8883, añada una regla TCP personalizada al grupo de seguridad. Para obtener más información, consulte Añadir reglas a un grupo de seguridad en la Guía del usuario de Amazon EC2.

    4. En la página Editar reglas de entrada, seleccione Añadir regla, introduzca la siguiente configuración y, a continuación, seleccione Guardar.

      • En Tipo, elija Regla TCP personalizada.

      • En Rango de puertos, escriba 8883.

      • En Fuente, elija Cualquiera.

      • En Descripción, escriba MQTT Communications.

       

  3. Conéctese a la instancia de Amazon EC2.

    1. En el panel de navegación, elija Instances (Instancias), seleccione la suya y, después, elija Connect (Conectarse).

    2. Siga las instrucciones de la página Connect To Your Instance (Conectar a su instancia) para conectar a su instancia utilizando SSH y su archivo de clave privada.

    Puede utilizar PuTTY para Windows o Terminal para macOS. Para obtener más información, consulte Conectarse a su instancia de Linux en la Guía del usuario de Amazon EC2.

    Ya está listo para configurar su instancia de Amazon EC2 para AWS IoT Greengrass.

  4. Una vez conectado a su instancia de Amazon EC2, cree las cuentas ggc_user y ggc_group:

    sudo adduser --system ggc_user sudo groupadd --system ggc_group
    nota

    Si el comando adduser no está disponible en su sistema, utilice el siguiente comando.

    sudo useradd --system ggc_user
  5. Para mejorar la seguridad, asegúrese de que estén habilitadas las protecciones de enlaces permanentes y simbólicos (symlink) al inicio del sistema operativo de la instancia de Amazon EC2 en startup.

    nota

    Los pasos para habilitar la protección de enlaces permanentes y simbólicos varían según el sistema operativo. Consulte la documentación de su distribución.

    1. Ejecute el siguiente comando para comprobar si están habilitadas las protecciones de enlaces permanentes y simbólicos:

      sudo sysctl -a | grep fs.protected

      Si los enlaces permanentes y los enlaces simbólicos están establecidos en 1, las protecciones están habilitadas correctamente. Continúe con el paso 6.

      nota

      Los enlaces simbólicos están representados por fs.protected_symlinks.

    2. Si los enlaces permanentes y los enlaces simbólicos no están configurados en 1, habilite estas protecciones. Vaya al archivo de configuración del sistema.

      cd /etc/sysctl.d ls
    3. Utilice su editor de texto preferido (por ejemplo, Leafpad, GNU nano o vi) para agregar las dos líneas siguientes al final del archivo de configuración del sistema. En Amazon Linux 1, es el archivo 00-defaults.conf. En Amazon Linux 2, es el archivo 99-amazon.conf. Es posible que tenga que cambiar los permisos del archivo (con el comando chmod) para poder escribir en él, o bien usar el comando sudo para editarlo como raíz (por ejemplo, sudo nano 00-defaults.conf).

      fs.protected_hardlinks = 1 fs.protected_symlinks = 1
    4. Reinicie la instancia de Amazon EC2.

      sudo reboot

      Pasados unos minutos, conecte su instancia utilizando SSH y, a continuación, ejecute el comando siguiente para confirmar el cambio.

      sudo sysctl -a | grep fs.protected

      Debería ver los enlaces permanentes y simbólicos establecidos en 1.

  6. Extraiga y ejecute el siguiente script para montar grupos de control de Linux (cgroups). Esto permite AWS IoT Greengrass establecer el límite de memoria para las funciones Lambda. Los grupos C también deben ejecutarse AWS IoT Greengrass en el modo de contenerización predeterminado.

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

    Su instancia de Amazon EC2 ahora debería estar preparada para AWS IoT Greengrass.

  7. Opcional. Instale Java 8 Runtime, requerido por el administrador de secuencias. En este tutorial no se utiliza el administrador de secuencias, pero sí el flujo de trabajo Creación predeterminada de un grupo, que habilita el administrador de secuencias de forma predeterminada. Utilice los siguientes comandos para instalar Java 8 Runtime en el dispositivo principal o desactivar el administrador de secuencias antes de implementar el grupo. Las instrucciones para desactivar el administrador de secuencias se proporcionan en el Módulo 3.

    • Para distribuciones basadas en Debian:

      sudo apt install openjdk-8-jdk
    • Para distribuciones basadas en Red Hat:

      sudo yum install java-1.8.0-openjdk
  8. Para asegurarse de que dispone de todas las dependencias necesarias, descargue y ejecute el comprobador de dependencias de Greengrass desde AWS IoT Greengrass el repositorio de muestras en adelante. GitHub Estos comandos descargan, descomprimen y ejecutan el script comprobador de dependencias en la instancia de 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

    En necesario que el tiempo de ejecución de Python 3.7 ejecute las funciones de Lambda locales para realizar este tutorial. Cuando el administrador de secuencias esté habilitado, también es necesario Java 8 Runtime. Si el script check_ggc_dependencies genera advertencias acerca de la ausencia de estos requisitos previos relativos al tiempo de ejecución, asegúrese de instalarlos antes de continuar. Puede hacer caso omiso de las advertencias que indican que faltan los requisitos previos relativos a tiempos de ejecución opcionales.

Ya está terminada la configuración de la instancia de Amazon EC2. Siga en Módulo 2: Instalación del software de AWS IoT Greengrass Core.