Amazon Managed Streaming for Apache Kafka MSK facilita ejecutar Kafka en AWS y MSK Connect extiende esa funcionalidad para mover datos entre topics de Kafka y sistemas externos como Amazon S3, Elasticsearch o bases de datos. Sin embargo, configurar MSK Connect en subredes privadas suele fallar por problemas de red, autenticación o plugins. En este artículo explico paso a paso cómo desplegar MSK Connect en subredes privadas, por qué ocurren los errores y cómo solucionarlos, tanto si vas a crear un clúster MSK desde cero como si ya tienes uno existente.

Sobre Q2BSTUDIO: somos una empresa de desarrollo de software aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos soluciones completas desde software a medida hasta agentes IA y proyectos de inteligencia de negocio. Si necesitas integrar pipelines seguros y escalables en AWS o Azure consulta nuestros servicios cloud aws y azure y nuestras soluciones de inteligencia artificial para empresas.

Escenario 1 Configuración desde cero en subredes privadas Paso A Crear el VPC y subredes para MSK Utiliza subredes privadas para los brokers. Asegura rutas que permitan acceso a servicios AWS necesarios mediante NAT gateway o puntos de enlace VPC. Reglas de Security Group Crea un security group dedicado para MSK. Entrantes permite tráfico desde las subredes privadas donde correrán los clientes o Kafka Connect. Salientes este punto es crítico MSK necesita acceso saliente para comunicarse con servicios AWS si lo bloqueas verás errores como org.apache.kafka.common.errors.TimeoutException que impide la obtención de metadata. Solución permite salida 0.0.0.0/0 en los puertos requeridos o al menos hacia los endpoints de servicio de AWS.

Autenticación y puertos de brokers MSK soporta varios métodos de autenticación y cada uno requiere usar el endpoint y puerto adecuados bootstrap_brokers_sasl_iam puerto 9098 bootstrap_brokers_sasl_scram puerto 9096 bootstrap_brokers_tls puerto 9094 Error común usar el endpoint equivocado según la autenticación seleccionada lo que genera timeouts. Si creas el clúster con SASL debes crear usuarios y contraseñas si IAM es false y SASL es true. Si eliges IAM no necesitas credenciales manuales.

Paso B Crear el clúster Kafka Connect Despliega Kafka Connect en el mismo VPC y subredes privadas. Opciones de autenticación en Connect Connect solo permite NONE o IAM si tu clúster MSK usa SASL selecciona NONE si usa IAM configura Connect para usar IAM y apunta a bootstrap_brokers_sasl_iam puerto 9098 Elegir mal produce fallos de conexión y errores al buscar metadata.

Permisos del rol de ejecución Las tareas de Kafka Connect se ejecutan con un rol IAM. Para conectores que leen o escriben en S3 el rol debe incluir al menos s3 GetObject y s3 ListBucket sin estos permisos los conectores fallarán al acceder a S3.

Punto de enlace VPC para S3 Al estar en subred privada MSK Connect no puede alcanzar S3 por Internet directo. Crea un Gateway VPC Endpoint para com.amazonaws.region.s3 y asócialo a las tablas de ruteo privadas. Si falta verás errores tipo ConnectException com.amazonaws.SdkClientException Unable to execute HTTP request connect timed out. La solución crear el endpoint y revisar tablas de ruteo.

CloudWatch Logging Crea siempre un log group en CloudWatch para Kafka Connect para poder revisar errores detallados de las tareas y acelerar la resolución.

Plugins personalizados Muchos conectores reales como el S3 Sink o el Protobuf Converter no vienen integrados. Descarga o compila los JAR empaquétalos en ZIP y sube el ZIP a un bucket S3. Al crear el clúster Connect referencia la ruta S3. Si el plugin no está subido o el ZIP está mal formateado la creación del conector fallará.

Errores comunes y soluciones TimeoutException causa puerto del broker equivocado o salida del SG bloqueada resolución confirma el endpoint del broker según autenticación y revisa reglas salientes del SG ConnectException Unable to execute HTTP request causa falta de acceso a S3 desde subredes privadas resolución crea el Gateway VPC Endpoint para com.amazonaws.region.s3 y asocia las rutas Permisos S3 insuficientes en el rol del ejecutor añade s3 GetObject y s3 ListBucket Error plugin no encontrado carga el ZIP del plugin en S3 y especifica la ruta correcta en la configuración

Escenario 2 Configuración con clúster MSK existente Si ya tienes un clúster MSK en subred privada valida primero la configuración Qué método de autenticación está activado IAM SASL o TLS y qué endpoint de brokers corresponde Reglas salientes del security group Kafka Connect despliega en el mismo VPC y subredes privadas que el clúster y configura la autenticación adecuada si MSK usa SASL selecciona NONE si usa IAM selecciona IAM y usa los bootstrap brokers IAM Verificaciones de red y permisos Asegura el endpoint VPC para S3 que el rol de ejecución tenga permisos S3 que exista el log group en CloudWatch y que los plugins estén en S3 en formato ZIP

Resolución de problemas Si los conectores siguen fallando revisa los logs en CloudWatch Los problemas típicos son endpoints de broker equivocados permisos S3 faltantes endpoint VPC ausente o errores de empaquetado del plugin

Buenas prácticas Crea clústeres MSK en subredes privadas y provisiona los endpoints VPC necesarios para servicios dependientes Comprueba siempre qué endpoint de broker corresponde a tu método de autenticación Muchos timeouts vienen de mezclar endpoints IAM SASL y TLS Diseña roles IAM con menor privilegio pero recuerda otorgar permisos S3 explícitos al rol de ejecución de Connect Empaqueta conectores correctamente en ZIP antes de subirlos a S3 y monitoriza logs en CloudWatch para depurar más rápido

Conclusión Implementar MSK Connect en subredes privadas requiere más que operar la consola de AWS hay que coordinar diseño de VPC security groups autenticación y endpoints de servicio. La mayoría de errores provienen de malas configuraciones de red o de usar el endpoint de broker equivocado. Siguiendo las comprobaciones y soluciones descritas evitarás los fallos más comunes y conseguirás una canalización Kafka a S3 estable y segura. Si necesitas ayuda en la implementación o en integrar pipelines con IA para empresas y soluciones de inteligencia de negocio contamos con equipo experto en software a medida aplicaciones a medida ciberseguridad y servicios cloud que puede acompañarte en todo el proceso.