Configuración Básica de Amazon Kinesis Firehose en AWS

Clase 19 de 52Curso de Big Data en AWS

¡Es hora de poner en practica lo aprendido! Para ello lo primero que debemos hacer es ir a nuestra consola de Amazon Web Services (AWS) y buscar el servicio de Kinesis.

Buscando Kinesis en la consola de AWS

Si es la primera vez que visitas la herramienta de Kinesis debes dar click en el botón de Get Started para empezar. Get Started de Kinesis

Dentro del dashboard de Kinesis debemos seleccionar la opción Create delivery stream.

Dashboard Kinesis

Lo primero que debemos hacer es ponerle un nombre a nuestro delivery stream, en este caso lo llamaremos firehoseplatzi. Creando un delivery stream llamado firehoseplatzi

Dentro de esa misma pantalla encontraremos dos opciones para alimentar nuestro delivery stream:

  • Directamente por PUT u otros recursos.
  • A través de un stream de kinesis.

La opción Direct PUT or other sources permite alimentar nuestro delivery stream mediante:

  • La API de Firehose.
  • Un Amazon Kinesis Agent.
  • AWS IoT.
  • CloudWatch Logs.
  • CloudWatch Events.

Para fines de esta demo vamos a seleccionar Direct PUT or other sources. Damos click en Next

Opciones para alimentar nuestro delivery stream

Nuestro siguiente paso es elegir la forma en que nuestro delivery stream va a procesar la información. Podemos modificar la información de dos formas:

  1. Mediante una función lambda, en caso de no tener ninguna podemos crearla al momento.
  2. Convertir la información a un formato más eficiente como Apache ORC o Apache parquet.

Para fines de esta demo no vamos a modificar nuestra información, simplemente nos aseguramos que se encuentren ambas opciones deshabilitadas y damos click en Next.

Configurar el procesamiento de los datos

Ya configuramos el origen de los datos y su procesamiento, es momento de elegir a dónde se va a mandar la información:

  • Amazon S3
  • Amazon Redshift
  • Amazon Elasticsearch Service
  • Splunk

Configurar destino de los datos

Dependiendo de qué opción elijamos vamos a tener que configurar su acceso. Para esta demo vamos a mandar nuestra información a S3, puedes darle al botón Create new para generar un nuevo Bucket de S3.

Puedes configurar el prefijo donde Kinesis va a almacenar la información, así como el prefijo donde almacene los errores.

Una vez hayamos elegido nuestro bucket damos click en Next.

Configuración de S3 para nuestra información

Nuestro último paso para terminar la configuración de nuestro delivery stream nos va a pedir configurar:

  • Condiciones del Buffer para S3
  • La compresión y encriptación de la información
  • Activar o desactivar el error logging
  • Asignar un rol IAM por seguridad

Lo único que vamos a modificar será el IAM role, esto con el fin de que Kinesis pueda interactuar con todos los demás servicios de AWS. Vamos a dar click al botón Create new or choose. Crear nuevo IAM Role

Nos va a saltar una nueva ventana que nos pedirá permiso para crear el nuevo IAM role, simplemente le damos al botón Permitir.

Permitir nuevo rol

Nos debe quedar un IAM role de la siguiente manera, ahora damos click a Next. IAM role asignado

Nos aparecerá una review de la configuración del delivery stream, solamente damos click en el botón Create delivery stream.

Esperamos a que termine de crearse nuestro delivery stream y vamos a proceder a probar que nuestro delivery stream funcione correctamente. Damos click en el nombre de nuestro delivery. Delivery Stream Sucess

Nos encontraremos en una página con toda la información acerca de nuestro stream. Abajo del nombre veremos un texto que dice Test with demo data, le vamos a dar click y nos va a desplegar información sobre la prueba que va a realizar.

La prueba consta de mandar un simple archivo a nuestro S3. Debemos dar click en el botón Start sending data para iniciar la transmisión de información.

Iniciar prueba con información demo

Este proceso puede llegar a tardar unos minutos, aproximadamente 3-5 minutos después vamos a dar click al enlace de nuestro bucket S3. Enlace al bucket S3

Si aún no encuentras nada de información dentro de tu bucket recuerda ser paciente, la velocidad de transmisión depende de la configuración que hicimos al buffer, en este caso dejamos la configuración por defecto de 5MB.

Tras unos minutos debe aparecerte una carpeta dentro de otra y otra, separando la información transmitida por su fecha. Dentro encontrarás el archivo que mandaste, solamente queda regresar a la prueba de nuestro stream y apretar el botón Stop sending demo data.

Información dentro del Bucket

Si haz llegado hasta este parte con exito, agrega en los comentarios: "Reto superado" y continua aprendiendo más.