Configurar developer endpoint de AWS Glue con Zeppelin

Clase 24 de 52Curso de Big Data en AWS

Resumen

Conecta tu entorno local de Apache Zeppelin con datos en AWS usando un developer endpoint de AWS Glue. Aquí verás el flujo completo: desde Glue Notebooks hasta la generación y carga de la llave pública SSH, con parámetros clave como DPUs, rol de IAM y opciones de red.

¿Cómo crear un developer endpoint en AWS Glue con Zeppelin Notebook?

Para usar Zeppelin con Glue, se inicia en la consola de AWS. La ruta es clara y evita confusiones con SageMaker, que está orientado a machine learning.

  • Entra a la consola de AWS y busca Glue.
  • En el menú izquierdo, abre Notebooks.
  • Verás dos opciones: SageMaker Notebooks y Zeppelin. Para este caso, elige Zeppelin.
  • Clic en “Create a Zeppelin Notebook”. Serás llevado a developer endpoints.
  • Clic en Add Endpoint y nómbralo, por ejemplo: devplazzy.
  • Asigna un IAM role con permisos sobre Glue y S3. Si no existe, usa “Create IAM Role” desde la interfaz.

¿Qué rol de IAM y permisos se necesitan?

El rol debe permitir acceso a los servicios de Glue y a los buckets de S3 donde está la data. La interfaz de AWS permite crearlo en el momento y luego seleccionarlo para el endpoint.

¿Cómo definir DPUs y librerías desde S3?

  • Para developer endpoints se recomienda una capacidad de cómputo pequeña para no consumir muchos recursos. En el ejemplo se usan 5 DPUs.
  • Puedes referenciar librerías de Python alojadas en S3 para cargarlas en el endpoint. También se mencionan librerías basadas en “hard”.

¿Qué opciones de red usar: VPC o configuración genérica?

La red puede dejarse con información genérica para conectarte de forma directa. Sin embargo, si tu organización usa entornos segmentados, puedes elegir una VPC, su tipo de conexión y la subred específica.

  • El despliegue en VPC aplica cuando tienes ambientes públicos y privados y necesitas controlar el networking.
  • Si no hay requerimientos especiales, continúa con la configuración por defecto y avanza al siguiente paso.

¿Cómo generar y cargar la llave SSH para el endpoint?

Para conectar tu Zeppelin local al developer endpoint, se requiere una llave pública. Se genera localmente y se carga la parte pública en Glue Notebooks; la llave privada se quedará en tu equipo para la conexión.

¿Qué comandos usar en consola para crear las llaves?

En la consola local, partiendo desde el directorio de Zeppelin, se sube un nivel y se generan las llaves:

# moverse un directorio arriba
d
cd ..

# listar para verificar ubicación
ls

# generar las llaves pública y privada
ssh-keygen
# cuando lo solicite, ingresa el nombre: plazyyave
# no es necesario agregar más datos

# verificar archivos generados
ls
# deberías ver: plazyyave (privada) y plazyyave.pub (pública)

# ver el contenido de la llave pública
vim plazyyave.pub
  • Copia el contenido completo de plazyyave.pub.
  • En el developer endpoint, pega la llave pública en el campo correspondiente.
  • Alternativa: usa la opción Upload y selecciona el archivo público desde la carpeta donde lo creaste.

¿Cómo finalizar el alta del endpoint y conectar?

  • Tras pegar o subir la llave pública, continúa con “Next” y luego “Finish”.
  • El servicio iniciará el aprovisionamiento del developer endpoint.
  • Para conectarte más adelante al endpoint, usarás la llave privada que quedó en tu equipo.

¿Qué habilidades y conceptos aplicas aquí?

  • Configuración de Glue Notebooks con Zeppelin para análisis desde entorno local.
  • Asignación de IAM role con permisos de Glue y S3.
  • Ajuste de DPUs para optimizar recursos, ejemplo con 5 DPUs.
  • Carga de librerías de Python desde S3 al endpoint.
  • Elección de VPC y subred cuando hay segmentación de red.
  • Generación y uso de llaves SSH: pública para Glue, privada para la conexión.

¿Te resultó útil esta guía práctica para unir Zeppelin y AWS Glue? Comparte tus dudas o experiencias en los comentarios.