Connect to Amazon MSK
What is MSK?
Amazon MSK is a self-managed service that makes it easy to build and run applications that use Apache Kafka to process streaming data. It lacks several important Apache Kafka features like Kafka Connect, Kafka Streams, ksqlDB, and is not cloud-native (serverless, like S3 or Kinesis) but is just a provisioned infrastructureAWS MSK supports also Kafka Connect clusters.
Read more about it.
Conduktor & MSK
Conduktor, which is running on your computer, has no access by default to MSK. Still, it’s possible to connect it to the cluster by using a specialized kafka proxy in-between. To make it work:- Start a proxy https://github.com/dajudge/kafkaproxy/ on a EC2 instance that has access to the cluster. For instance, using Docker:
- On your local machine, do a ssh-tunnel to this EC2 instance:
- Connect Conduktor using localhost:4000

Alternative: Another Proxy
If you get some errors such as “Exception in upstream channel.:
java.lang.IllegalArgumentException: Invalid version for API key METADATA: 11”, your proxy may be
incompatible with your version of Apache Kafka.
- Run the proxy on an EC2 machine running in the MSK network:
- Map all your brokers
- SSH forward locally to your EC2 machine:
- Forward all the ports
- Connect your Conduktor to localhost:32500
Connect using AWS IAM
Conduktor fully handles AWS IAM, you just have to setup your connection with your IAM access. Read our guest blog on AWS for more details: https://aws.amazon.com/blogs/big-data/securing-apache-kafka-is-easy-and-familiar-with-iam-access-control-for-amazon-msk/
AWS MSK + IAM Architecture
A small overview of “what’s going on” when you use AWS MSK and configure IAM (read the mentioned blog above for more details):.png?fit=max&auto=format&n=5TjI4-HLqdnQIYNU&q=85&s=726abf3bc3e379eca71517472455eb10)
Configuration Example
Here is an example of configuration you can copy/paste. Just update theawsProfileName
to yours: