Configuración de Developer Endpoint en AWS Glue para Apache Zeppelin

Clase 24 de 52Curso de Big Data en AWS

Resumen

¿Cómo crear un endpoint de desarrollador en AWS Glue?

Configurar un endpoint de desarrollador en AWS Glue es un paso esencial para aquellos que buscan integrar Apache Zeppelin y ejecutar consultas dentro de la plataforma de AWS. Este proceso le permitirá realizar consultas de datos con eficiencia veamos cómo configurarlo correctamente.

¿Qué opciones ofrece la consola de AWS para notebooks?

Dentro de la consola de AWS, al explorar el servicio de Glue, encontrará la sección de notebooks. Aquí, AWS ofrece dos opciones principales:

  1. SageMaker Notebooks: Orientados al servicio de Machine Learning de AWS, SageMaker.
  2. Zeppelin Notebooks: Ideales para quienes desean utilizar Apache Zeppelin para sus consultas y análisis de datos.

Para nuestro propósito de conectar un Apache Zeppelin local, optaremos por crear un notebook basado en Zeppelin.

¿Cómo crear un endpoint de desarrollador en AWS Glue?

Para comenzar, deberá acceder a la sección de Developer Endpoints dentro del servicio Glue. Aquí es donde inicia la creación de un nuevo endpoint siguiendo estos pasos:

  1. Agregar un nuevo endpoint: Al hacer clic en "Add Endpoint", se abre un formulario para configurar un nuevo endpoint. Le daremos el nombre "DevPlatziM" a nuestro endpoint.

  2. Seleccionar y configurar un rol de IAM:

    • Debe contar con un rol de IAM que tenga permisos completos sobre los servicios de AWS Glue y acceso a S3, donde residirá su data.
    • Si no posee un rol, AWS le ofrece crear uno directamente desde la interfaz.
  3. Configurar los parámetros de cómputo:

    • Es recomendable especificar una capacidad de cómputo baja al trabajar con endpoints de desarrollador, para optimizar recursos. En este ejemplo, utilizaremos cinco DPUs.
  4. Ajustes de seguridad y librerías:

    • Puede especificar librerías de Python y JAR necesarias para el developer endpoint, cargándolas desde S3.

¿Cómo configurar las opciones de red y seguridad del endpoint?

La configuración de networking es crucial para garantizar una conexión segura y eficiente. Estas son algunas consideraciones:

  • Desplegar dentro de una VPC: Aunque puede optar por una red genérica, si cuenta con VPCs privadas o públicas, puede seleccionar cuál desea utilizar.

  • Generación de llaves SSH: Para conectar su Apache Zeppelin, necesitará llaves SSH:

    1. Acceda a su consola de comandos, regrese un directorio desde el de Zeppelin.
    2. Genere las llaves con el comando:
    ssh-keygen -t rsa -b 2048 -f platzi-llave
    
    1. Se generarán dos archivos: platzi-llave (privada) y platzi-llave.pub (pública).
  • Carga de la llave pública al endpoint:

    • Copie el contenido de platzi-llave.pub.
    • Péguelo en el campo correspondiente del endpoint para autorizar la conexión a la plataforma AWS.

Siguiendo estos pasos, tiene la base para integrar Apache Zeppelin con AWS Glue, potenciando su capacidad de análisis de datos. Este conocimiento no solo amplía sus habilidades técnicas, sino que también le posiciona para seguir explorando el fascinante mundo de la gestión de datos en la nube. ¡Continúe aprendiendo y explorando!