Comment résoudre les problèmes liés à la création ou à la connexion d'un point de terminaison de développement AWS Glue ?

Date de la dernière mise à jour : 24/09/2019

Je n'arrive pas à créer ou à me connecter à un point de terminaison de développement AWS Glue.

Brève description

La plupart des problèmes liés aux points de terminaison de développement AWS Glue se font partie de l'une des catégories suivantes. Résolvez les problèmes dans cet ordre :

  1. Rôles et autorisations AWS Identity and Access Management (IAM)
  2. Mise en réseau
  3. Clés SSH

Résolution

Rôles IAM et autorisations

  1. Assurez-vous que le rôle AWSGlueServiceRole est attaché à la stratégie IAM et que la stratégie autorise AWS Glue à assumer ce rôle (« svc:glue.amazonaws.com »).
  2. Assurez-vous que la stratégie IAM autorise les actions suivantes si vous ne pouvez pas créer le point de terminaison de développement dans un VPC :
    ec2:DescribeVpcAttribute
    ec2:DescribeSubnets
    ec2:DescribeSecurityGroups
    ec2:DescribeNetworkInterfaces
    ec2:DeleteNetworkInterface
    ec2:CreateNetworkInterface
    ec2:DescribeRouteTables
    ec2:DescribeVpcEndpoints
  3. Vérifiez que la stratégie IAM autorise les actions suivantes si le point de terminaison de développement utilise Amazon Simple Storage Service (Amazon S3) pour la source et la cible :
    s3:ListBucket
    s3:GetObject
    s3:ListBucket
    s3:PutObject
    s3:DeleteObject
  4. Si vous avez spécifié des chemins Amazon S3 pour la bibliothèque Python et les fichiers Jar dépendants, vérifiez que la stratégie IAM autorise l'accès à ces deux chemins.
  5. Si vous utilisez le catalogue de données AWS Glue comme le metastore pour Apache Hive, assurez-vous que la stratégie IAM autorise l'action « glue:CreateDatabase » et n'inclut pas de refus explicite. Pour plus d'informations, consultez Vérifier si une demande est autorisée ou refusée au sein d'un compte.

Si vous ne parvenez toujours pas à vous connecter au point de terminaison de développement, dépannez vos paramètres de mise en réseau.

Mise en réseau

Si vous avez créé le point de terminaison de développement dans un VPC :

  1. Si vous utilisez un DNS personnalisé, assurez-vous que chaque adresse IP disponible dans le sous-réseau possède un enregistrement A et un enregistrement PTR.
  2. Assurez-vous que les attributs enableDnsHostnames et enableDnsSupport sont définis sur « true ». Pour plus d'informations, consultez Configuration du DNS de votre VPC.

Vérifiez la table de routage et le groupe de sécurité associés au sous-réseau pour le point de terminaison :

  1. Vérifiez que la table de routage comporte une route vers le point de terminaison Amazon S3.
  2. Vérifiez que la table de routage comporte une route vers une passerelle Internet. Ceci est indispensable pour accéder au point de terminaison de développement à partir d'une machine locale.
  3. Vérifiez que le groupe de sécurité possède une règle entrante avec référence circulaire pour tous les ports TCP.
  4. Vérifiez que le groupe de sécurité possède une règle sortante qui autorise tout trafic ou une règle sortante vers un groupe de sécurité avec référence circulaire. Pour plus d'informations, consultez Configuration de votre réseau pour un point de terminaison de développement.

Si vous n'arrivez pas à vous connecter au point de terminaison de développement à l'aide de SSH :

  1. Assurez-vous que le groupe de sécurité possède une règle entrante qui autorise le port 22 à partir de la machine que vous utilisez à s’y connecter.
  2. AWS Glue utilise des adresses privées lorsque vous lancez un point de terminaison de développement dans un VPC. Si vous essayez de vous connecter au point de terminaison à l'aide de SSH depuis l'extérieur du VPC, la connexion échoue même si le sous-réseau dispose d'une passerelle Internet et d'une route. Pour résoudre ce problème, associez une adresse IP Elastic au point de terminaison de développement.
    Remarque : pour se connecter avec une adresse IP Elastic, le sous-réseau doit avoir une route vers une passerelle Internet. Pour se connecter à un point de terminaison de développement dans un sous-réseau privé, commencez par vous connecter à un hôte bastion à l'aide de SSH. Ensuite, connectez-vous au point de terminaison de développement à l'aide de SSH.

Vérifiez vos clés SSH si vous ne parvenez toujours pas à vous connecter au point de terminaison de développement à l'aide de SSH.

Clés SSH

Ci-devant les étapes à suivre pour résoudre les problèmes liés aux clés SSH Si vous n'arrivez pas à vous connecter à un point de terminaison de développement à l'aide de SSH, consultez la section « Mise en réseau » de cet article.

  1. Vérifiez que la clé privée possède une extension .pem . Par exemple, si votre fichier de clé est id_rsa, renommez-le en id_rsa.pem. Si la clé privée n'a pas d'extension .pem vous obtenez l'erreur : « Connexion bloquée, car le serveur autorise uniquement l'authentification de clé publique. Veuillez contacter votre administrateur réseau. »
  2. Si vous rencontrez des problèmes pour convertir un fichier .ppk en .pem, suivez les étapes de la section Comment puis-je convertir un fichier .pem en fichier .ppk et vice versa, sous Windows et Linux ?
  3. Si vous n’arrivez pas à créer le point de terminaison de développement, assurez-vous que la clé publique n'a pas d'espaces blancs ou de caractères de fin de ligne. Les clés publiques générées avec PuTTYgen contiennent souvent ces caractères. Pour résoudre ce problème, copiez et collez la clé publique dans un éditeur de texte. Supprimez ensuite les espaces blancs et les caractères de fin de ligne. Lorsque vous procédez ainsi, la totalité de la clé SSH se trouve sur une seule ligne. Utilisez la clé ainsi modifiée pour créer le point de terminaison de développement.