Ma tâche AWS Glue ou mon analyseur AWS Glue échoue et l’erreur « VPC S3 endpoint validation failed for SubnetId » s'affiche.
Brève description
L'erreur « VPC S3 endpoint validation failed for SubnetId » s'affiche lorsque les conditions suivantes sont remplies :
AWS Glue crée des interfaces réseau Elastic dans le sous-réseau de la connexion AWS Glue pour se connecter à vos sources de données et à Amazon S3. Les interfaces réseau Elastic se voient attribuer une adresse IP privée à partir de la plage d’adresses IP dans le sous-réseau. Étant donné qu’aucune adresse IP publique n’est utilisée, AWS Glue ne peut pas utiliser Internet pour se connecter directement à vos sources de données ou à Amazon S3 au sein de votre VPC. Pour plus d’informations, consultez la section Configuration de l’accès réseau aux magasins de données.
Résolution
Configurez le sous-réseau de votre connexion AWS Glue afin que la table de routage inclue un point de terminaison de passerelle de VPC Amazon S3 ou une route vers une passerelle NAT. Pour en savoir plus, consultez la section Erreur : Could not find S3 endpoint or NAT gateway for subnetId in VPC.
Si votre tâche AWS Glue doit accéder à l’Internet public, vérifiez que vous avez configuré le sous-réseau avec une passerelle NAT.
Configurer un point de terminaison de passerelle de VPC S3
Procédez comme suit :
- Ouvrez la console Amazon VPC.
- Dans le volet de navigation, sélectionnez Points de terminaison.
- Sélectionnez Créer un point de terminaison.
- Pour Nom du service, sélectionnez com.amazonaws.us-east-1.s3.
Remarque : Remplacez us-east-1 par votre région AWS.
- Pour la colonne Type, sélectionnez Passerelle.
- Pour VPC, sélectionnez le VPC sur lequel vous souhaitez créer le point de terminaison.
Remarque : Pour Configurer les tables de routage, une route vers le point de terminaison de VPC S3 est automatiquement ajouté.
- Pour Stratégie, vous pouvez laisser l’option par défaut Accès complet.
- Sélectionnez Créer un point de terminaison.
Pour plus d’informations, consultez la section Points de terminaison de passerelle.
Si vous utilisez une stratégie basée sur les ressources, autorisez votre tâche AWS Glue ou le rôle AWS Identity and Access Management (IAM) de votre analyseur à accéder aux ressources S3 requises.
Configurer une passerelle NAT
Avant de configurer la passerelle NAT, vous devez allouer une adresse IP Elastic.
En outre, le VPC que vous utilisez pour la connexion AWS Glue doit disposer d'au moins un sous-réseau public. Pour plus d’informations, consultez la section Exemple : VPC avec des serveurs dans des sous-réseaux privés et NAT.
Procédez comme suit :
- Ouvrez la console Amazon VPC.
- Dans le panneau de navigation, sélectionnez Passerelles NAT.
- Sélectionnez Créer une passerelle NAT.
- Pour le Nom, saisissez le nom de la passerelle que vous souhaitez créer.
- Pour Sous-réseau, sélectionnez un sous-réseau public dans le VPC que vous avez spécifié dans la connexion AWS Glue.
- Pour Type de connectivité, conservez l'option par défaut ** Public**.
- Sélectionnez Créer une passerelle NAT.
Après avoir configuré la passerelle, modifiez la table de routage associée au sous-réseau de la connexion AWS Glue. Puis, ajoutez une route à la passerelle NAT.
Procédez comme suit :
- Dans le panneau de navigation, sélectionnez Tables de routage.
- Sélectionnez la table de routage associée au sous-réseau que vous souhaitez modifier.
- Sélectionnez Actions, puis Modifier les routages.
- Sur la page Modifier les routages, sélectionnez Ajouter une route.
- Configurez la nouvelle route pour envoyer l’intégralité du trafic de sous-réseau à la passerelle NAT :
Dans le champ Destination, saisissez 0.0.0.0/0.
Pour Cible, sélectionnez Passerelle NAT, puis sélectionnez votre passerelle NAT.
- Sélectionnez Enregistrer les modifications.
- Testez votre connexion AWS Glue.
- Exécutez à nouveau votre tâche AWS Glue ou l’analyseur AWS Glue.