Inicio rápido: configuración del dispositivo Greengrass - 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.

Inicio rápido: configuración del dispositivo Greengrass

La configuración del dispositivo de Greengrass es un script que configura el dispositivo principal en cuestión de minutos, para que pueda comenzar a utilizar AWS IoT Greengrass. Utilice este script para:

  1. Configurar el dispositivo e instala el software AWS IoT Greengrass Core.

  2. Configura los recursos basados en la nube.

  3. Implementa un grupo de Greengrass con una función Hello World de Lambda que envía mensajes MQTT a AWS IoT Greengrass desde el núcleo de AWS IoT. Este paso se configura el entorno de Greengrass que se muestra en el siguiente diagrama.

    Función Hello World de Lambda que envía un mensaje MQTT a AWS IoT desde el núcleo de AWS IoT Greengrass.

Requisitos

La configuración del dispositivo Greengrass presenta los siguientes requisitos:

Ejecución de la configuración del dispositivo Greengrass

Puede ejecutar la configuración del dispositivo Greengrass en unos pocos pasos. Después de proporcionar las credenciales de su Cuenta de AWS, el script aprovisiona el dispositivo principal de Greengrass e implementa un grupo de Greengrass en cuestión de minutos. Ejecute los siguientes comandos en una ventana de terminal del dispositivo de destino.

nota

Estos pasos muestran cómo ejecutar la secuencia de comandos en modo interactivo, que le pide que introduzca o acepte cada valor de entrada. Para obtener información sobre cómo ejecutar el script de forma silenciosa, consulte Ejecución de la configuración del dispositivo Greengrass en modo silencioso.

 

  1. Proporcione las credenciales. En este procedimiento, suponemos que proporciona credenciales de seguridad temporales como variables de entorno.

    export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
    nota

    Si ejecuta la configuración del dispositivo Greengrass en una plataforma Raspbian u OpenWrt, copie estos comandos. Debe proporcionarlos de nuevo después de reiniciar el dispositivo.

  2. Descargue e inicie el script. Puede utilizar wget o curl para descargar el script.

    wget:

    wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass-interactive

    curl:

    curl https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh > gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass-interactive
  3. Avance por los símbolos del sistema para obtener los valores de entrada. Puede pulsar la tecla Enter (Intro) para utilizar el valor predeterminado o escribir un valor personalizado y, a continuación, pulsar Enter (Intro).

    El script escribe mensajes de estado en el terminal similares a los siguientes.

    Mensajes de salida en el terminal.
  4. Si el dispositivo principal ejecuta Raspbian u OpenWrt, reinicie el dispositivo cuando se le solicite, proporcione las credenciales y, a continuación, reinicie el script.

    1. Cuando se le solicite que reinicie el dispositivo, ejecute uno de los siguientes comandos.

      Para plataformas Raspbian:

      sudo reboot

      Para plataformas OpenWrt:

      reboot
    2. Una vez que se reinicie el dispositivo, abra el terminal y proporcione las credenciales como variables de entorno.

      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
    3. Reinicie el script.

      sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass-interactive
    4. Cuando se le pregunte si desea utilizar los valores de entrada de la sesión anterior o iniciar una nueva instalación, escriba yes para volver a utilizar los valores de entrada.

      nota

      En las plataformas que soliciten que se reinicie, los valores de entrada de la sesión anterior, salvo las credenciales, se almacenan temporalmente en el archivo GreengrassDeviceSetup.config.info.

    Una vez finalizada la configuración, el terminal muestra un mensaje de estado de operación correcta similar al siguiente.

    Mensaje de operación correcta en la salida del terminal.
  5. Revise el nuevo grupo de Greengrass que el script configura con los valores de entrada que proporciona.

    1. Inicie sesión en la AWS Management Console en su equipo y abra la consola AWS IoT.

      nota

      Asegúrese de que la Región de AWS seleccionada en la consola sea la misma que utilizó para configurar el entorno de Greengrass. De forma predeterminada, la región es oeste de EE. UU. (Oregón).

    2. En el panel de navegación, expanda Dispositivos de Greengrass y, a continuación, elija Grupos (V1) para localizar el grupo recién creado.

  6. Si ha incluido la función Hello World de Lambda, la configuración del dispositivo Greengrass implementa el grupo de Greengrass en el dispositivo principal. Para probar la función de Lambda u obtener información acerca de cómo eliminar la función de Verificación de la ejecución de la función de Lambda en el dispositivo central del grupo, continúe hacia en el Módulo 3-1 del tutorial de introducción.

    nota

    Asegúrese de que la Región de AWS seleccionada en la consola sea la misma que utilizó para configurar el entorno de Greengrass. De forma predeterminada, la región es oeste de EE. UU. (Oregón).

    Si no ha incluido la función Hello World de Lambda, puede crear su propia función de Lambda o probar otras características de Greengrass. Por ejemplo, puede añadir el conector de implementación de aplicaciones Docker al grupo y utilizarlo para implementar contenedores de Docker en el dispositivo principal.

     

Solución de problemas con

Puede utilizar la siguiente información para solucionar problemas con la configuración del dispositivo AWS IoT Greengrass.

Error: no se encontró Python (python3.7). Intentando instalarlo...

Solución: es posible que aparezca este error al trabajar con una instancia de Amazon EC2. Este error se produce cuando Python no está instalado en la carpeta /usr/bin/python3.7. Para resolver este error, mueva Python al directorio correcto después de instalarlo:

sudo ln -s /usr/local/bin/python3.7 /usr/bin/python3.7

Solución de problemas adicionales

Para solucionar los problemas adicionales con la configuración del dispositivo AWS IoT Greengrass, puede buscar información de depuración en los archivos de registro:

  • Para solucionar problemas de configuración del dispositivo Greengrass, compruebe el archivo /tmp/greengrass-device-setup-bootstrap-epoch-timestamp.log.

  • Para solucionar problemas de configuración del entorno de núcleo o del grupo de Greengrass, compruebe el archivo GreengrassDeviceSetup-date-time.log en el mismo directorio que gg-device-setup-latest.sh o en la ubicación que haya especificado.

Si necesita más ayuda para solucionar problemas, consulte Solución de problemas de AWS IoT Greengrass o eche un vistazo a a pestaña AWS IoT Greengrass en AWS re:Post.

Opciones de configuración del dispositivo Greengrass

Complete la configuración del dispositivo Greengrass para acceder a los recursos de AWS y configurar el entorno de Greengrass.

Proporcione credenciales de Cuenta de AWS

La configuración del dispositivo Greengrass utiliza sus credenciales de Cuenta de AWS para acceder a los recursos de AWS. Admite credenciales a largo plazo para un usuario de IAM o credenciales de seguridad temporales de un rol de IAM.

Primero, obtenga las credenciales

  • Para utilizar credenciales a largo plazo, proporcione el ID de clave de acceso y la clave de acceso secreta del usuario de IAM. Para obtener información acerca de cómo crear claves de acceso para credenciales a largo plazo, consulte Administración de las claves de acceso de los usuarios de IAM en la Guía de usuario de IAM.

     

  • Para utilizar credenciales de seguridad temporales (opción recomendada), proporcione el ID de clave de acceso, la clave de acceso secreta y el token de sesión desde un rol de IAM asumido. Para obtener información acerca cómo extraer credenciales de seguridad temporales con el comando AWS STS de assume-role, consulte Uso de credenciales de seguridad temporales con AWS CLI en la Guía de usuario de IAM..

nota

A efectos de este tutorial, suponemos que el usuario de IAM o el rol de IAM tienen permisos de acceso de administrador.

A continuación, proporcione sus credenciales a la configuración del dispositivo Greengrass de dos maneras:

  • Como variables de entorno. Establezca las variables de entorno AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY y AWS_SESSION_TOKEN (si es necesario) antes de iniciar el script, como se muestra en el paso 1 de Ejecución de la configuración del dispositivo Greengrass.

     

  • Como valores de entrada. Introduzca su ID de clave de acceso, clave de acceso secreta y valores de token de sesión (si es necesario) directamente en el terminal después de iniciar el script.

La configuración del dispositivo Greengrass no guarda ni almacena las credenciales.

 

Proporcionar los valores de entrada

En el modo interactivo, la configuración del dispositivo Greengrass solicita los valores de entrada. Puede pulsar la tecla Enter (Intro) para utilizar el valor predeterminado o escribir un valor personalizado y, a continuación, pulsar Enter (Intro). En modo silencioso, se proporcionan los valores de entrada después de iniciar el script.

ID de clave de acceso de AWS

El ID de clave de acceso de las credenciales de seguridad temporales o a largo plazo. Especifique esta opción como valor de entrada solo si no proporciona las credenciales como variables de entorno. Para obtener más información, consulte Proporcione credenciales de Cuenta de AWS.

Nombre de la opción para el modo silencioso: --aws-access-key-id

Clave de acceso secreta de AWS

La clave de acceso secreta de las credenciales de seguridad temporales o a largo plazo. Especifique esta opción como valor de entrada solo si no proporciona las credenciales como variables de entorno. Para obtener más información, consulte Proporcione credenciales de Cuenta de AWS.

Nombre de la opción para el modo silencioso: --aws-secret-access-key

Token de sesión de AWS

El token de sesión de las credenciales de seguridad temporales. Especifique esta opción como valor de entrada solo si no proporciona las credenciales como variables de entorno. Para obtener más información, consulte Proporcione credenciales de Cuenta de AWS.

Nombre de la opción para el modo silencioso: --aws-session-token

Región de AWS

La Región de AWS en la que desea crear el grupo de Greengrass. Para obtener las lista de las Región de AWS compatibles, consulte AWS IoT Greengrass en la Referencia general de Amazon Web Services.

Valor predeterminado: us-west-2

Nombre de la opción para el modo silencioso: --region

Group name

El nombre del grupo de Greengrass.

Valor predeterminado: GreengrassDeviceSetup_Group_guid

Nombre de la opción para el modo silencioso: --group-name

Core name (Nombre principal)

El nombre del núcleo de Greengrass. El núcleo es un dispositivo (objeto) AWS IoT que ejecuta el software AWS IoT Greengrass Core. El núcleo se añade al registro de AWS IoT y al grupo de Greengrass. Si proporciona un nombre, este debe ser exclusivo en la Cuenta de AWS y la Región de AWS.

Valor predeterminado: GreengrassDeviceSetup_Core_guid

Nombre de la opción para el modo silencioso: --core-name

Ruta de instalación del software principal AWS IoT Greengrass

La ubicación del sistema de archivos del dispositivo donde desea instalar el software AWS IoT Greengrass Core.

Valor predeterminado: /

Nombre de la opción para el modo silencioso: --ggc-root-path

Hello World Lambda function (Función Hello World de Lambda)

Indica si se desea incluir una función Hello World de Lambda en el grupo de Greengrass. La función publica un mensaje MQTT en el tema hello/world cada cinco segundos.

El script crea y publica esta función de Lambda definida por el usuario en AWS Lambda y la añade al grupo de Greengrass. El script también crea una suscripción en el grupo que permite a la función enviar mensajes MQTT a AWS IoT.

nota

Esta es una función de Lambda de Python 3.7. Si no está instalado Python 3.7 en el dispositivo y el script no puede instalarlo, este imprime un mensaje de error en el terminal. Para incluir la función de Lambda en el grupo, debe instalar Python 3.7 manualmente y reiniciar el script. Para crear el grupo de Greengrass sin la función de Lambda, reinicie el script y escriba no cuando se le solicite que incluya la función.

Valor predeterminado: no

Nombre de la opción para el modo silencioso: --hello-world-lambda. Esta opción no toma un valor. Inclúyala en su comando si desea crear la función.

Deployment timeout (Tiempo de espera de implementación)

Número de segundos antes de que la configuración del dispositivo Greengrass deje de comprobar el estado de la implementación del grupo de Greengrass. Este se utiliza solo cuando el grupo incluye la función Hello World de Lambda. De lo contrario, el grupo no se implementa.

El tiempo de implementación depende de la velocidad de la red. Para velocidades de red lentas, puede aumentar este valor.

Valor predeterminado: 180

Nombre de la opción para el modo silencioso: --deployment-timeout

Log path (Ruta de registro)

Ubicación del archivo de registro que contiene información acerca de las operaciones de configuración del grupo y del núcleo de Greengrass. Utilice este registro para solucionar problemas de implementación y otros problemas con la configuración del núcleo y del grupo de Greengrass.

Valor predeterminado: ./

Nombre de la opción para el modo silencioso: --log-path

Verbosidad

Indica si se debe imprimir información de registro detallada en el terminal mientras se ejecuta el script. Puede utilizar esta información para solucionar problemas de configuración del dispositivo.

Valor predeterminado: no

Nombre de la opción para el modo silencioso: --verbose. Esta opción no toma un valor. Incluya en el comando si desea imprimir información detallada del registro.

 

Ejecución de la configuración del dispositivo Greengrass en modo silencioso

Puede ejecutar la configuración del dispositivo Greengrass en modo silencioso para que el script no le pida ningún valor. Para ejecutar en modo silencioso, especifique el modo bootstrap-greengrass y los valores de entrada después de iniciar el script. Puede omitir los valores de entrada si desea utilizar sus valores predeterminados.

El procedimiento depende de si proporciona las credenciales de Cuenta de AWS como variables de entorno antes de iniciar el script o como valores de entrada después de iniciar el script.

  1. Proporcione sus credenciales como variables de entorno. En el ejemplo siguiente se exportan credenciales temporales, que incluyen el token de sesión.

    export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
    nota

    Si ejecuta la configuración del dispositivo Greengrass en una plataforma Raspbian u OpenWrt, copie estos comandos. Debe proporcionarlos de nuevo después de reiniciar el dispositivo.

  2. Descargue e inicie el script. Proporcione los valores de entrada según sea necesario. Por ejemplo:

    • Para utilizar todos los valores predeterminados:

      wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass
    • Para especificar valores personalizados:

      wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass --region us-east-1 --group-name Custom_Group_Name --core-name Custom_Core_Name --ggc-root-path /custom/ggc/root/path --deployment-timeout 300 --log-path /customized/log/path --hello-world-lambda --verbose
    nota

    Para utilizar curl para descargar el script, reemplace wget -q -O con curl en el comando.

  3. Si el dispositivo principal ejecuta Raspbian u OpenWrt, reinicie el dispositivo cuando se le solicite, proporcione las credenciales y, a continuación, reinicie el script.

    1. Cuando se le solicite que reinicie el dispositivo, ejecute uno de los siguientes comandos.

      Para plataformas Raspbian:

      sudo reboot

      Para plataformas OpenWrt:

      reboot
    2. Una vez que se reinicie el dispositivo, abra el terminal y proporcione las credenciales como variables de entorno.

      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr1K...o5OytwEXAMPLE=
    3. Reinicie el script.

      sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass
    4. Cuando se le pregunte si desea utilizar los valores de entrada de la sesión anterior o iniciar una nueva instalación, escriba yes para volver a utilizar los valores de entrada.

      nota

      En las plataformas que soliciten que se reinicie, los valores de entrada de la sesión anterior, salvo las credenciales, se almacenan temporalmente en el archivo GreengrassDeviceSetup.config.info.

    Una vez finalizada la configuración, el terminal muestra un mensaje de estado de operación correcta similar al siguiente.

    Mensaje de operación correcta en la salida del terminal.
  4. Si ha incluido la función Hello World de Lambda, la configuración del dispositivo Greengrass implementa el grupo de Greengrass en el dispositivo principal. Para probar la función de Lambda u obtener información acerca de cómo eliminar la función de Verificación de la ejecución de la función de Lambda en el dispositivo central del grupo, continúe hacia en el Módulo 3-1 del tutorial de introducción.

    nota

    Asegúrese de que la Región de AWS seleccionada en la consola sea la misma que utilizó para configurar el entorno de Greengrass. De forma predeterminada, la región es oeste de EE. UU. (Oregón).

    Si no ha incluido la función Hello World de Lambda, puede crear su propia función de Lambda o probar otras características de Greengrass. Por ejemplo, puede añadir el conector de implementación de aplicaciones Docker al grupo y utilizarlo para implementar contenedores de Docker en el dispositivo principal.

     

  1. Descargue e inicie el script. Proporcione sus credenciales y cualquier otro valor de entrada que desee especificar. Los ejemplos siguientes muestran cómo proporcionar credenciales temporales, que incluyen el token de sesión.

    • Para utilizar todos los valores predeterminados:

      wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass --aws-access-key-id AKIAIOSFODNN7EXAMPLE --aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --aws-session-token AQoDYXdzEJr1K...o5OytwEXAMPLE=
    • Para especificar valores personalizados:

      wget -q -O ./gg-device-setup-latest.sh https://d1onfpft10uf5o.cloudfront.net/greengrass-device-setup/downloads/gg-device-setup-latest.sh && chmod +x ./gg-device-setup-latest.sh && sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass --aws-access-key-id AKIAIOSFODNN7EXAMPLE --aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --aws-session-token AQoDYXdzEJr1K...o5OytwEXAMPLE= --region us-east-1 --group-name Custom_Group_Name --core-name Custom_Core_Name --ggc-root-path /custom/ggc/root/path --deployment-timeout 300 --log-path /customized/log/path --hello-world-lambda --verbose
    nota

    Si ejecuta la configuración del dispositivo Greengrass en una plataforma Raspbian u OpenWrt, copie sus credenciales. Debe proporcionarlos de nuevo después de reiniciar el dispositivo.

    Para utilizar curl para descargar el script, reemplace wget -q -O con curl en el comando.

  2. Si el dispositivo principal ejecuta Raspbian u OpenWrt, reinicie el dispositivo cuando se le solicite, proporcione las credenciales y, a continuación, reinicie el script.

    1. Cuando se le solicite que reinicie el dispositivo, ejecute uno de los siguientes comandos.

      Para plataformas Raspbian:

      sudo reboot

      Para plataformas OpenWrt:

      reboot
    2. Reinicie el script. Debe incluir sus credenciales en el comando, pero no en los demás valores de entrada. Por ejemplo:

      sudo -E ./gg-device-setup-latest.sh bootstrap-greengrass --aws-access-key-id AKIAIOSFODNN7EXAMPLE --aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY --aws-session-token AQoDYXdzEJr1K...o5OytwEXAMPLE=
    3. Cuando se le pregunte si desea utilizar los valores de entrada de la sesión anterior o iniciar una nueva instalación, escriba yes para volver a utilizar los valores de entrada.

      nota

      En las plataformas que soliciten que se reinicie, los valores de entrada de la sesión anterior, salvo las credenciales, se almacenan temporalmente en el archivo GreengrassDeviceSetup.config.info.

    Una vez finalizada la configuración, el terminal muestra un mensaje de estado de operación correcta similar al siguiente.

    Mensaje de operación correcta en la salida del terminal.
  3. Si ha incluido la función Hello World de Lambda, la configuración del dispositivo Greengrass implementa el grupo de Greengrass en el dispositivo principal. Para probar la función de Lambda u obtener información acerca de cómo eliminar la función de Verificación de la ejecución de la función de Lambda en el dispositivo central del grupo, continúe hacia en el Módulo 3-1 del tutorial de introducción.

    nota

    Asegúrese de que la Región de AWS seleccionada en la consola sea la misma que utilizó para configurar el entorno de Greengrass. De forma predeterminada, la región es oeste de EE. UU. (Oregón).

    Si no ha incluido la función Hello World de Lambda, puede crear su propia función de Lambda o probar otras características de Greengrass. Por ejemplo, puede añadir el conector de implementación de aplicaciones Docker al grupo y utilizarlo para implementar contenedores de Docker en el dispositivo principal.