AWS S3 CLI - Es konnte keine Verbindung zur Endpunkt-URL hergestellt werden

118
$ aws s3 ls

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

Was könnte das Problem sein?

Prabhat
quelle
Dies geschah bei mir beim Versuch, eine Cloudsearch-Domain zu erstellen us-east-2, auf der ich verwenden musste us-east-1?
Jason Goemaat

Antworten:

259

In Ihrem Standardprofil für die Standardregion ist wahrscheinlich etwas nicht in Ordnung.

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

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

Korrigieren Sie die Region auf region=us-east-1und dann funktioniert der Befehl korrekt

Frederic Henri
quelle
3
Ich hatte einen ähnlichen falschen Eintrag in ~ / .aws / config, der mit dem Befehl 'aws configure' erstellt wurde. Standardmäßig wurde mein Regionsname "Mumbai" vorgeschlagen, den ich akzeptierte. Das war das Problem. Nachdem ich es durch ap-south-1 ersetzt hatte, begann der Befehl (aws s3 ls) zu funktionieren. Vielen Dank.
Anurag
1
Vielen Dank. Das kleine Haar, das auf meinem Kopf bleibt, ist jetzt für ein paar Momente sicher ...
Kupfer.hat
1
Danke dir. Ich habe keine Ahnung, woher du das wusstest.
user890332
2
Ich hatte einen ähnlichen Fehler und stellte fest, dass er auch durch Angabe der Region als Befehlszeilenoption behoben werden konnte: aws s3 ls --region us-east-1 .
Kurt Peek
3
Ich wünschte, sie hätten die Möglichkeit, finanzielle Spenden an solche Antworten zu senden.
RayLoveless
8

Zuerst verwenden Sie 'aws configure' und geben dann den Zugriffsschlüssel, den geheimen Schlüssel und die Region ein. Die von Ihnen eingegebene Region wäre für dieses Problem wichtig. Versuchen Sie, etwas wie 's3.us-east-1' einzugeben, nicht 's3.us-east-1a'. es wird das Problem lösen.

fraya
quelle
6

Einige AWS-Services sind nur in bestimmten Regionen verfügbar, die nicht Ihrer tatsächlichen Region entsprechen. In diesem Fall können Sie die Standardeinstellung überschreiben, indem Sie die Region zu Ihrem eigentlichen cli-Befehl hinzufügen.

Dies ist möglicherweise eine praktische Lösung für Personen, 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 ist die Region gezwungen, eu-west-1 (z. B. Irland):

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 - also wollte ich sie teilen. Ich hoffe es hilft!

Thomas Thiemann
quelle
5

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 den Job erledigt.

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

Geben Sie hier die Bildbeschreibung ein

imTheManager
quelle
5

Sie sollten die Region in Ihrem CLI-Skript angeben, anstatt sich auf die Standardregion zu verlassen, die mit aws configure angegeben wurde (wie die derzeit beliebteste Antwort bestätigt). Eine andere Antwort spielte darauf an, aber die Syntax ist falsch, wenn Sie CLI über AWS Tools for Powershell verwenden.

In diesem Beispiel wird die Region nach US-West-2 (Nordkalifornien) gezwungen. PowerShell-Syntax:

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

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

In Ihrer Eingabeaufforderung

aws konfigurieren, geben Sie Ihre Schlüssel ein, jetzt fixieren Sie Ihre Region von us-east-1a bis us-east-1 .

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

Sonal
quelle
1

Angenommen, Ihr Profil in ~/aws/configverwendet die Region (anstelle von AZ gemäß Ihrer ursprünglichen Frage). Die andere Ursache ist die Unfähigkeit Ihres Kunden, eine Verbindung herzustellen s3.us-east-1.amazonaws.com. In meinem Fall konnte ich diesen DNS-Namen aufgrund eines Fehlers in meiner Netzwerkkonfiguration nicht auflösen. Das Beheben des DNS-Problems löste mein Problem.

Kanada trocken
quelle
0

Einige Dinge, die ich getan habe, um dies zu beheben:

  1. Meine CLI wurde aktualisiert und es wurde dieser Fehler angezeigt (vorheriger Fehler war " aws connection aborted error 10013")
  2. Versucht, nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com

    Zeitüberschreitung bei DNS-Anforderung. Das Zeitlimit betrug 2 Sekunden. Server: Unbekannte Adresse: 192.168.10.1

-> hmmm sehr komisch

  1. Ging zur Windows-Netzwerk-Fehlerbehebung und wurde ausgewählt, um den Zugriff auf eine bestimmte Seite zu testen. Es wurde mitgeteilt, dass die Windows-Firewall die Verbindung blockiert hat. Dies wurde behoben

  2. Nach dem Beheben der Anforderung durch Firewal wurde ein neuer Fehler angezeigt:

    Beim Aufrufen der ListBuckets-Operation ist ein Fehler aufgetreten (RequestTimeTooSkewed): Der Unterschied zwischen der Anforderungszeit und der aktuellen Zeit ist zu groß.

  3. Datum und Uhrzeit wurden auf automatisch aktualisiert -> Behoben

Di V.
quelle
0

Sie sollten auf der CLI Folgendes tun: 1. aws configure '
2. Geben Sie den Zugriffsschlüssel ein. 3. Geben Sie den geheimen Schlüssel ein. 4. und dann die Region, dh: eu-west-1 (lassen Sie das a oder b nach dem 1).

Adam Ali
quelle
0

Jeder hat unterschiedliche Standardeinstellungen, und interessanterweise wird sich diese nach einiger Zeit ändern. Als Beispiel war ich zuerst auf global und dann nach 15 Minuten zeigt es Ohio (was ist us-east-2).

Am besten überprüfen Sie es während Ihrer Arbeit. Stellen Sie es in der Konsole Ihres AWS-Arbeitsbereichs rechts oben neben Ihrem Namen in der oberen Leiste ein Überprüfen Sie den Namen Ihrer Region und klicken Sie auf den Abwärtspfeil, um Ihre Region anzuzeigen.

Geben Sie in AWS CLI aws configureoder aws2 configureIhren Zugriff und Ihre geheime ID ein, schreiben Sie dann während der Standardregion Ihre Region und drücken Sie die Eingabetaste.

Sie erhalten auf jeden Fall Zugriff auf eine bestimmte Region und es wird funktionieren.

vedant dave
quelle
0

Die Lösung für mein Problem war:

    sudo aws configure

Geben Sie Ihre Anmeldeinformationen ein und führen Sie Folgendes aus:

    sudo aws s3 ls

Eine andere Lösung bestand darin, sicherzustellen, dass der Bereich in der .aws / config-Datei mit den Endpunkten übereinstimmt

Nicole Douglas
quelle