Ejecución del software AWS IoT Greengrass Core en un contenedor de Docker
AWS IoT Greengrass se puede configurar para que se ejecute en un contenedor de Docker. Docker es una plataforma que le permite crear, ejecutar, probar e implementar aplicaciones basadas en contenedores de Linux. Al ejecutar una imagen de Docker de AWS IoT Greengrass, puede elegir si desea proporcionar sus credenciales de AWS al contenedor de Docker y permitir que el instalador del software AWS IoT Greengrass Core aprovisione automáticamente los recursos de AWS que un dispositivo principal de Greengrass necesita para funcionar. Si no desea proporcionar credenciales de AWS, puede aprovisionar recursos de AWS manualmente y ejecutar el software AWS IoT Greengrass Core en el contenedor de Docker.
Temas
- Plataformas compatibles y requisitos
- Descargas de software
- Elección de cómo aprovisionar los recursos de AWS
- Creación de la imagen de AWS IoT Greengrass a partir de un Dockerfile
- Ejecución de AWS IoT Greengrass en Docker con aprovisionamiento automático
- Ejecución de AWS IoT Greengrass en Docker con aprovisionamiento manual
- Solución de problemas de AWS IoT Greengrass en un contenedor Docker
Plataformas compatibles y requisitos
Los equipos host deben cumplir los siguientes requisitos mínimos para instalar y ejecutar el software AWS IoT Greengrass Core en un contenedor de Docker:
-
Sistema operativo basado en Linux con conexión a Internet.
-
Docker Engine
, versión 18.09 o posterior. -
(Opcional) Docker Compose
versión 1.22 o posterior. Docker Compose solo es necesario si quiere usar la CLI de Docker Compose para ejecutar sus imágenes de Docker.
Para ejecutar componentes de función de Lambda dentro del contenedor de Docker, debe configurar el contenedor para cumplir con requisitos adicionales. Para obtener más información, consulte Requisitos de la función de Lambda.
Ejecución de los componentes en modo de proceso
AWS IoT Greengrass no admite la ejecución de funciones de Lambda o componentes proporcionados por AWS en un entorno de ejecución aislado dentro del contenedor de Docker de AWS IoT Greengrass. Debe ejecutar estos componentes en modo de proceso sin ningún tipo de aislamiento.
Al configurar un componente de la función de Lambda, defina el modo de aislamiento en Sin contenedor. Para obtener más información, consulte Ejecución de funciones de AWS Lambda.
Al implementar cualquiera de los siguientes componentes proporcionados por AWS, actualice la configuración de cada componente para establecer el parámetro containerMode
en NoContainer
. Para obtener más información acerca de las actualizaciones de configuración, consulte Actualización de las configuraciones de los componentes.
Descargas del software Docker AWS IoT Greengrass
AWS IoT Greengrass proporciona un Dockerfile para crear una imagen de contenedor que tiene el software AWS IoT Greengrass Core y las dependencias instaladas en una imagen base de Amazon Linux 2 (x86_64). Puede modificar la imagen base del Dockerfile para ejecutar AWS IoT Greengrass en una arquitectura de plataforma diferente.
Puede descargar el paquete del archivo de Docker desde GitHub
El Dockerfile usa una versión anterior de Greengrass. Debe actualizar el archivo para usar la versión de Greengrass que desee. Para obtener información sobre cómo crear la imagen del contenedor AWS IoT Greengrass a partir del archivo Docker, consulte Creación de la imagen del contenedor de AWS IoT Greengrass a partir de un Dockerfile.
Elección de cómo aprovisionar los recursos de AWS
Al instalar el software AWS IoT Greengrass Core en un contenedor de Docker, puede elegir si desea aprovisionar automáticamente los recursos de AWS que un dispositivo principal de Greengrass necesita para funcionar o usar los recursos que aprovisiona manualmente.
-
Aprovisionamiento automático de recursos: el instalador proporciona el objeto AWS IoT, grupo de objetos AWS IoT, rol de IAM y el alias del rol AWS IoT al ejecutar la imagen del contenedor AWS IoT Greengrass por primera vez. El instalador también puede implementar las herramientas de desarrollo locales en el dispositivo principal, de modo que usted pueda usar el dispositivo para desarrollar y probar componentes de software personalizados. Para aprovisionar estos recursos automáticamente, debe proporcionar credenciales de AWS como variables de entorno a la imagen de Docker.
Para utilizar el aprovisionamiento automático, debe configurar la variable de entorno
PROVISION=true
de Docker y montar un archivo de credenciales para proporcionar sus credenciales de AWS al contenedor. -
Aprovisionamiento manual de recursos: si no quiere proporcionar credenciales de AWS al contenedor, puede aprovisionar los recursos de AWS manualmente antes de ejecutar la imagen del contenedor AWS IoT Greengrass. Debe crear un archivo de configuración para proporcionar información sobre estos recursos al instalador del software AWS IoT Greengrass Core dentro del contenedor de Docker.
Para utilizar el aprovisionamiento manual, debe configurar la variable de entorno de Docker
PROVISION=false
. La opción predeterminada es el aprovisionamiento manual.
Para obtener más información, consulte Creación de la imagen del contenedor de AWS IoT Greengrass a partir de un Dockerfile.