4
votes

Comment puis-je accéder à ma file d'attente kafka gérée par AWS MSK à partir de ma machine locale et des instances EC2 dans d'autres régions

Je configure une file d'attente kafka gérée sur AWS MSK. Je n'arrive pas à faire fonctionner la sécurité lors de la connexion à partir d'un ordinateur local et je ne peux pas déterminer si je peux utiliser des groupes de sécurité d'une région à une autre.

J'ai parcouru les informations sur la configuration de la groupes de sécurité sur la documentation principale ici . Je n'arrive toujours pas à me connecter au courtier. J'utilise actuellement les scripts kafka de ma machine locale de la manière suivante:

[2019-01-28 12:06:13,278] WARN [Producer clientId=console-producer] Connection to node -1 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

mais continuez à obtenir le résultat

bin/kafka-console-producer.sh --broker-list "my-broker-ip:9092" --topic "some-topic"

J'ai associé mon adresse IP locale à tous les ports du groupe de sécurité que j'ai configuré avec mon VPC et associé à la file d'attente kafka, mais cela ne semble pas avoir aidé. Je ne vois pas non plus comment associer mes boîtes à la file d'attente kafka car elles se trouvent dans des régions différentes. Est-ce possible?

J'utilise actuellement les scripts kafka de ma machine locale de la manière suivante:

bin / kafka-console-producer.sh --broker-list "my -broker-ip: 9092 "--topic" some-topic "

mais continuez à obtenir le résultat

[2019-01-28 12: 06: 13,278] WARN [Producteur clientId = console-producteur] La connexion au nœud -1 n'a pas pu être établie. Le courtier peut ne pas être disponible. (org.apache.kafka.clients.NetworkClient)

J'ai associé mon adresse IP locale à tous les ports du groupe de sécurité que j'ai configuré avec mon VPC et associé à la file d'attente kafka mais ce n'est pas le cas t semble avoir aidé. Je ne vois pas non plus comment associer mes boîtes à la file d'attente kafka car elles sont dans différentes régions. Est-ce possible?

Je m'attends à être en mesure de connecter mon code producteur local à la file d'attente kafka et d'observer la sortie plutôt que de le rejeter constamment.


0 commentaires

4 Réponses :


6
votes

AFAIK, vous avez pour accéder à votre cluster MSK à partir d'un machine cliente sur EC2 , et ne peut pas le faire depuis une machine locale.


1 commentaires

Est-ce vraiment une limitation? Que faire si j'ai un producteur dans mon EC2, mais que mes consommateurs se trouvent n'importe où en dehors de l'environnement AWS, peut-être une VM hébergée sur site ou une autre instance cloud



4
votes

Comme @Robin l'a mentionné, vous ne pouvez pas accéder à MSK directement à partir de la machine locale en utilisant le client kafka ou le flux kafka. Étant donné que l'URL du courtier, la chaîne de connexion zookeeper sont des adresses IP privées du vpc / sous-réseau du cluster msk. Pour accéder via le client kafka, vous devez lancer l'instance ec2 dans le même vpc de MsK et exécuter le client kafka (producteur / consommateur) pour accéder au cluster msk.

Mais vous pouvez configurer le framework kafka Rest Proxy open-source par Confluent pour accéder au cluster MSK depuis le monde extérieur via l'API rest. Ce framework est à part entière kafka cient et ne permet pas toutes les opérations du client kafka, mais vous pouvez effectuer la plupart des opérations sur le cluster à partir de la récupération des métadonnées du cluster, des informations sur le sujet, de la production et de la consommation du message, etc.

J'ai répondu en détail à ce scénario ainsi qu'à quelques autres questions liées à MSK, référez-vous-

Fonctionnalités et performances Amazon Managed Streaming pour Kafka- MSK < / a>


0 commentaires


0
votes

Une solution que je pense que nous avons consiste à utiliser une passerelle de transit. De cette façon, le VPC sur lequel réside AWS MSK et le réseau sur site où se trouve votre ordinateur portable peuvent être interconnectés et accessibles de manière transparente.

Vous pouvez également profiter de l'appairage de VPC.

Veuillez vous référer à la documentation ci-dessous pour plus de détails.

https://docs.aws.amazon.com /msk/latest/developerguide/client-access.html

Détails sur la passerelle de transit

https://docs.aws .amazon.com / vpc / latest / tgw / what-is-transit-gateway.html


0 commentaires