Diferencias entre los hosts de tipo AWS IoT Greengrass V1 y las AWS IoT Greengrass V2 - 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.

Diferencias entre los hosts de tipo AWS IoT Greengrass V1 y las AWS IoT Greengrass V2

AWS IoT Greengrass V2 presenta nuevos conceptos fundamentales para los dispositivos, las flotas y el software que se implementa. En esta sección, se describen los conceptos de la V1 que son diferentes en la V2.

Conceptos y terminología de Greengrass
Concepto AWS IoT Greengrass V1 AWS IoT Greengrass V2

Código de la aplicación

En AWS IoT Greengrass V1, las funciones de Lambda definen el software que se ejecuta en los dispositivos principales. En cada grupo de Greengrass, usted define las suscripciones y los recursos locales que utiliza la función. Para las funciones de Lambda que el software AWS IoT Greengrass Core ejecuta en un entorno de tiempo de ejecución de Lambda en contenedores, debe definir los parámetros del contenedor, como los límites de memoria.

En AWS IoT Greengrass V2, los componentes son los módulos de software que se ejecutan en los dispositivos principales.

  • Cada componente tiene una receta que define los metadatos, parámetros, dependencias y scripts del componente que se ejecutarán en cada paso del ciclo de vida del componente.

  • La receta también define los artefactos del componente, que son archivos binarios, como scripts, código compilado y recursos estáticos.

  • Al implementar un componente en un dispositivo principal, el dispositivo principal descarga la receta del componente y los artefactos para ejecutar el componente.

Puede importar las funciones de Lambda de la versión 1 como componentes que se ejecutan en un entorno de tiempo de ejecución de Lambda en AWS IoT Greengrass V2. Al importar la función de Lambda, se especifican las suscripciones, los recursos locales y los parámetros del contenedor de la función. Para obtener más información, consulte Paso 2: Crear e implementar componentes de AWS IoT Greengrass V2 para migrar aplicaciones de AWS IoT Greengrass V1.

Para obtener más información sobre cómo crear componentes personalizados, consulte Desarrollo de componentes de AWS IoT Greengrass.

Grupos e implementaciones de AWS IoT Greengrass

En AWS IoT Greengrass V1, un grupo define el dispositivo principal, la configuración y el software de ese dispositivo principal y la lista de objetos de AWS IoT que se pueden conectar a ese dispositivo principal. Se crea una implementación para enviar la configuración de un grupo a un dispositivo principal.

En AWS IoT Greengrass V2, se utilizan las implementaciones para definir los componentes y las configuraciones de software que se ejecutan en los dispositivos principales.

  • Cada implementación se dirige a un dispositivo de un solo núcleo (que es un objeto de AWS IoT) o a un grupo de objetos de AWS IoT que puede contener varios dispositivos principales.

  • Las implementaciones en grupos de objetos son continuas, por lo que cuando se agrega un dispositivo principal a un grupo de objetos, recibe la configuración de software de ese grupo.

Para obtener más información, consulte Implemente AWS IoT Greengrass componentes en los dispositivos.

En AWS IoT Greengrass V2, también puede crear implementaciones locales mediante la CLI de Greengrass para probar componentes de software personalizados en el dispositivo en el que los desarrolla. Para obtener más información, consulte Creación de componentes de AWS IoT Greengrass.

Software AWS IoT Greengrass Core

En AWS IoT Greengrass V1, el software AWS IoT Greengrass Core es un paquete único que contiene el software y todas sus características. El dispositivo de periferia en el que instala el software AWS IoT Greengrass Core se llama Greengrass principal.

En AWS IoT Greengrass V2, el software AWS IoT Greengrass Core es modular, por lo que puede elegir qué instalar para controlar el consumo de memoria.

  • El componente de núcleo de Greengrass es la instalación mínima requerida del software AWS IoT Greengrass Core. El dispositivo de periferia en el que instala el núcleo se llama dispositivo principal de Greengrass.

  • El núcleo se encarga de las implementaciones, la orquestación y la administración del ciclo de vida de otros componentes del dispositivo principal.

  • Las características como el administrador de flujos, el administrador de secretos y el administrador de registros son componentes que se implementan solo cuando se necesitan esas características. Para obtener más información, consulte Componentes proporcionados por AWS.

Connectors

En AWS IoT Greengrass V1, los conectores son módulos preconstruidos que implementa los dispositivos principales de AWS IoT Greengrass V1 para interactuar con la infraestructura local, los protocolos de los dispositivos, AWS, y otros servicios en la nube.

En AWS IoT Greengrass V2, AWS brinda componentes de Greengrass que implementan la funcionalidad proporcionada por los conectores en la V1. Los siguientes componentes de AWS IoT Greengrass V2 ofrecen la funcionalidad del conector de Greengrass V1:

Para obtener más información, consulte Componentes proporcionados por AWS.

Dispositivos conectados (dispositivos de Greengrass)

En AWS IoT Greengrass V1, los dispositivos conectados son elementos de AWS IoT que se agregan a un grupo de Greengrass para conectarse al dispositivo principal de ese grupo y comunicarse a través de MQTT. Debe implementar ese grupo cada vez que agregue o elimine un dispositivo conectado. Utiliza las suscripciones para retransmitir mensajes entre los dispositivos conectados, AWS IoT Core y las aplicaciones del dispositivo principal.

En AWS IoT Greengrass V2, los dispositivos conectados se llaman dispositivos de cliente de Greengrass.

  • Los dispositivos de cliente se asocian a los dispositivos principales para conectarlos y comunicarse a través de MQTT.

  • Para autorizar la conexión de los dispositivos de cliente, debe definir políticas de autorización que se puedan aplicar a grupos de dispositivos de cliente, por lo que no es necesario crear una implementación para agregar o eliminar un dispositivo de cliente.

  • Para retransmitir mensajes entre los dispositivos de cliente, AWS IoT Core y los componentes de Greengrass, puede configurar un componente de puente MQTT opcional.

En ambos AWS IoT Greengrass V1 y AWS IoT Greengrass V2, los dispositivos pueden ejecutar FreeRTOS o usar el SDK para dispositivos con AWS IoT o la API de detección de Greengrass para obtener información sobre los dispositivos principales a los que se pueden conectar. La API de detección de Greengrass es compatible con versiones anteriores, por lo que si tiene dispositivos de cliente que se conectan a un dispositivo principal V1, puede conectarlos a un dispositivo principal V2 sin cambiar su código.

Para obtener más información acerca de los dispositivos de cliente, consulte Interacción con dispositivos IoT locales.

Recursos locales

En AWS IoT Greengrass V1, las funciones de Lambda que se ejecutan en contenedores se pueden configurar para acceder a los volúmenes y dispositivos del sistema de archivos del dispositivo principal. Estos recursos del sistema de archivos se conocen como recursos locales.

En AWS IoT Greengrass V2, puede ejecutar componentes que sean funciones de Lambda, contenedores de Docker o procesos nativos del sistema operativo o tiempos de ejecución personalizados.

  • Al importar una función de Lambda contenerizada como componente, debe especificar los recursos locales que utiliza la función.

  • Las funciones de Lambda no contenerizadas y los componentes que no son de Lambda pueden funcionar directamente con los recursos locales en los dispositivos principales, por lo que no es necesario especificar los recursos locales que utiliza el componente.

Servicio de sombra local

En AWS IoT Greengrass V1, el servicio de sombra local está activado de forma predeterminada y solo admite sombras clásicas sin nombre. El SDK de AWS IoT Greengrass Core se utiliza en las funciones de Lambda para interactuar con las sombras de los dispositivos.

En AWS IoT Greengrass V2, habilita el servicio de sombra local implementando el componente de administrador de sombras.

  • Puede utilizar el SDK para dispositivos con AWS IoT V2 en las funciones de Lambda y componentes personalizados para interactuar con las sombras de los dispositivos.

  • El servicio de sombra local admite sombras con nombre.

  • El servicio de sombra local permite eliminar las sombras y sincronizar las sombras eliminadas con AWS IoT Core.

Para obtener más información, consulte Interacción con las sombras de dispositivo.

Suscripciones

En AWS IoT Greengrass V1, se definen las suscripciones para un grupo de Greengrass para especificar los canales de comunicación entre las funciones de Lambda, los conectores, los dispositivos conectados, el agente MQTT de AWS IoT Core y el servicio de sombra local. Las suscripciones especifican dónde reciben las funciones de Lambda los mensajes de eventos para utilizarlos como cargas útiles de funciones.

En AWS IoT Greengrass V2, se especifican los canales de comunicación sin utilizar suscripciones.

  • Los componentes administran sus propios canales de comunicación para interactuar con la mensajería de publicación y suscripción local, los mensajes MQTT de AWS IoT Core y el servicio de sombra local.

  • Para configurar los canales de comunicación entre los dispositivos de cliente, el agente local de publicación/suscripción y el agente MQTT de AWS IoT Core, debe configurar e implementar el componente puente de MQTT. El componente puente de MQTT le permite interactuar con los dispositivos de cliente en los componentes y retransmitir mensajes entre los dispositivos de cliente y AWS IoT Core.

Acceso a otros Servicios de AWS

En AWS IoT Greengrass V1, se adjunta un rol de AWS Identity and Access Management (IAM), llamado rol de grupo, a un grupo de Greengrass. El rol de grupo define los permisos que utilizan las funciones de Lambda y características de AWS IoT Greengrass en el dispositivo principal de ese grupo para acceder a los Servicios de AWS.

En AWS IoT Greengrass V2, adjunta un alias de rol de AWS IoT a un dispositivo principal de Greengrass. El alias del rol apunta a un rol de IAM llamado rol de intercambio de token. El rol de intercambio de tokens define los permisos que utilizan los componentes de Greengrass del dispositivo principal para acceder a Servicios de AWS. Para obtener más información, consulte Autorización de los dispositivos principales para interactuar con los servicios de AWS.