Comment puis-je un problème lié à une erreur de connexion liée à l’exécution des commandes « cp » ou « sync » sur un compartiment Amazon S3 ?

Lecture de 5 minute(s)
0

J’essaie d’exécuter une commande « cp » ou « sync » sur mon compartiment Amazon Simple Storage Service (Amazon S3). Je reçois cependant un message d’erreur.

Brève description

Pour exécuter les commandes cp ou sync sur l’interface de la ligne de commande AWS (AWS CLI), votre machine doit se connecter aux bons points de terminaison Amazon S3. Autrement, un message d’erreur s’affiche, indiquant que le service ne peut pas se connecter à l’URL du point de terminaison ou que le délai de connexion a expiré. Suivez les instructions de résolution de problèmes correspondant à l’erreur reçue :

Erreur : « Could not connect to the endpoint URL »

  • Vérifiez que vous utilisez bien la région AWS et le point de terminaison Amazon S3 appropriés.
  • Vérifiez que votre DNS peut se connecter aux points de terminaison S3.

Erreur : « Connect timeout on endpoint URL » :

  • Vérifiez que votre réseau peut se connecter aux points de terminaison S3.
  • Pour une instance Amazon Elastic Compute Cloud (Amazon EC2), vérifiez la configuration du cloud privé virtuel (VPC).

Remarque : si des erreurs surviennent lors de l’exécution des commandes de l’AWS CLI, vérifiez que vous utilisez bien sa version la plus récente.

Résolution

Vérifier que vous utilisez bien la région AWS et le point de terminaison Amazon S3 appropriés

Lorsque vous exécutez une commande dans l’AWS CLI, celle-ci envoie des demandes d’API au point de terminaison S3 de la région AWS par défaut. Par ailleurs, lorsque vous spécifiez une région, une demande d’API est envoyée à un point de terminaison S3 spécifique à la région. L’AWS CLI peut ensuite rediriger la demande vers le point de terminaison S3 régional du compartiment.

Le message d’erreur « Could not connect to the endpoint URL » peut survenir si la région ou le point de terminaison spécifié contient une faute de frappe ou une erreur. Par exemple, la commande suivante génère cette erreur, car le nom du point de terminaison contient un e de trop :

aws s3 cp filename s3://DOC-EXAMPLE-BUCKET/ --endpoint-url https://s3-acceleratee.amazonaws.com

Avant d’exécuter la commande cp ou sync, vérifiez que la région et le point de terminaison S3 associés sont bien exacts.

Remarque : si vous utilisez Amazon S3 Transfer Acceleration, consultez la section Configuration de transferts de fichiers rapides et sécurisés à l’aide d’Amazon S3 Transfer Acceleration pour le nom du point de terminaison.

Vérifier si le DNS peut se connecter aux points de terminaison S3

Pour vérifier si le DNS peut se connecter aux points de terminaison Amazon S3, utilisez un outil de requête DNS à l’instar de nslookup ou de ping. L’exemple suivant utilise nslookup :

nslookup s3.amazonaws.com

L’exemple suivant utilise ping pour vérifier la connexion du DNS au point de terminaison S3 :

ping s3.amazonaws.com

Si le DNS ne parvient pas à se connecter aux points de terminaison S3, vous devez alors résoudre les problèmes de configuration de votre DNS. Si Amazon Route 53 est votre fournisseur DNS, consultez la section Résolution des problèmes d’Amazon Route 53.

Vérifier si le réseau peut se connecter aux points de terminaison S3

Vérifiez que le pare-feu de votre réseau autorise le trafic vers les points de terminaison Amazon S3 sur le port utilisé pour le trafic Amazon S3.

Par exemple, la commande telnet suivante permet de tester la connexion au point de terminaison S3 régional ap-southeast-2 sur le port 443 :

telnet s3.ap-southeast-2.amazonaws.com 443

Remarque : vous devez remplacer le point de terminaison régional et le port (443 ou 80) par les valeurs correspondant à votre cas d’utilisation.

Dans le cas d’une instance EC2, vérifiez la configuration du VPC

Si cette erreur survient dans le cas susmentionné, vous devez vérifier la configuration de votre VPC. Si l’instance EC2 se trouve dans un sous-réseau public, effectuez les vérifications suivantes :

Si l’instance EC2 se trouve dans un sous-réseau privé, effectuez les vérifications suivantes :

  • Vérifiez si une passerelle de traduction d’adresses réseau (NAT) est associée à la table de routage du sous-réseau. La passerelle NAT fournit un chemin Internet pour atteindre le point de terminaison Amazon S3.
  • Si vous utilisez le point de terminaison d’un VPC pour Amazon S3, vérifiez que le fichier de configuration de l’interface AWS CLI indique bien la région exacte. Les points de terminaison d’un VPC pour Amazon S3 sont spécifiques à chaque région. Si vous exécutez une commande de synchronisation avec --region us-west-1 lorsque le point de terminaison d’un VPC se trouve dans une région différente, l’interface AWS CLI contacte https://s3.us-west-1.amazonaws.com. Vous recevez alors le message d’erreur « Could not connect to the endpoint URL ».
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 8 mois