Configuración de un nuevo dispositivo principal V2 para probar las aplicaciones de V1 - AWS IoT Greengrass

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 un nuevo dispositivo principal V2 para probar las aplicaciones de V1

Configure un nuevo dispositivo principal de AWS IoT Greengrass V2 para implementar y probar los componentes y funciones de AWS Lambda proporcionados por AWS para sus aplicaciones de AWS IoT Greengrass V1. También puede usar este dispositivo principal V2 para desarrollar y probar componentes de Greengrass personalizados adicionales que ejecutan procesos nativos en los dispositivos principales. Después de probar sus aplicaciones en un dispositivo principal V2, puede actualizar sus dispositivos principales V1 existentes a V2 e implementar los componentes de V2 que ofrecen la funcionalidad de la V1.

Paso 1: Instalar AWS IoT Greengrass V2 en un nuevo dispositivo

Instale el software AWS IoT Greengrass Core versión 2.x en un dispositivo nuevo. Puede seguir el tutorial de introducción para configurar un dispositivo y aprender a desarrollar e implementar componentes. En este tutorial, se utiliza el aprovisionamiento automático para configurar rápidamente un dispositivo. Cuando instale el software AWS IoT Greengrass Core versión 2.x, especifique el argumento --deploy-dev-tools para implementar la CLI de Greengrass, de modo que pueda desarrollar, probar y depurar componentes directamente en el dispositivo. Para obtener más información sobre otras opciones de instalación, incluida la forma de instalar el software AWS IoT Greengrass Core detrás de un proxy o mediante un módulo de seguridad de hardware (HSM), consulte Instalación del software AWS IoT Greengrass Core.

(Opcional) Habilite los Registros de Amazon CloudWatch

Para permitir que un dispositivo principal V2 cargue Registros de Amazon CloudWatch, puede implementar el componente de administrador de registros proporcionado por AWS. Puede usar los Registros de CloudWatch para ver los registros de los componentes, de forma que pueda depurar y solucionar problemas sin acceso al sistema de archivos del dispositivo principal. Para obtener más información, consulte Supervisión de los registros de AWS IoT Greengrass.

Paso 2: Crear e implementar componentes de AWS IoT Greengrass V2 para migrar aplicaciones de AWS IoT Greengrass V1

Puede ejecutar la mayoría de las aplicaciones de AWS IoT Greengrass V1 en AWS IoT Greengrass V2. Puede importar funciones de Lambda como componentes que se ejecutan en AWS IoT Greengrass V2 y puede usar los componentes proporcionados por AWS que ofrecen la misma funcionalidad que los conectores de AWS IoT Greengrass.

También puede desarrollar componentes personalizados para crear cualquier característica o tiempo de ejecución que se ejecute en los dispositivos principales de Greengrass. Para obtener más información acerca de cómo desarrollar y probar componentes de forma local, consulte Creación de componentes de AWS IoT Greengrass.

Cómo importar una función de Lambda V1

Puede importar funciones de Lambda como componentes de AWS IoT Greengrass V2. Puede elegir entre los siguientes enfoques:

  • Importe funciones de Lambda V1 directamente como componentes de Greengrass.

  • Actualice las funciones de Lambda para utilizar las bibliotecas de Greengrass en el SDK para dispositivos con AWS IoT versión 2 y, a continuación, importe las funciones de Lambda como componentes de Greengrass.

  • Cree componentes personalizados que utilicen código que no sea de Lambda y el SDK para dispositivos con AWS IoT versión 2 para implementar la misma funcionalidad que sus funciones de Lambda.

Si su función de Lambda usa características, como el administrador de flujos o secretos locales, debe definir las dependencias en los componentes proporcionados por AWS que empaquetan estas características. Al implementar el componente de función de Lambda, la implementación también incluye el componente para cada característica que defina como dependencia. En la implementación, puede configurar los parámetros, como los secretos que se van a implementar en el dispositivo principal. No todas las características de la V1 requieren una dependencia de componentes para la función de Lambda en la V2. La siguiente lista describe cómo utilizar las características de la V1 en el componente de la función de Lambda de la V2.

  • Acceda a otros servicios de AWS

    Si la función de Lambda usa credenciales de AWS para realizar solicitudes a otros servicios de AWS, el rol de intercambio de token del dispositivo principal debe permitir que el dispositivo principal realice las operaciones de AWS que usa la función de Lambda. Para obtener más información, consulte Autorización de los dispositivos principales para interactuar con los servicios de AWS.

  • Administrador de flujos

    Si su función de Lambda usa el administrador de flujos, especifique aws.greengrass.StreamManager como una dependencia de componente al importar la función. Al implementar el componente del administrador de flujos, especifique los parámetros del administrador de flujos que desee configurar para los dispositivos principales de destino. La función de intercambio de tokens del dispositivo principal debe permitir que este último acceda a los destinos de la Nube de AWS que utiliza con el administrador de flujo. Para obtener más información, consulte Administrador de flujos.

  • Secretos locales

    Si su función de Lambda usa el administrador de flujos, especifíque aws.greengrass.SecretManager como una dependencia de componente al importar la función. Al implementar el componente del administrador de secretos, especifique los recursos secretos que se van a implementar en los dispositivos principales de destino. El rol de intercambio de tokens del dispositivo principal debe permitir que el dispositivo principal recupere los recursos secretos para implementarlos. Para obtener más información, consulte Administrador de secretos.

    Al implementar el componente de la función de Lambda, configúrelo para que tenga una política de autorización de IPC que conceda permiso para usar la operación IPC GetSecretValue en el SDK para dispositivos con AWS IoT V2.

  • Sombras locales

    Si la función de Lambda interactúa con las sombras locales, debe actualizar el código de la función de Lambda para usar el SDK para dispositivos con AWS IoT V2. También debe especificar aws.greengrass.ShadowManager como dependencia de un componente al importar la función. Para obtener más información, consulte Interacción con las sombras de dispositivo.

    Al implementar el componente de la función de Lambda, configúrelo para que tenga una política de autorización de IPC que conceda permiso para usar las operaciones de IPC de sombra en el SDK para dispositivos con AWS IoT V2.

  • Suscripciones

    • Si su función de Lambda se suscribe a mensajes de un origen en la nube, especifique esas suscripciones como orígenes de eventos al importar la función.

    • Si la función de Lambda se suscribe a los mensajes de otra función de Lambda, o si la función de Lambda publica mensajes en AWS IoT Core u otras funciones de Lambda, configure e implemente el componente del enrutador de suscripciones heredado al implementar la función de Lambda. Al implementar el componente del enrutador de suscripciones heredado, especifique las suscripciones que utiliza la función de Lambda.

      nota

      El componente del enrutador de suscripción heredado solo es necesario si la función de Lambda utiliza la función publish() en el SDK de AWS IoT Greengrass Core. Si actualiza el código de la función de Lambda para utilizar la interfaz de comunicación entre procesos (IPC) de el SDK para dispositivos con AWS IoT V2, no necesitará implementar el componente del enrutador de suscripción heredado. Para obtener más información, consulte los siguientes servicios de comunicación entre procesos:

    • Si su función de Lambda se suscribe a mensajes de dispositivos conectados locales, especifique esas suscripciones como orígenes de eventos al importar la función. También debe configurar e implementar el componente de puente MQTT para retransmitir los mensajes desde los dispositivos conectados a los temas locales de publicación o suscripción que especifique como orígenes de eventos.

    • Si su función de Lambda publica mensajes en dispositivos conectados locales, debe actualizar el código de la función de Lambda para usar el SDK para dispositivos con AWS IoT V2 para publicar mensajería de publicación y suscripción local. También debe configurar e implementar el componente puente MQTT para retransmitir mensajes desde el agente de mensajería de publicación y suscripción local a los dispositivos conectados.

  • Volúmenes y dispositivos locales

    Si la función de Lambda en contenedores accede a volúmenes o dispositivos locales, especifique esos volúmenes y dispositivos al importar la función de Lambda. Esta característica no requiere una dependencia de componentes.

Para obtener más información, consulte Ejecución de funciones de AWS Lambda.

Uso de conectores de V1

Puede implementar los componentes proporcionados por AWS que ofrecen la misma funcionalidad que algunos conectores de AWS IoT Greengrass. Al crear la implementación, puede configurar los parámetros de los conectores.

Los siguientes componentes de AWS IoT Greengrass V2 ofrecen la funcionalidad del conector de Greengrass V1:

Ejecución de contenedores de Docker

AWS IoT Greengrass V2 no proporciona un componente que sustituya directamente al conector de implementación de aplicaciones de Docker de la versión 1. Sin embargo, puede usar el componente del administrador de aplicaciones de Docker para descargar imágenes de Docker y, a continuación, crear componentes personalizados que ejecuten contenedores de Docker a partir de las imágenes descargadas. Para obtener más información, consulte Ejecución de un contenedor de Docker y Administrador de aplicaciones de Docker.

Ejecución de inferencia de machine learning

AWS IoT Greengrass V2 proporciona un componente del Administrador de periféricos de Amazon SageMaker AI que instala el agente del Administrador de periféricos de Amazon SageMaker AI y permite utilizar modelos compilados con SageMaker AI Neo como componentes de modelos en los dispositivos principales de Greengrass. AWS IoT Greengrass V2 también proporciona componentes que instalan el tiempo de ejecución de aprendizaje profundo y TensorFlow Lite en el dispositivo. Puede usar el modelo y los componentes de inferencia correspondientes de DLR y TensorFlow Lite para realizar la clasificación de imágenes de muestra y la inferencia de detección de objetos. Para usar otros marcos de machine learning, como MXNet y TensorFlow, puede desarrollar sus propios componentes personalizados que usen estos marcos.

Conexión de dispositivos de Greengrass V1

Los dispositivos conectados en AWS IoT Greengrass V1 se denominan dispositivos de cliente en AWS IoT Greengrass V2. La compatibilidad de AWS IoT Greengrass V2 con dispositivos de cliente se da con versiones anteriores de AWS IoT Greengrass V1, por lo que puede conectar los dispositivos de cliente V1 a los dispositivos principales V2 sin cambiar su código de aplicación. Para permitir que los dispositivos de cliente se conecten a un dispositivo principal V2, implemente componentes de Greengrass que admiten dispositivos de cliente y asocie los dispositivos de cliente al dispositivo principal. Para retransmitir mensajes (incluidas las funciones de Lambda) entre los dispositivos cliente, el servicio en la nube de AWS IoT Core y los componentes de Greengrass, implemente y configure el componente puente MQTT. Implemente el componente detector de IP para detectar de forma automática la información de conectividad o administre manualmente los puntos de conexión. Para obtener más información, consulte Interacción con dispositivos IoT locales.

Cómo habilitar el servicio de sombra local

En AWS IoT Greengrass V2, el servicio de sombra local se implementa mediante el componente del administrador de sombra proporcionado por AWS. AWS IoT Greengrass V2 también es compatible con las sombras con nombre. Para permitir que sus componentes interactúen con las sombras locales y se sincronicen los estados de las sombras a AWS IoT Core, configure e implemente el componente del administrador de sombras y utilice las operaciones de IPC de sombra en el código del componente. Para obtener más información, consulte Interacción con las sombras de dispositivo.

Integración con AWS IoT SiteWise

Si utiliza su dispositivo principal V1 como puerta de enlace de AWS IoT SiteWise, siga las instrucciones para configurar su nuevo dispositivo principal V2 como puerta de enlace de AWS IoT SiteWise. AWS IoT SiteWise proporciona un script de instalación que implementa los componentes de AWS IoT SiteWise automáticamente.

Paso 3: Probar las aplicaciones de AWS IoT Greengrass V2

Tras crear e implementar los componentes de la V2 en el nuevo dispositivo principal de la V2, compruebe que las aplicaciones cumplen sus expectativas. Puede consultar los registros del dispositivo para ver los mensajes de salida estándar (stdout) y de error estándar (stderr) de sus componentes. Para obtener más información, consulte Supervisión de los registros de AWS IoT Greengrass.

Si implementó la CLI de Greengrass en el dispositivo principal, puede usarla para depurar componentes y sus configuraciones. Para obtener más información, consulte Comandos de la CLI de Greengrass.

Tras comprobar que las aplicaciones funcionan en un dispositivo principal V2, puede implementar los componentes de Greengrass de la aplicación en otros dispositivos principales. Si ha desarrollado componentes personalizados que ejecutan procesos nativos o contenedores de Docker, primero debe publicar esos componentes en el servicio de AWS IoT Greengrass para implementarlos en otros dispositivos principales.