Cómo crear Kinesis Data Stream en AWS

Clase 15 de 52Curso de Big Data en AWS

Resumen

Aprende a crear y configurar un Kinesis Data Stream desde la consola de AWS con criterios claros para dimensionar shards, activar encripción con KMS, ajustar retención y habilitar métricas y logs en CloudWatch. Además, conecta con Kinesis Firehose y Kinesis Analytics, y mejora el consumo con enhanced fan-out.

¿Cómo crear y configurar un Kinesis Data Stream en AWS?

Para iniciar, busca Kinesis en la consola de AWS. Verás dos servicios: Kinesis y Kinesis Video Stream. Entra a Kinesis, selecciona Get Started y elige entre cuatro opciones: Data Stream, Delivery Stream, Analytics o Video Stream. Para el procesamiento de datos en tiempo real, selecciona Create Data Stream y asigna un nombre (por ejemplo, “Platzi Kinesis”).

¿Qué opciones muestra Kinesis al iniciar?

  • Data Stream: ingesta y procesamiento de datos en tiempo real.
  • Delivery Stream: entrega a destinos mediante Kinesis Firehose.
  • Analytics: analítica sobre datos en streaming.
  • Video Stream: procesamiento de video en tiempo real.

¿Qué parámetros iniciales se definen?

  • Nombre del stream y cantidad de shards.
  • Estimación de tráfico para dimensionar capacidad de escritura y lectura.
  • Opciones de envío de datos: API con put operation o Kinesis Producer Library en los productores.

¿Qué considerar al elegir shards y throughput?

La decisión de shards depende del volumen de tráfico, el tamaño del record, la tasa de records por segundo y el número de aplicaciones consumidoras. Dedica tiempo a esta estimación: impacta rendimiento y costos.

¿Qué capacidad ofrece un ejemplo con 5 shards?

  • Escritura: 5 MB/s (aprox. 5,000 records/s).
  • Lectura: 10 MB/s en total.
  • Úsalo como referencia para validar tu carga y patrones de consumo.

¿Cómo ayuda el estimador de shards?

  • Ingresas tamaño del record y records por segundo.
  • Indicas cuántas aplicaciones van a consumir.
  • Recibes una recomendación de shards para configurar tu stream.

  • Habilidades clave: dimensionar shards, interpretar throughput de lectura/escritura, estimar records/s.

  • Datos prácticos: más retención y más logs incrementan costo.

¿Cómo proteger, retener y monitorear el stream?

En la pestaña Details verás el stream ARN, el estatus, la cantidad de shards y opciones de envío de datos. También podrás integrar con Kinesis Firehose o Kinesis Analytics para extender ingestión y análisis.

¿Cómo habilitar encripción con KMS?

  • Activa server-side encryption desde el panel derecho.
  • Usa KMS (Key Management System) para cifrar los datos en tránsito por el stream.
  • Beneficio: agrega una capa de seguridad con llaves administradas.

¿Cómo ajustar la retención y su costo?

  • Cambia el periodo de retención entre 24 y 168 horas.
  • Considera que aumentar retención incrementa el costo del servicio.
  • Evalúa necesidades de reprocesamiento antes de ampliar ventanas.

¿Cómo ver métricas y logs en CloudWatch?

  • Integra con CloudWatch para métricas y logs.
  • Habilita CloudWatch Logs para monitorear y hacer debugging del comportamiento de la data.
  • En la pestaña Monitoring, usa dashboards predefinidos con métricas como records y bytes.

  • Organización y consumo: usa tags (p. ej., environment: production o staging) para filtrar recursos por ambiente.

  • Alto rendimiento de consumo: habilita enhanced fan-out para asignar a consumers una transferencia dedicada de hasta 2 MB/s por consumidor.
  • Costo visible: al habilitar logs, considera el cobro de CloudWatch Logs por almacenamiento.

¿Tienes una carga específica o dudas sobre shards, KMS o CloudWatch? Cuéntame en los comentarios y afinamos tu configuración.