EMR automatizado con CloudFormation
Clase 32 de 52 • Curso de Big Data en AWS
Contenido del curso
Arquitecturas
Extracción de información
- 9

Cómo mover datos a cloud con SDK y CLI
02:21 min - 10

Python y boto3 para listar buckets S3
10:16 min - 11

Boto3: inicializar clients de AWS en Python
03:56 min - 12

API Gateway como puerta de big data
03:40 min - 13

Storage Gateway: puerta entre on-premise y S3
03:13 min - 14

AWS Kinesis: streaming masivo de datos
05:53 min - 15

Cómo crear Kinesis Data Stream en AWS
06:50 min - 16

Despliegue automatizado de Kinesis con CloudFormation
10:42 min - 17

Cómo Kinesis Firehose entrega datos en tiempo real
03:27 min - 18

Configuración de Kinesis Firehose en AWS
05:45 min - 19
Configuración Básica de Amazon Kinesis Firehose en AWS
02:53 min - 20

MSK vs Kinesis: cuál elegir en AWS
03:42 min - 21

Creación de clúster AWS MSK desde la consola
07:21 min
Transformación de Información
- 22

Cómo AWS Glue transforma datos en la nube
06:33 min - 23

Instalación de Apache Zeppelin paso a paso
04:49 min - 24

Configurar developer endpoint de AWS Glue con Zeppelin
05:38 min - 25

Conexión de Apache Zeppelin con AWS
08:29 min - 26

Configurar AWS Glue Crawler para poblar catálogo
08:15 min - 27

Configuración de Developer Endpoint en AWS Glue
08:00 min - 28

Cómo configurar AWS Glue ETL desde S3 a Parquet
10:23 min - 29

Qué es EMR y cuándo usarlo
05:30 min - 30

Crear tu primer cluster de AWS EMR
09:01 min - 31

Conectar Apache Zeppelin a EMR
03:18 min - 32

EMR automatizado con CloudFormation
Viendo ahora - 33

AWS Lambda para proyectos de big data
07:02 min - 34

Lambdas en big data: real time y batch
04:54 min - 35

Configuración de AWS Lambda para Big Data
07:16 min
Carga de Información
Consumo de información
Seguridad, Orquestación y Automatización
Clase pública
Lleva tu orquestación de datos al siguiente nivel con Amazon EMR automatizado mediante CloudFormation. Aquí verás cómo definir el clúster como código, controlar dependencias de ejecución con steps, ajustar configuraciones clave (red, seguridad, bootstrap actions) y conectarlo a un pipeline CI/CD para procesamiento tipo batch confiable y de bajo costo.
¿Cómo automatizar EMR con CloudFormation en producción?
Definir EMR como infraestructura como código garantiza versionado, repetibilidad y mínima administración. La plantilla de CloudFormation replica lo hecho de forma gráfica y lo convierte en despliegues consistentes.
¿Qué define la plantilla de CloudFormation?
- Región y nombre de environment.
- Selección de subred vía mappings o directamente con subnet ID.
- Sección de resources con los steps del flujo.
- Dependencias: un step espera al anterior con “depende de”.
- Política de error en Action on failure: continuar, cancelar y esperar, o terminar el clúster.
- Arguments: rutas de directorios y ejecuciones puntuales para los jobs.
¿Cómo se configuran instancias y red en EMR?
- Definición del clúster EMR y conteo de instancias.
- Nodo master: uno, tamaño especificado, tipo de compra on demand.
- Nodos core: dos, tamaño y tipo on demand como en el ejemplo por consola.
- Red: uso de subnet ID directo o búsqueda por mapping según el environment.
- Acceso: llave SSH para la instancia master.
- Seguridad: referencia a security groups. En subred pública crea dos grupos; en subred privada añade un tercer grupo para mayor seguridad.
¿Qué ajustes previos y aplicaciones se instalan?
- Bootstrap actions desde un bucket con script .sh antes del estado activo.
- Logs: ubicación de almacenamiento centralizada.
- Configuraciones: ejemplo de Java 1.8 y parámetros detallados de Hadoop enviados desde la misma plantilla.
- Applications: instalación declarativa de Zeppelin, Hadoop y Spark.
- Versiones: la versión de Spark depende de la versión de EMR (ejemplos citados: EMR 5.20 usa Spark 2.4; EMR 5.4 usa Spark 2.1).
- Permisos y gobierno: roles por defecto y uso de tags para identificar recursos.
¿Qué arquitectura de automatización CI/CD se recomienda?
Para producción, la plantilla vive en un repositorio y se despliega sin intervención manual. Así, el ciclo es predecible y fácil de auditar.
¿Cómo se orquesta con repositorios y CodePipeline?
- Código en GitHub, BitBucket, CodeCommit o incluso S3.
- Integración con CodePipeline.
- Ejecución: el pipeline toma la plantilla, despliega CloudFormation, lanza el clúster, corre los steps y lo termina.
- Beneficio: infraestructura efímera que reduce costos y errores humanos.
¿Qué patrón de procesamiento diario se sugiere?
- Disparo con eventos de CloudWatch a medianoche.
- El pipeline toma la plantilla del repositorio, crea el clúster, ejecuta los steps y finaliza.
- Caso de uso: procesar los logs del día anterior de forma automatizada.
- Alternativa: dejar el clúster encendido para tiempo real, con costo mayor por servidores aprovisionados.
¿Cómo optimizar costos y entender el pricing de EMR?
Optimizar implica elegir bien el patrón de ejecución y entender la factura. Los clústeres efímeros tipo batch permiten pagar solo por lo usado.
¿Qué compone el costo de EMR?
- Costo de las instancias EC2 subyacentes.
- Costo del servicio EMR como tal.
- Implicación: ejecuciones cortas y programadas suelen ser más eficientes que clústeres permanentes.
¿Por qué usar clústeres como código?
- Versionados, repetibles y configurables desde CloudFormation.
- Menor carga de administración mediante automatización.
- Control fino de red, security groups, bootstrap actions y applications.
- Integración con CodePipeline y eventos de CloudWatch para trabajos batch diarios confiables.
¿Te gustaría comentar cómo defines steps, bootstrap actions o el patrón de ejecución para tus cargas en EMR?