Administrar secuencias de datos en el núcleo de AWS IoT 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.

Administrar secuencias de datos en el núcleo de AWS IoT Greengrass

El administrador de secuencias AWS IoT Greengrass hace que sea más fácil y confiable transferir datos de IoT de gran volumen a la Nube de AWS. Un administrador de secuencias procesa flujos de datos localmente y los exporta automáticamente a la Nube de AWS. Esta característica se integra con situaciones límite habituales, como la inferencia de aprendizaje automático (ML), donde los datos se procesan y analizan localmente antes de exportarlos a la Nube de AWS o a destinos de almacenamiento local.

El administrador de secuencias simplifica el desarrollo de aplicaciones. Sus aplicaciones de IoT pueden utilizar un mecanismo estandarizado para procesar secuencias de gran volumen y administrar políticas de retención de datos locales en lugar de crear funciones de administración de secuencias personalizadas. Las aplicaciones de IoT pueden leer y escribir en secuencias. Pueden definir políticas para el tipo de almacenamiento, el tamaño y la retención de datos en función de cada secuencia para controlar cómo el administrador de secuencias procesa y exporta secuencias.

El administrador de secuencias está diseñado para trabajar en entornos con conectividad intermitente o limitada. Puede definir el uso del ancho de banda, el comportamiento del tiempo de espera y cómo se administran los datos de secuencias cuando el núcleo está conectado o desconectado. Para los datos críticos, puede establecer prioridades para controlar el orden en que se exportan las secuencias a la Nube de AWS.

Puede configurar las exportaciones automáticas a la Nube de AWS para su almacenamiento y posterior procesamiento y análisis. El administrador de secuencias admite la exportación a los siguientes destinos Nube de AWS.

  • Canales en AWS IoT Analytics. AWS IoT Analytics le permite realizar análisis avanzados de sus datos para ayudarle a tomar decisiones empresariales y mejorar los modelos de machine learning. Para obtener más información, consulte ¿Qué es AWS IoT Analytics? en la Guía del usuario de AWS IoT Analytics.

  • Fuye por Kinesis Data Streams Kinesis Data Streams se suele utilizar para agregar grandes volúmenes de datos y cargarlos en un almacenamiento de datos o en un clúster de map-reduce. Para obtener más información, consulte ¿Qué son los Amazon Kinesis Data Streams? en la Guía para desarrolladores de Amazon Kinesis.

  • Propiedades de los activos en AWS IoT SiteWise. AWS IoT SiteWise le permite recopilar, organizar y analizar datos de equipos industriales a escala. Para obtener más información, consulte ¿Qué es AWS IoT SiteWise? en la Guía del usuario de AWS IoT SiteWise.

  • Objetos en Amazon S3. Puede utilizar Amazon S3 para almacenar y recuperar grandes cantidades de datos. Para obtener más información, consulte ¿Qué es Amazon S3? en la Guía para desarrolladores de Amazon Simple Storage Service.

Flujo de trabajo de la administración de secuencias

Sus aplicaciones de IoT interactúan con el administrador de flujo a través del SDK de AWS IoT Greengrass Core.. En un flujo de trabajo simple, una función de Lambda definida por el usuario que se ejecuta en el núcleo de Greengrass consume los datos de IoT, como las métricas de temperatura y presión de serie temporal. La función de Lambda podría filtrar o comprimir los datos y luego llamar al SDK de AWS IoT Greengrass Core para escribir los datos en una secuencia en el administrador de secuencias. El administrador de secuencias puede exportar la secuencia a la Nube de AWS automáticamente, en función de las políticas definidas para la secuencia. Las funciones de Lambda definidas por el usuario también pueden enviar datos directamente a bases de datos locales o repositorios de almacenamiento.

Sus aplicaciones de IoT pueden incluir múltiples funciones de Lambda definidas por el usuario que leen o escriben en secuencias. Estas funciones de Lambda locales pueden leer y escribir en secuencias para filtrar, añadir y analizar datos localmente. Esto permite responder rápidamente a eventos locales y extraer información valiosa antes de que los datos se transfieran desde el núcleo a la nube o destinos locales.

En el siguiente diagrama se muestra un flujo de trabajo de ejemplo.

Diagrama del flujo de trabajo del administrador de secuencias.

Para usar el administrador de secuencias, comience por configurar los parámetros del administrador de secuencias para definir los ajustes de tiempo de ejecución a nivel de grupo que se apliquen a todas las secuencias del núcleo de Greengrass. Esta configuración personalizable le permite controlar cómo el administrador de secuencias almacena, procesa y exporta secuencias en función de las necesidades de su negocio y las restricciones del entorno. Para obtener más información, consulte Configurar el administrador de secuencias de AWS IoT Greengrass.

Después de configurar el administrador de secuencias, puede crear e implementar sus aplicaciones de IoT. Por lo general, se trata de funciones de Lambda definidas por el usuario que utilizan StreamManagerClient en el SDK de AWS IoT Greengrass Core para crear secuencias e interactuar con ellas. Durante la creación de la secuencia, la función de Lambda define las políticas por secuencia, como los destinos de exportación, la prioridad y la persistencia. Para obtener más información, incluidos fragmentos de código para las operaciones StreamManagerClient, consulte Utilizar StreamManagerClient para trabajar con secuencias.

Para ver tutoriales que configuran un flujo de trabajo sencillo, consulte Exportar flujos de datos a la Nube de AWS (consola) o Exportar secuencias de datos a la Nube de AWS (CLI).

Requisitos

Se aplican los siguientes requisitos para el administrador de flujo:

  • Debe utilizar el software AWS IoT Greengrass Core versión 1.10 o posterior, con el administrador de secuencias habilitado. Para obtener más información, consulte Configurar el administrador de secuencias de AWS IoT Greengrass.

    El administrador de secuencias no es compatible con las distribuciones OpenWrt.

  • Debe instalarse Java 8 Runtime (JDK 8) en el núcleo.

     

  • El administrador de secuencias requiere un mínimo de 70 MB de RAM además de su software básico Core AWS IoT Greengrass. El requisito total de memoria depende de la carga de trabajo.

     

  • Las funciones de Lambda definidas por el usuario deben utilizar el SDK de AWS IoT GreengrassCore para interactuar con el administrador de flujo. El SDK AWS IoT Greengrass Core está disponible en varios idiomas, pero solo las siguientes versiones admiten las operaciones del administrador de secuencias.

    • SDK de Java (versión 1.4.0 o posterior)

    • SDK de Python (versión 1.5.0 o posterior)

    • SDK de Node.js (versión 1.6.0 o posterior)

    Descargue la versión del SDK que corresponda al tiempo de ejecución de la función de Lambda e inclúyala en el paquete de implementación de la función de Lambda.

    nota

    El SDK de AWS IoT Greengrass Core para Python requiere Python 3.7 o posterior y tiene otras dependencias de paquetes. Para obtener más información, consulte Crear un paquete de implementación de funciones de Lambda (consola) o Crear un paquete de implementación de funciones de Lambda (CLI).

  • Si define destinos de exportación de Nube de AWS para un flujo, deberá crear sus destinos de exportación y conceder permisos de acceso en el rol de grupo Greengrass. Según el destino, es posible que también se apliquen otros requisitos. Para obtener más información, consulte:

    Usted es responsable del mantenimiento de estos recursos de Nube de AWS.

Seguridad de los datos

Cuando utilice el administrador de secuencias, tenga en cuenta las siguientes consideraciones de seguridad.

Seguridad de los datos locales

AWS IoT Greengrass no cifra los datos de secuencias en reposo o en tránsito localmente entre los componentes del dispositivo del núcleo.

  • Datos en reposo. Los datos de secuencias se almacenan localmente en un directorio de almacenamiento en el núcleo de Greengrass. Para la seguridad de los datos, AWS IoT Greengrass se basa en los permisos de archivo Unix y el cifrado de disco completo, si está habilitado. Puede utilizar el parámetro opcional STREAM_MANAGER_STORE_ROOT_DIR para especificar el directorio de almacenamiento. Si cambia este parámetro más adelante para utilizar un directorio de almacenamiento diferente, AWS IoT Greengrass no eliminará el directorio de almacenamiento anterior ni su contenido.

     

  • Datos en tránsito localmente. AWS IoT Greengrass no cifra datos de secuencias en tránsito en el núcleo local entre orígenes de datos, funciones de Lambda, el SDK de AWS IoT Greengrass Core y el administrador de flujos.

     

  • Datos en tránsito a la Nube de AWS. Las secuencias de datos exportadas por el administrador de secuencias a la Nube de AWS utilizan cifrado de cliente de servicio AWS estándar con seguridad de la capa de transporte (TLS)

Para obtener más información, consulte Cifrado de datos.

Autenticación del cliente

Los clientes del administrador de secuencias utilizan el SDK de AWS IoT Greengrass Core para comunicarse con el administrador de flujos. Cuando la autenticación de cliente está habilitada, sólo las funciones de Lambda del grupo Greengrass pueden interactuar con las secuencias en el administrador de secuencias. Cuando la autenticación de cliente está deshabilitada, cualquier proceso que se ejecute en el núcleo de Greengrass (como contenedores Docker) puede interactuar con las secuencias en el administrador de secuencias. Debe deshabilitar la autenticación solo si su caso de negocio lo requiere.

Utilice el parámetro STREAM_MANAGER_AUTHENTICATE_CLIENT para establecer el modo de autenticación del cliente. Puede configurar este parámetro desde la consola o API de AWS IoT Greengrass. Los cambios surten efecto después de implementar el grupo.

  Habilitado Deshabilitado

Valor del parámetro

true (predeterminado y recomendado)

false

Clientes permitidos

Funciones de Lambda definidas por el usuario en el grupo Greengrass

Funciones de Lambda definidas por el usuario en el grupo Greengrass

Otros procesos que se ejecutan en el dispositivo del núcleo de Greengrass

Véase también