Qué es
Amazon Data Firehose (antes Kinesis Data Firehose) es la forma más sencilla de cargar datos en streaming en un destino. Recibe registros de tus aplicaciones o de otros servicios, los agrupa en un búfer, opcionalmente los transforma, comprime o convierte de formato, y los entrega a S3 (Simple Storage Service), Redshift, OpenSearch, tablas Apache Iceberg, Snowflake, Splunk o un endpoint HTTP (HyperText Transfer Protocol: protocolo de la web). Es sin servidores: escala solo y no hay nada que programar para la entrega.
Conceptos clave
- Fuentes: escritura directa por API (Application Programming Interface: interfaz para que los programas se comuniquen) o SDK (Software Development Kit: bibliotecas para programar contra AWS), un stream de Kinesis Data Streams, un clúster de MSK (Managed Streaming for Apache Kafka), CloudWatch Logs, AWS WAF (Web Application Firewall), eventos de IoT (Internet of Things: internet de las cosas: dispositivos conectados) y otras.
- Búfer: los datos se agrupan por tamaño o por tiempo antes de entregarse; con zero buffering la entrega llega en unos segundos. Por eso es "casi en tiempo real", no milisegundos.
- Transformación: una función Lambda puede modificar o filtrar cada lote; conversión de JSON (JavaScript Object Notation: formato de datos en texto) a Parquet u ORC (formatos de columnas) con el esquema de Glue; compresión y particionado dinámico de las claves de S3.
- Destinos Iceberg: escribe directamente en tablas Apache Iceberg o en S3 Tables, con inserciones, actualizaciones y borrados.
- Registros fallidos y copia de seguridad de los datos originales en S3.
- Redshift: Firehose deja los datos en S3 y lanza un COPY por ti.
Casos de uso típicos
- Enviar registros de aplicaciones o de CloudWatch Logs a un lago de datos en S3.
- Cargar eventos en Redshift u OpenSearch para cuadros de mando casi en tiempo real.
- Guardar en S3 como Parquet los datos de un stream de Kinesis para consultarlos con Athena.
- Enviar datos de seguridad a Splunk u otras herramientas externas.
Cuándo NO usarlo
- Latencia de milisegundos, varios consumidores o relectura: Kinesis Data Streams.
- Transformaciones complejas por lotes: Glue.
- Análisis en streaming con estado (ventanas, agregaciones): Amazon Managed Service for Apache Flink.
Modelo de precios
Se paga por GB ingerido (redondeado a bloques de 5 KB por registro), más la conversión de formato, el particionado dinámico y la entrega a una VPC (Virtual Private Cloud) si se usan. Sin coste por hora ni capacidad que aprovisionar.
Seguridad y alta disponibilidad
- Servicio sin servidores y redundante en varias zonas.
- Cifrado en reposo con KMS (Key Management Service); rol de IAM (Identity and Access Management) para escribir en los destinos.
- Entrega a destinos dentro de una VPC (por ejemplo, OpenSearch privado).
- Registros que fallan guardados en S3 para no perder datos.
Trampas de examen
- "Cargar datos en streaming en S3, Redshift u OpenSearch con el mínimo esfuerzo": Firehose.
- "Casi en tiempo real" (segundos): Firehose; "tiempo real" (milisegundos): Kinesis Data Streams.
- "Convertir a Parquet antes de guardar en S3": conversión de formato de Firehose.
- "Transformar cada registro antes de entregarlo": función Lambda de transformación.
- "Firehose no permite volver a leer ni tener varios consumidores": para eso, Kinesis Data Streams delante.
Preguntas de práctica
Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.
Fuentes
- What is Amazon Data Firehose?, documentación de AWS (consultada el 26/09/2026).
- Transform source data in Amazon Data Firehose, documentación de AWS (consultada el 26/09/2026).
- Convert input data format in Amazon Data Firehose, documentación de AWS (consultada el 26/09/2026).
- Deliver data to Apache Iceberg Tables with Amazon Data Firehose, documentación de AWS (consultada el 26/09/2026).