Antworten:
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-1
und dann funktioniert der Befehl korrekt
aws s3 ls --region us-east-1
.
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.
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!
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>
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
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.
Angenommen, Ihr Profil in ~/aws/config
verwendet 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.
Einige Dinge, die ich getan habe, um dies zu beheben:
aws connection aborted error 10013
")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
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
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ß.
Datum und Uhrzeit wurden auf automatisch aktualisiert -> Behoben
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 configure
oder aws2 configure
Ihren 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.
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
us-east-2
, auf der ich verwenden mussteus-east-1
?