Inclusión de un bloc de notas en contenedores - AWS IoT Analytics

Para obtener capacidades similares a AWS IoT Analytics, explore Amazon Kinesis, Amazon S3 y Amazon Athena. Estos servicios proporcionan escalabilidad y flexibilidad adicionales para cumplir con sus requisitos de análisis en constante evolución. Descubra cómo hacerlo aquí.

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.

Inclusión de un bloc de notas en contenedores

Esta sección incluye información sobre cómo crear un contenedor de Docker mediante un cuaderno de Jupyter. Existe un riesgo para la seguridad si reutiliza blocs de notas creados por terceros: los contenedores incluidos pueden ejecutar un código arbitrario con sus permisos de usuario. Además, el código HTML generado por el bloc de notas se puede mostrar en la consola de AWS IoT Analytics, lo que proporciona un posible vector de ataque en el equipo que muestra el código HTML. Asegúrese de que el autor del bloc de notas de terceros es de confianza antes de utilizarlo.

Una opción para realizar funciones de análisis avanzadas consiste en utilizar el cuaderno de Jupyter. El cuaderno de Jupyter proporciona potentes herramientas de ciencia de datos que pueden llevar a cabo machine learning y una amplia gama de análisis estadísticos. Para obtener más información, consulte Plantillas de bloc de notas. (Tenga en cuenta que la creación de contenedores no es actualmente compatible en JupyterLab). Puede empaquetar su cuaderno de Jupyter y sus bibliotecas en un contenedor que se ejecute periódicamente en un nuevo lote de datos a medida que AWS IoT Analytics lo reciba durante una ventana de tiempo delta definida. Puede programar un trabajo de análisis que utiliza el contenedor y los datos segmentados nuevos capturados en el periodo de tiempo especificado y, a continuación, almacena la salida del trabajo para futuros análisis programados.

Si ha creado una instancia de SageMaker con la consola de AWS IoT Analytics después del 23 de agosto de 2018, la instalación de la extensión de creación de contenedores se ha llevado a cabo automáticamente y puede comenzar a crear una imagen cargada en contenedores. De lo contrario, siga los pasos que se indican en esta sección para habilitar la creación de contenedores de blocs de notas en la instancia de SageMaker. A continuación, modificará el rol de ejecución de SageMaker de forma que le permita cargar la imagen del contenedor en Amazon EC2 e instalará la extensión de creación de contenedores.

Habilitar la creación de contenedores de instancias de bloc de notas no creadas a través de la consola de AWS IoT Analytics

Le recomendamos que cree una nueva instancia de SageMaker mediante la consola de AWS IoT Analytics en lugar de seguir estos pasos. Las instancias nuevas admiten de forma automática la creación de contenedores.

Si reinicia la instancia de SageMaker después de habilitar la creación de contenedores tal y como se muestra aquí, no tendrá que volver a agregar los roles y las políticas de IAM, pero sí tendrá que volver a instalar la extensión, tal como se muestra en el último paso.

  1. Para conceder a la instancia del bloc de notas acceso a Amazon ECS, seleccione la instancia de SageMaker en la página de SageMaker:

    Contenerización de un cuaderno en AWS IoT Analytics
  2. En ARN del rol de IAM, seleccione el rol de ejecución de SageMaker.

    Contenerización de un cuaderno en AWS IoT Analytics
  3. Seleccione Attach Policy (Asociar política) y, a continuación, defina y asocie la política mostrada en la sección Permissions (Permisos). Si aún no has añadido la política de AmazonSageMakerFullAccess, adjúntela también.

    Contenerización de un cuaderno en AWS IoT Analytics

También debe descargar el código de creación de contenedores de Amazon S3 e instalarlo en su instancia con cuaderno. El primer paso es acceder al terminal de la instancia de SageMaker.

  1. En Jupyter, seleccione New (Nuevo)

    Contenerización de un cuaderno en AWS IoT Analytics
  2. En el menú que aparece, seleccione Terminal.

    Contenerización de un cuaderno en AWS IoT Analytics
  3. En el terminal, introduzca los siguientes comandos para descargar el código, descomprimirlo e instalarlo. Tenga en cuenta que estos comandos finalizarán los procesos que se estén ejecutando en los blocs de notas de esta instancia de SageMaker.

    Contenerización de un cuaderno en AWS IoT Analytics
    cd /tmp aws s3 cp s3://iotanalytics-notebook-containers/iota_notebook_containers.zip /tmp unzip iota_notebook_containers.zip cd iota_notebook_containers chmod u+x install.sh ./install.sh

    Espere un minuto o dos hasta que la extensión se valide e instale.

Actualización de la extensión de creación de contenedores del bloc de notas

Si ha creado la instancia de SageMaker mediante la consola de AWS IoT Analytics después del 23 de agosto de 2018, la extensión de creación de contenedores se ha instalado automáticamente. Puede actualizar la extensión reiniciando la instancia desde la consola de SageMaker. Si ha instalado la extensión manualmente, puede actualizarla volviendo a ejecutar los comandos de terminal que se indican en la sección Habilitación de creación de contenedores de instancias de bloc de notas que no se han creado mediante la consola de AWS IoT Analytics.

Creación de una imagen en contenedores

En esta sección, se muestran los pasos necesarios para incluir un bloc de notas en contenedores. Para empezar, vaya al cuaderno de Jupyter para crear un bloc de notas con un kernel en contenedores.

  1. En el cuaderno de Jupyter, seleccione New (Nuevo) y, a continuación, seleccione el tipo de kernel que desea en la lista desplegable. (El tipo de kernel debe empezar con "Containerized" (En contenedores) y terminar con el kernel que hubiera seleccionado de otro modo. Por ejemplo, si solo desea un entorno Python 3.0 sencillo como "conda_python3", seleccione "Containerized conda_python3").

    Actualice la creación de contenedores del bloc de notas en AWS IoT Analytics.
  2. Una vez que haya completado el trabajo en el bloc de notas y desee incluirlo en contenedores, seleccione Crear contenedores.

    Actualice la creación de contenedores del bloc de notas en AWS IoT Analytics.
  3. Introduzca un nombre para el bloc de notas en contenedores. También puede introducir una descripción opcional.

    Actualice la creación de contenedores del bloc de notas en AWS IoT Analytics.
  4. Especifique las Input Variables (Variables de entrada) (los parámetros) con los que debe invocarse el bloc de notas. Puede seleccionar las variables de entrada que se detectan automáticamente en el bloc de notas o definir variables personalizadas. (Tenga en cuenta que las variables de entrada solo se detectan si ha ejecutado previamente el bloc de notas). Elija un tipo para cada variable de entrada. Si lo desea, también puede introducir una descripción opcional de la variable de entrada.

    Actualice la creación de contenedores del bloc de notas en AWS IoT Analytics.
  5. Seleccione el repositorio de Amazon ECR donde se debe cargar la imagen creada a partir del bloc de notas.

    Actualice la creación de contenedores del bloc de notas en AWS IoT Analytics.
  6. Elija Crear de contenedores para iniciar el proceso.

    Se mostrará un resumen de su entrada. Tenga en cuenta que una vez iniciado el proceso no podrá cancelarlo. El proceso puede durar hasta una hora.

    Actualice la creación de contenedores del bloc de notas en AWS IoT Analytics.
  7. La siguiente página muestra el progreso.

    Actualice la creación de contenedores del bloc de notas en AWS IoT Analytics.
  8. Si cierra el navegador de forma accidental, puede monitorizar el estado del proceso de creación de contenedores en la sección Blocs de notas de la consola de AWS IoT Analytics.

  9. Una vez completado el proceso, la imagen en contenedor se almacena en Amazon ECR lista para su uso.

    Actualice la creación de contenedores del bloc de notas en AWS IoT Analytics.