Comment puis-je résoudre les problèmes liés à une tâche AWS Glue entre comptes pour un cluster Amazon MSK ?

Lecture de 4 minute(s)
0

Je souhaite résoudre un problème lié à l'échec d'une tâche AWS Glue qui se connecte à un cluster Amazon Managed Streaming for Apache Kafka (MSK) sur plusieurs comptes AWS.

Résolution

Vérifiez que la tâche AWS Glue peut se connecter au cluster Amazon MSK, puis remédiez aux problèmes liés à la méthode d'authentification de la tâche AWS Glue.

Vérifier la connectivité de la tâche AWS Glue intercompte

Pour vérifier que la tâche AWS Glue peut se connecter au cluster Amazon MSK, procédez comme suit :

  1. Vérifiez que la liste de contrôle d'accès réseau (ACL réseau) de la connexion AWS Glue autorise le trafic vers le cluster Amazon MSK dans le cloud Amazon Virtual Private Cloud (Amazon VPC) intercompte.
  2. Vérifiez que le groupe de sécurité du cluster Amazon MSK autorise le CIDR de sous-réseau de la connexion AWS Glue sur les ports du serveur bootstrap du cluster Amazon MSK.
    Remarque : Les groupes de sécurité de la connexion AWS Glue doivent contenir une règle entrante auto-référencée pour les ports TCP nécessaires.
  3. Vérifiez que vous avez correctement configuré vos connexions d'appairage de VPC entre le cluster Amazon MSK et les VPC ou sous-réseaux de la connexion AWS Glue.
  4. Utilisez Reachability Analyzer pour vérifier si un composant interfère avec la connectivité entre les VPC.
  5. Lancez une instance Amazon Elastic Compute Cloud (Amazon EC2) dans les mêmes sous-réseau et groupe de sécurité que ceux utilisés par la connexion AWS Glue.

Utilisez Session Manager, une fonctionnalité d'AWS Systems Manager ou un client SSH pour vous connecter à votre instance EC2. Puis, exécutez les tests suivants :

telnet example-bootstrap-server-hostname example-bootstrap-server-port  
nc -zv example-bootstrap-server-hostname example-bootstrap-server-port   
dig example-bootstrap-server-hostname

Remarque : Dans les commandes précédentes, remplacez les exemples de valeurs par les vôtres. Si telnet n'est pas installé, exécutez sudo yum install telnet -y pour l'installer.

Si la sortie inclut connecté ou connexions établies, la connectivité de la tâche AWS Glue est vérifiée.

Résoudre les problèmes d'authentification

Pour vérifier l'URL du serveur bootstrap dans la connexion AWS Glue, procédez comme suit :

  1. Obtenez les agents bootstrap auprès d’Amazon MSK.
  2. Ouvrez la console AWS Glue.
  3. Dans le volet de navigation, sous Catalogue de données, sélectionnez Connexions. Vous pouvez également sélectionner Connexions de données dans le volet de navigation.
  4. Dans Connexions, sélectionnez votre connexion, puis Actions.
  5. Dans la liste déroulante, sélectionnez Modifier.
  6. Sous Accès à la connexion, vérifiez que les URL du serveur bootstrap Kafka correspondent à celles de la console Amazon MSK.
  7. Si les URL ne correspondent pas, mettez-les à jour conformément à la méthode d'authentification utilisée par le cluster Amazon MSK. Utilisez les numéros de port qui correspondent à la configuration de votre agent :
    Pour TLS/SSL, utilisez le port 9094 pour l'accès au sein d'AWS et le port 9194 pour l'accès public.
    Pour SASL/SCRAM, utilisez le port 9096 pour l'accès au sein d'AWS et le port 9196 pour l'accès public.
  8. Sélectionnez Enregistrer les modifications.

Puis, effectuez les actions suivantes en fonction de la méthode d'authentification du cluster Amazon MSK.

SASL/SCRAM-SHA-512

Utilisez AWS Secrets Manager pour vérifier votre nom d'utilisateur et votre mot de passe. Si vous utilisez Secrets Manager pour stocker vos informations d'identification, vérifiez que le sous-réseau de la connexion AWS Glue peut atteindre le point de terminaison de votre Secret Manager.

Authentification du client TLS/SSL

Pour valider le certificat de keystore et le mot de passe du keystore ou le mot de passe de clé du client Kafka, exécutez la commande suivante :

keytool -list -v -keystore /pathtocert/kafka.client.keystore.jks -storepass 123456

Vérifiez que la sortie contient le certificat AWS Private Certificate Authority (AWS Private CA) utilisé par le cluster Amazon MSK.

Si la sortie ne contient pas le certificat, suivez les étapes 5 à 11 de la section Configurer un client pour utiliser l'authentification pour créer de nouveaux keystores.

Important : Créez de nouveaux keystores pour chaque client avec le même certificat privé que celui utilisé par le cluster Amazon MSK.

Chargez le certificat kafka.client.keystore.jks sur Amazon Simple Storage Service (Amazon S3). Puis, configurez votre connexion AWS Glue Kafka avec le chemin S3 du certificat.

Authentification IAM

Vérifiez que le rôle AWS Identity and Access Management (IAM) de la tâche AWS Glue utilise la politique d'autorisation appropriée pour le cluster Amazon MSK.

Informations connexes

Création d'une connexion Kafka

Streaming de tâches ETL dans AWS Glue

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un mois