Preguntas generales

¿Qué es AWS Greengrass?

AWS Greengrass es un software que le permite ejecutar capacidades de informática local, mensajería, almacenamiento de datos en caché, sincronización e inferencia mediante aprendizaje automático en dispositivos conectados de manera segura. Con AWS Greengrass, los dispositivos conectados pueden ejecutar funciones de AWS Lambda, ejecutar predicciones basadas en modelos de aprendizaje automático, mantener los datos de dispositivos sincronizados y comunicarse con otros dispositivos de manera segura, incluso sin estar conectados a Internet.

AWS Greengrass amplía AWS a dispositivos de manera sencilla, con lo que pueden actuar a nivel local en función de los datos que generan, al tiempo que utilizar la nube para tareas de administración, análisis y almacenamiento duradero. Con Greengrass, puede utilizar lenguajes y modelos de programación familiares para crear el software de sus dispositivos en la nube y, a continuación, implementarlo en sus dispositivos. AWS Greengrass se puede programar para que filtre datos de dispositivos y solo transmita información necesaria de vuelta a la nube.

Para obtener más información sobre las características de AWS Greengrass, haga clic aquí.

ML Inference es una característica de AWS Greengrass que facilita la inferencia mediante aprendizaje automático de forma local en los dispositivos Greengrass que utilicen modelos creados y programados en la nube. Para inscribirse para la versión preliminar de ML Inference, haga clic aquí.

¿Cómo comienzo a usar Greengrass?

Haga clic aquí para consultar la guía de introducción de Greengrass. Puede hacer clic aquí para adquirir un Raspberry Pi, o vaya más abajo para consultar una lista de otros dispositivos cualificados y un conjunto detallado de las dependencias técnicas.

P: ¿En qué regiones de AWS está disponible el servicio AWS Greengrass?

En estos momentos, AWS Greengrass se encuentra disponible en las siguientes regiones de AWS:

• EE.UU. Este (Norte de Virginia)
• EE.UU. Oeste (Oregón)
• UE (Frankfurt)
• Asia Pacífico (Sídney)
• Asia Pacífico (Tokio)

Puede usar AWS Greengrass independientemente de la región geográfica en la que se encuentre, siempre y cuando tenga acceso a una de las regiones de AWS anteriores.

¿Cuáles son los principales componentes del software de AWS Greengrass? ¿Qué hace cada componente?

AWS Greengrass cuenta con tres distribuciones de software: Núcleo de AWS Greengrass, SDK para dispositivos con AWS IoT y SDK para AWS Greengrass. En la siguiente tabla se ofrece una comparación entre las tres distribuciones de software.

AWS Greengrass también se puede utilizar junto con Amazon FreeRTOS. Para obtener más información acerca de Greengrass y Amazon FreeRTOS, consulte la sección de preguntas frecuentes con el título “Conexión de Greengrass a Amazon FreeRTOS y otros dispositivos”.

  Uso Dónde se ejecuta
Núcleo de AWS Greengrass Proporciona servicios locales (computación, mensajería, estado, seguridad) y se comunica localmente con los dispositivos que se ejecutan en el SDK para dispositivos de AWS IoT. Dispositivos basados en CPU (x86 o ARM) que ejecutan un SO de uso general, como Linux.
SDK para dispositivos de AWS IoT Permite que los dispositivos puedan interactuar localmente con Greengrass Core. Casi cualquier dispositivo que admita el uso de C++ o Python 2.7.También se incluye en Amazon FreeRTOS
SDK para AWS Greengrass Permite que las funciones de Lambda puedan interactuar con servicios locales dentro de Greengrass Core. En el interior de una función de Lambda implementada en Greengrass Core.

¿Qué lenguajes de desarrollo de Lambda son compatibles con AWS Greengrass?

Greengrass admite el uso de funciones de Lambda creadas con los siguientes lenguajes:

  • Python 2.7
  • Node.JS 6.10
  • Java 8

¿Qué funciones de Lambda se pueden implementar en Greengrass?

Se puede implementar en el núcleo de Greengrass cualquier función de Lambda compatible con el tiempo de ejecución de Lambda para Python 2.7, Node.JS 6.10 o Java 8. Las funciones de Lambda que se implementen en Greengrass deben estar incluidas en el mismo paquete que el SDK para el núcleo de Greengrass. Asimismo, también puede añadir el SDK de AWS al paquete de Lambda para facilitar la interacción con ciertos servicios de AWS, como DynamoDB.

Tenga en cuenta que algunos servicios en la nube necesarios para el funcionamiento de Lambda (p. ej. DynamoDB) no estarán disponibles mientras Greengrass Core esté en modo offline y las llamadas al API a dichos servicios estarán en modo offline. Además, las funciones de Lambda necesitan un espacio de nombres adecuado para cada SDK de núcleo de Greengrass y SDK de AWS, si incluye ambos dentro del mismo paquete.

Acceso a recursos locales

¿Qué es un recurso local de Greengrass?

“Recurso local” hace referencia a los buses y periféricos que están presentes físicamente en el host de Greengrass, o a un volumen de sistema de archivos presente en el SO del host de Greengrass. Por ejemplo, para comunicarse con dispositivos conectados a través de Modbus / CANBUS, una función de Lambda de Greengrass tendría que acceder al puerto de serie del dispositivo. Un recurso local se define dentro del ámbito del grupo de Greengrass, todas las funciones Lambda del grupo de Greengrass pueden utilizar los recursos locales definidos.

¿Cuándo accedería a un recurso local?

El recurso local de Greengrass permite que sus funciones de Lambda interactúen con el hardware de forma segura, como en el caso de sensores y actuadores. Por ejemplo, su función de Lambda puede leer transmisiones de vídeo de la cámara del dispositivo, o enviar comandos y controles a GPIO.

¿El recurso local es una función de acceso gratuito?

La función forma parte de Greengrass y se ofrece sin ningún tipo de coste extra a los clientes de Greengrass.

ML Inference

¿Qué es Greengrass ML Inference?

En re:Invent 2017, anunciamos una nueva función de Greengrass para la inferencia mediante aprendizaje automático (ML) local que acelera y facilitar la implementación y ejecución de modelos de aprendizaje automático en los dispositivos Greengrass. Ahora, los desarrolladores pueden añadir modelos de aprendizaje automático programados en la nube como recursos para un grupo de Greengrass, implementarlos en los dispositivos objetivo y aplicarlos a los datos generados localmente para generar inferencias locales. La función incluye integración con Amazon SageMaker para la localización de modelos programados de SageMaker, un nuevo tipo de recurso de “aprendizaje automático” de Greengrass para la declaración e implementación de modelos programados en la nube para dispositivos Greengrass, y MXNet preintegrado (ML framework) para dispositivos NVIDIA Jetson, Intel Atom E3900 y Raspberry Pi. La nueva función de inferencias mediante aprendizaje automático de Greengrass está disponible como versión preliminar para aquellos clientes que estén interesados.

¿Cómo puedo acceder a Greengrass ML Inference?

Haga clic aquí para obtener más información acerca de Greengrass ML Inference y para inscribirse para recibir la versión preliminar.

Adaptadores de protocolos

¿Cómo puedo utilizar el protocolo OPC-UA con AWS Greengrass?

Greengrass ya es compatible con OPC-UA, un conocido estándar de intercambio de información para comunicaciones industriales. Con la compatibilidad de OPC-UA con Greengrass, podrá recibir y procesar de forma sencilla mensajes de equipos industriales, y suministrarlos a otro dispositivo o a la nube en función de las reglas empresariales que defina. Nuestra implementación de OPC-UA es segura y permite la autenticación basada en certificados. Se basa en una implementación de código abierto muy conocida y se puede personalizar en su totalidad para adaptarla a su caso de uso concreto.

¿Puede utilizar mi propia implementación del protocolo OPC-UA o implementar un protocolo diferente?

Sí, con Greengrass podrá utilizar la misma arquitectura para usar su propia implementación de OPC-UA, y también podrá implementar su propio soporte para protocolos de mensajería personalizados, antiguos y propios. 

¿Cómo puedo utilizar Greengrass para implementar protocolos alternativos?

Dado que las funciones de Lambda que se ejecutan en los Greengrass Cores tienen acceso a los recursos de la red, puede utilizar Lambda para implementar el soporte para cualquier protocolo implementado sobre TCP-IP. Además, también puede aprovechar el acceso a recursos locales de Greengrass para implementar el soporte para protocolos que necesiten acceso a adaptadores/controladores de hardware.

Actualizaciones Over the Air (OTA)

¿Qué son las actualizaciones Over the Air (OTA) de Greengrass?

Cada cierto tiempo, AWS publicará versiones actualizadas del software de Greengrass Core para ofrecer las siguientes ventajas:

  • Introducir características nuevas o mejoradas
  • Correcciones de errores
  • Mejoras en la seguridad

Con las actualizaciones Over the Air (OTA) de Greengrass, los clientes pueden recibir todas estas ventajas sin tener que descargar y reinstalar manualmente el software de Greengrass Core.

¿Tengo que utilizar las actualizaciones OTA de Greengrass?

No. Siempre puede elegir la opción de descargar e instalar las actualizaciones de forma manual o siguiendo un proceso de implementación de software diferente.

¿Cómo se me notificará si hay nuevas versiones de Greengrass Core disponibles?

Cuando haya nuevas versiones de Greengrass Core disponibles, lo anunciaremos en el foro para desarrolladores de software de AWS Greengrass. Puede encontrar un enlace a ese foro aquí.

Compatibilidad de plataformas de Greengrass Core

¿Qué son los dispositivos de AWS Greengrass Core? ¿Qué especificaciones de hardware mínimas son obligatorias?

El software de AWS Greengrass Core se ejecuta en un concentrador, una gateway u otro dispositivo para sincronizarse e interactuar automáticamente con la nube. El núcleo de Greengrass está diseñado para ejecutarse en dispositivos con un procesador de uso general lo suficientemente potente como para ejecutar un sistema operativo de uso general, como Linux. Greengrass requiere al menos 1 GHz de computación (ARM o X86), 128 MB de RAM y otros recursos para alojar el sistema operativo deseado, el desempeño de mensajes y la ejecución de AWS Lambda en función del caso de uso. Greengrass Core se puede ejecutar en dispositivos que van desde un Raspberry Pi a un dispositivo de nivel de servidor.

¿Qué arquitecturas de CPU y sistemas operativos son compatibles con AWS Greengrass Core?

Los sistemas operativos y las arquitecturas de CPU compatibles con Greengrass Core son las siguientes:

  • Arquitectura: ARMv7l; OS: Linux; Distribución: Raspian
  • Arquitectura: x86_64; OS: Linux; Distribución: Amazon Linux
  • Arquitectura: x86_64; OS: Linux; Distribución: Ubuntu 14.04 – 16.04
  • Arquitectura: ARMv8 (AArch64); OS: Linux; Distribución: Ubuntu 14.04 – 16.04

¿Cuáles son los dispositivos compatibles con AWS Greengrass Core? ¿Cómo puedo comenzar rápido?

Greengrass Core es compatible con la mayoría de dispositivos que cumplen con los requisitos técnicos especificados a continuación. Si desea comenzar rápido, puede adquirir uno de los dispositivos siguientes de nuestros socios:

Comprobado con Greengrass Core, versión 1.0.0 (presentado el 7 de junio de 2016)

Comprobado con Greengrass Core, versión 1.1.0 (presentado el 20 de septiembre de 2017)

Comprobado con Greengrass Core, versión 1.3.0 (presentado el 29 de noviembre de 2017)

¿Se podrá ejecutar Greengrass con hardware de menos de 1 GHz?

La ejecución del software de AWS Greengrass Core ha sido comprobada por nuestros socios para los siguientes dispositivos:

¿Cuáles son las dependencias técnicas detalladas necesarias para ejecutar Greengrass Core?

AWS Greengrass Core está diseñado para ejecutar una gran variedad de arquitecturas de CPU y sistemas operativos en aquellos dispositivos que cumplan con los requisitos mínimos de hardware. A continuación se encuentran las dependencias necesarias para ejecutar Greengrass Core.

1. Configuración y paquetes de softwares necesarios

  • SQLite: versión 3 o superior
  • Biblioteca Glibc: versión 2.14
  • Kernel Linux: aunque algunas versiones de kernel pueden funcionar con Greengrass, para una mayor seguridad y rendimiento, recomendamos que utiliza la versión más reciente posible del kernel Linux, que incluye las configuraciones de kernel necesarias para Greengrass.
  • bash
  • System Trust Store
  • boto3: última versión disponible
  • botocore: última versión disponible
  • OpenSSL: versión 1.0.2 o posterior
  • Necesario si se ejecutan funciones de Lambda creadas con Python: Python, versión 2.7 o posterior
  • Necesario si se ejecutan funciones de Lambda creadas con Java: Java 8
  • Necesario si se ejecutan funciones de Lambda creadas con Node.js: Node.js 6.10

2. Configuración de núcleo

  • Retención de claves: CONFIG_KEYS
  • Mqueue: CONFIG_POSIX_MQUEUE
  • OverlayFS: CONFIG_OVERLAY_FS
  • Filtro de arco de Seccomp: CONFIG_HAVE_ARCH_SECCOMP_FILTER
  • Filtro de Seccomp: CONFIG_SECCOMP_FILTER
  • Seccomp: CONFIG_SECCOMP

3. Configuración de núcleo para el espacio de nombres: los núcleos deben tener activadas las siguientes opciones de configuración

  • Aislamiento de IPC: CONFIG_IPC_NS
  • Aislamiento de UTS: CONFIG_UTS_NS
  • Aislamiento de usuarios: CONFIG_USER_NS
  • Aislamiento de PID: CONFIG_PID_NS

4. Configuración de núcleo para Cgroup: los núcleos deben tener activadas las siguientes opciones de configuración

  • Activar Cgroup: CONFIG_CGROUPS
  • Activar Cgroup de memoria: CONFIG_MEMCG
  • Activar Cgroup de dispositivos: CONFIG_CGROUP_DEVICE

 

Conexión de Greengrass a Amazon FreeRTOS y otros dispositivos

¿Cómo puedo conectar dispositivos de forma local con AWS Greengrass Core?

Puede conectar dispositivos de forma local con AWS Greengrass Core mediante el uso de Amazon FreeRTOS o el SDK para dispositivos de AWS IoT. La función de detección de AWS Greengrass está disponible en el SDK para dispositivos de AWS IoT a través de C++ y Python 2.7. Para obtener más información, consulte la guía del usuario de AWS Greengrass. Puede utilizar la biblioteca de detección de Greengrass de su código fuente de Amazon FreeRTOS para localizar y conectarse a un dispositivo AWS Greengrass Core. Para obtener más información, consulte la guía del usuario de Amazon FreeRTOS.

¿Qué lenguajes admite Greengrass a través del SDK para dispositivos de AWS IoT?

La función de detección de AWS Greengrass está disponible en el SDK para dispositivos de AWS IoT a través de C++ y Python 2.7. Para obtener más información, consulte la guía del usuario de AWS Greengrass.

¿Qué es Amazon FreeRTOS?

Amazon FreeRTOS (a:FreeRTOS) es un sistema operativo que facilita la programación, implementación, seguridad y mantenimiento de los dispositivos de borde con microcontroladores. Amazon FreeRTOS se basa en el kernel FreeRTOS, el popular sistema operativo de código abierto para microcontroladores, e incluye bibliotecas de software que facilitan la conexión segura de los dispositivos en un entorno local, en la nube, y también su actualización remota. La consola de Amazon FreeRTOS le permite seleccionar y descargar fácilmente los componentes de software relevantes para su aplicación. El programa de cualificación de Amazon FreeRTOS le ofrece la tranquilidad de saber que el microcontrolador que elija será totalmente compatible con las características y funciones de Amazon FreeRTOS. Amazon FreeRTOS ayuda a mantener la seguridad de los dispositivos con microcontroladores, con soporte para cifrado de datos y gestión de claves. Además, los dispositivos Amazon FreeRTOS se conectan a los dispositivos AWS Greengrass Core, facilitando así la conexión de varios dispositivos Amazon FreeRTOS en un grupo de Greengrass. Haga clic aquí para obtener más información acerca de Amazon FreeRTOS.

¿Amazon FreeRTOS funciona con AWS Greengrass?

Sí. Los dispositivos Amazon FreeRTOS se pueden conectar directamente a la nube o a Greengrass. Amazon FreeRTOS no requiere el uso de AWS Greengrass. Amazon FreeRTOS se ejecuta en puntos de enlace IoT y a menudo se encarga de la "detección" y "accionamiento" en una topología de IoT.

¿Cuál es la diferencia entre AWS Greengrass y Amazon FreeRTOS?

AWS Greengrass es un software que le permite ejecutar capacidades de informática local, mensajería, almacenamiento de datos en caché, sincronización e inferencias mediante aprendizaje automático para dispositivos conectados de manera segura. Con AWS Greengrass, los dispositivos conectados pueden ejecutar funciones de AWS Lambda, mantener los datos de dispositivos sincronizados y comunicarse con otros dispositivos de manera segura, incluso sin estar conectados a Internet. Mediante el uso de AWS Lambda, Greengrass se asegura de que sus dispositivos IoT puedan responder de forma rápida a eventos locales, utilizar funciones de Lambda ejecutadas en Greengrass Core para interactuar con los recursos locales, operar con conexiones intermitentes, permanecer actualizados con actualizaciones Over the Air y minimizar el coste de la transmisión de los datos de IoT a la nube.

Amazon FreeRTOS es un sistema operativo para microcontroladores que opera en el borde y que normalmente no es compatible con el uso de los chipsets que pueden ejecutar AWS Greengrass. Estos dispositivos con microcontroladores se encuentran en diferentes puntos de enlace de IoT, como monitores de actividad, marcapasos, contadores eléctricos, transmisiones de vehículos y redes de sensores. Los dispositivos Amazon FreeRTOS no pueden ejecutar Greengrass Core, pero pueden activar la ejecución de funciones de Lambda en un dispositivo Greengrass Core.

Los requisitos de hardware y los sistemas operativos son diferentes para ambos dispositivos.

  Amazon FreeRTOS AWS Greengrass
Software Sistema operativo, se ejecuta en un microcontrolador Tiempo de ejecución para dispositivos Linux y para dispositivos compatibles con SDK para Greengrass
Requisitos de hardware >64 KB de RAM >128 MB de RAM
Categoría Sistemas integrados, puntos de enlace de IoT Dispositivos de borde, gateways locales
Casos de uso Dispositivos con microcontroladores Sistemas de automatización industrial, routers inalámbricos, smartphones

Más información sobre los precios de AWS Greengrass

Visite la página de precios
¿Listo para comenzar?
Inscribirse
¿Tiene más preguntas?
Contacte con nosotros