it-swarm.com.de

AWS S3-CLI - Konnte keine Verbindung zur Endpunkt-URL herstellen

$ aws s3 ls

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

Was könnte das Problem sein?

58
Prabhat

In Ihrem Standardprofil für den Standardbereich ist wahrscheinlich ein Fehler aufgetreten.

Überprüfen Sie Ihre Datei bei ~/.aws/config, Sie haben so etwas

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

Fixiere die Region auf region=us-east-1 und der Befehl wird dann korrekt funktionieren

151

zuerst verwenden Sie 'aws configure' Geben Sie dann den Zugriffsschlüssel und den geheimen Schlüssel und die Region ein. Die Region, die Sie eingeben, ist für dieses Problem wichtig. Versuchen Sie, etwas wie 's3.us-east-1' einzugeben, nicht 's3.us-east-1a' . Das Problem wird dadurch gelöst.

6
fraya

Die S3-Endpunkte sind pro Region und nicht pro AZ:

http://docs.aws.Amazon.com/general/latest/gr/rande.html#s3_region

In Ihrem Fall sollte es https://s3.amazonaws.com sein.

3
devonlazarus

Wenn keine der oben genannten Lösungen funktioniert, überprüfen Sie auch Ihre Berechtigungen und Firewall-Einstellungen. In meinem Fall hat das Hinzufügen von Proxy-Umgebungsvariablen die Aufgabe erfüllt. 

Für Linux oder Mac

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

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

Für Windows

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

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

 enter image description here

2
imTheManager

Einige AWS-Dienste sind nur in bestimmten Regionen verfügbar, die nicht Ihrer tatsächlichen Region entsprechen. Wenn dies der Fall ist, können Sie die Standardeinstellung überschreiben, indem Sie die Region Ihrem tatsächlichen cli-Befehl hinzufügen.

Dies ist eine praktische Lösung für Benutzer, die ihren Standardbereich in der Konfigurationsdatei nicht ändern möchten. WENN Ihre allgemeine Konfigurationsdatei nicht festgelegt ist: Bitte überprüfen Sie die obigen Vorschläge.

In diesem Beispiel muss die Region eu-west-1 (z. B. Irland) sein:

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

Getestet und mit aws workmail zum Löschen von Benutzern verwendet:

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

Ich habe die Idee aus diesem Thread abgeleitet und sie funktioniert perfekt für mich - deshalb wollte ich sie teilen. Ich hoffe es hilft!

1
Thomas Thiemann

Angenommen, Ihr Profil in ~/aws/config verwendet die Region (anstelle von AZ gemäß Ihrer ursprünglichen Frage). Die andere Ursache ist, dass Ihr Client keine Verbindung zu s3.us-east-1.amazonaws.com herstellen kann. In meinem Fall konnte ich diesen DNS-Namen aufgrund eines Fehlers in meiner Netzwerkkonfiguration nicht auflösen. Durch Beheben des DNS-Problems wurde mein Problem behoben.

1
canadadry

Sie sollten den Bereich in Ihrem CLI-Skript angeben, anstatt sich auf den Standardbereich zu verlassen, der mit aws configure angegeben wurde (wie die aktuell am häufigsten verwendete Antwort darstellt). In einer anderen Antwort wurde darauf hingewiesen, aber die Syntax ist falsch, wenn Sie CLI über AWS Tools for Powershell verwenden.

Dieses Beispiel zwingt region zu us-west-2 (Northern California), PowerShell-Syntax:

aws s3 ls --region us-west-2
0
Luke

Wahrscheinlich stimmt die Standardregion nicht mit der Konfiguration von aws . In Ihrem Fall lautet die URL " https://s3.us-east-1a.amazonaws.com/ "

In Ihrer Eingabeaufforderung, 

aws configure, Geben Sie Ihre Schlüssel ein Fixieren Sie nun Ihre Region von us-east-1a auf us-east-1.

Bitte überprüfen Sie die Syntax entsprechend der von Ihnen verwendeten CLI .. _. Dies wird hilfreich sein.

0
Sonal