AWS S3 CLI - Impossible de se connecter à l'URL du point de terminaison

118
$ aws s3 ls

Could not connect to the endpoint URL: "https://s3.us-east-1a.amazonaws.com/"

Quel pourrait être le problème?

Prabhat
la source
Cela m'est arrivé lorsque j'ai essayé de créer un domaine Cloudsearch sur us-east-2, je devais utiliser us-east-1?
Jason Goemaat

Réponses:

259

Vous avez probablement un problème dans votre profil par défaut pour la région par défaut.

Vérifiez votre dossier sur ~/.aws/config, vous avez quelque chose comme

[default]
region=us-east-1a
...

Fixez la région à region=us-east-1et la commande fonctionnera correctement

Frédéric Henri
la source
3
J'ai eu une mauvaise entrée similaire dans ~ / .aws / config qui a été créée par la commande 'aws configure'. Par défaut, il a suggéré le nom de ma région «Mumbai» que j'ai accepté. C'était le problème. Une fois que je l'ai remplacé par ap-south-1, la commande (aws s3 ls) a commencé à fonctionner. Merci.
Anurag
1
Merci beaucoup. Le peu de cheveux qui reste sur ma tête est maintenant en sécurité pendant quelques instants ...
cuivre.hat
1
Je vous remercie. Je ne sais pas comment tu as su ça.
user890332
2
J'ai eu une erreur semblable, et a constaté qu'il pouvait également être résolu en spécifiant la région comme une option de ligne de commande: aws s3 ls --region us-east-1.
Kurt Peek
3
J'aurais aimé qu'ils aient la possibilité d'envoyer des dons financiers pour des réponses comme celle-ci.
RayLoveless
8

vous utilisez d'abord 'aws configure', puis entrez la clé d'accès, la clé secrète et la région. la région que vous indiquez serait importante pour ce problème. essayez d'entrer quelque chose comme «s3.us-east-1», pas «s3.us-east-1a». cela résoudra le problème.

fraya
la source
6

Certains services AWS sont uniquement disponibles dans des régions spécifiques qui ne correspondent pas à votre région réelle. Si tel est le cas, vous pouvez remplacer le paramètre standard en ajoutant la région à votre commande cli réelle.

Cela peut être une solution pratique pour les personnes qui ne souhaitent pas modifier leur région par défaut dans le fichier de configuration. SI votre fichier de configuration générale n'est pas défini: veuillez vérifier les suggestions ci-dessus.

Dans cet exemple, la région est forcée à eu-west-1 (par exemple, l'Irlande):

aws s3 ls --region=eu-west-1

Testé et utilisé avec aws workmail pour supprimer des utilisateurs:

aws workmail delete-user --region=eu-west-1 --organization-id [org-id] --user-id [user-id]

J'ai dérivé l'idée de ce fil et cela fonctionne parfaitement pour moi - alors je voulais le partager. J'espère que ça aide!

Thomas Thiemann
la source
5

Si aucune des solutions données ci-dessus ne fonctionne, vérifiez également vos autorisations et vos paramètres de pare-feu. Dans mon cas, l'ajout de variables d'environnement proxy a fait le travail.

Pour Linux ou mac

$ export HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>

$ export HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT>

Pour les fenêtres

set HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>

set HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT> aws cli Windows

entrez la description de l'image ici

imTheManager
la source
5

Vous devez spécifier la région dans votre script CLI, plutôt que de vous fier à la région par défaut spécifiée à l'aide de aws configure (comme l'affirme la réponse la plus courante actuelle). Une autre réponse a fait allusion à cela, mais la syntaxe est incorrecte si vous utilisez l'interface de ligne de commande via AWS Tools for Powershell.

Cet exemple force la région à us-west-2 (Californie du Nord), syntaxe PowerShell:

aws s3 ls --region us-west-2
Luke
la source
2

Il y a probablement un problème avec la région par défaut lors de la configuration de aws. Dans votre cas, l'URL indique " https://s3.us-east-1a.amazonaws.com/ "

Dans votre invite de commande,

aws configure, entrez vos clés, corrigez maintenant votre région de us-east-1a à us-east-1 .

Veuillez vérifier la syntaxe en fonction de la CLI que vous utilisez. Ce sera utile.

Sonal
la source
1

En supposant que votre profil ~/aws/configutilise la région (au lieu de AZ selon votre question initiale); L'autre cause est l'incapacité de votre client à se connecter s3.us-east-1.amazonaws.com. Dans mon cas, je n'ai pas pu résoudre ce nom DNS en raison d'une erreur dans la configuration de mon réseau. La résolution du problème DNS a résolu mon problème.

canadadry
la source
0

Quelques choses que j'ai faites pour résoudre ce problème:

  1. J'ai mis à jour ma CLI et il a donné cette erreur (l'erreur précédente était " aws connection aborted error 10013")
  2. Essayé de nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com

    La requête DNS a expiré. le délai d'attente était de 2 secondes. Serveur: Adresse inconnue: 192.168.10.1

-> hmmm très bizarre

  1. Je suis allé au dépannage du réseau Windows et sélectionné pour tester l'accès à une page spécifique. Il a informé que le pare-feu Windows a bloqué la connexion. Correction de ça

  2. Reçu une nouvelle erreur, après avoir corrigé la demande via Firewal:

    Une erreur s'est produite (RequestTimeTooSkewed) lors de l'appel de l'opération ListBuckets: la différence entre l'heure de la requête et l'heure actuelle est trop grande.

  3. Mise à jour de ma date et heure sur automatique -> Fixe

Vladyslav Didenko
la source
0

Vous devez faire ce qui suit sur la CLI: 1. aws configure '
2. entrez la clé d'accès 3. entrez la clé secrète 4. puis la région ie: eu-west-1 (laissez le a ou le b après le 1)

Adam Ali
la source
0

Tout le monde a des valeurs par défaut différentes, et il est intéressant de noter que cela changera avec le temps. À titre d'exemple, j'étais d'abord sur global, puis après 15 minutes, il montre l'Ohio (qui est us-east-2).

La meilleure approche consiste à le vérifier pendant votre travail - dans la console de votre zone de travail AWS, réglez-le simplement sur le côté droit au-dessus près de votre nom dans la barre supérieure, vérifiez le nom de votre région et cliquez sur la flèche vers le bas pour voir votre région.

Dans l'AWS CLI, saisissez aws configureou aws2 configureindiquez votre accès et votre identifiant secret, puis pendant la région par défaut, écrivez votre région et appuyez sur Entrée.

Vous aurez certainement accès à un ensemble de régions spécifiques et cela fonctionnera.

vedant dave
la source
0

La solution à mon problème était d'exécuter:

    sudo aws configure

Entrez vos informations d'identification, puis exécutez:

    sudo aws s3 ls

Une solution différente consistait à s'assurer que la région dans le fichier .aws / config est la même que les points de terminaison

Nicole Douglas
la source
0

Sous Windows, exécutez à nouveau la commande aws configure et réinitialisez la région sans la lettre.Par exemple, si votre région est us-east-1a, vous devez la changer en us-east-1 pour que cela fonctionne.

entrez la description de l'image ici

techjunkie
la source