AWS S3 CLI - nie można połączyć się z adresem URL punktu końcowego

118
$ aws s3 ls

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

Jaki może być problem?

Prabhat
źródło
Stało się to ze mną, gdy próbowałem utworzyć domenę wyszukiwania w chmurze na us-east-2, musiałem użyć us-east-1?
Jason Goemaat

Odpowiedzi:

259

Prawdopodobnie masz coś nie tak w swoim domyślnym profilu dla domyślnego regionu.

Sprawdź swój plik pod adresem ~/.aws/config, masz coś takiego jak

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

Napraw region do, region=us-east-1a polecenie będzie działać poprawnie

Frederic Henri
źródło
3
Miałem podobny zły wpis w ~ / .aws / config, który został utworzony przez polecenie „aws configure”. Domyślnie zasugerował nazwę mojego regionu „Mumbai”, którą zaakceptowałem. To był problem. Kiedy zastąpiłem go ap-south-1, polecenie (aws s3 ls) zaczęło działać. Dzięki.
Anurag
1
Dziękuję Ci bardzo. To, co pozostało na mojej głowie, jest teraz bezpieczne przez kilka chwil ...
miedź. Co
1
Dziękuję Ci. Nie mam pojęcia, skąd to wiedziałeś.
user890332
2
Miałem podobny problem, i stwierdził, że może to również być rozwiązany poprzez określenie regionu jako opcja wiersza polecenia: aws s3 ls --region us-east-1.
Kurt Peek
3
Żałuję, że nie mają możliwości wysyłania darowizn finansowych na takie odpowiedzi.
RayLoveless
8

najpierw użyj „aws configure”, a następnie wprowadź klucz dostępu i tajny klucz oraz region. region, który wprowadzisz, byłby ważny dla tego problemu. spróbuj wpisać coś takiego jak „s3.us-east-1”, a nie „s3.us-east-1a”. to rozwiąże problem.

fraya
źródło
6

Niektóre usługi AWS są dostępne tylko w określonych regionach, które nie są zgodne z Twoim rzeczywistym regionem. W takim przypadku możesz nadpisać standardowe ustawienie, dodając region do aktualnego polecenia CLI.

Może to być przydatne rozwiązanie dla osób, które nie chcą zmieniać swojego domyślnego regionu w pliku konfiguracyjnym. JEŚLI Twój ogólny plik konfiguracyjny nie jest ustawiony: Sprawdź sugestie powyżej.

W tym przykładzie region jest zmuszony do eu-west-1 (np. Irlandia):

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

Przetestowane i używane z aws workmail do usuwania użytkowników:

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

Pomysł zaczerpnąłem z tego wątku i dla mnie działa idealnie - więc chciałem się nim podzielić. Mam nadzieję, że to pomoże!

Thomas Thiemann
źródło
5

Jeśli żadne z powyższych rozwiązań nie działa, sprawdź również swoje uprawnienia i ustawienia zapory. W moim przypadku dodanie zmiennych środowiskowych proxy wykonało pracę.

W systemie Linux lub Mac

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

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

Dla Windowsa

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

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

wprowadź opis obrazu tutaj

imTheManager
źródło
5

Powinieneś określić region w swoim skrypcie CLI, zamiast polegać na domyślnym regionie określonym za pomocą aws configure (jako aktualnie najpopularniejszych potwierdzeń odpowiedzi). Nawiązała do tego inna odpowiedź, ale składnia jest nieprawidłowa, jeśli używasz interfejsu wiersza polecenia za pośrednictwem AWS Tools for Powershell.

Ten przykład wymusza region do us-west-2 (Północna Kalifornia), składnia programu PowerShell:

aws s3 ls --region us-west-2
Łukasz
źródło
2

Prawdopodobnie podczas konfigurowania aws jest coś nie tak z domyślnym regionem. W Twoim przypadku adres URL to „ https://s3.us-east-1a.amazonaws.com/

W wierszu polecenia

aws configure, wprowadź klucze, napraw teraz swój region od us-east-1a do us-east-1 .

Prosimy o sprawdzenie składni zgodnie z używanym interfejsem wiersza polecenia. To będzie pomocne.

Sonal
źródło
1

Zakładając, że Twój profil w ~/aws/configużywa regionu (zamiast AZ, jak na Twoje pierwotne pytanie); drugą przyczyną jest niemożność połączenia się klienta s3.us-east-1.amazonaws.com. W moim przypadku nie mogłem rozwiązać tej nazwy DNS z powodu błędu w konfiguracji sieci. Naprawienie problemu z DNS rozwiązało mój problem.

canadadry
źródło
0

Kilka rzeczy, które zrobiłem, aby to naprawić:

  1. Zaktualizowałem mój CLI i podał ten błąd (poprzedni błąd to „ aws connection aborted error 10013”)
  2. Próba nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com

    Przekroczono limit czasu żądania DNS. limit czasu wynosił 2 sekundy. Serwer: nieznany adres: 192.168.10.1

-> hmmm bardzo dziwne

  1. Poszedłem do rozwiązywania problemów z siecią Windows i wybrałem test dostępu do określonej strony. Poinformował, że zapora systemu Windows zablokowała połączenie. Naprawiono to

  2. Otrzymano nowy błąd, po naprawieniu żądania przez firewalla:

    Wystąpił błąd (RequestTimeTooSkewed) podczas wywoływania operacji ListBuckets: różnica między czasem żądania a bieżącym czasem jest zbyt duża.

  3. Zaktualizowano moją datę i godzinę na automatyczne -> Naprawiono

Vladyslav Didenko
źródło
0

Na CLI wykonaj następujące czynności: 1. aws configure '
2. wprowadź klucz dostępu 3. wprowadź tajny klucz 4. a następnie region, np .: eu-west-1 (zostaw a lub b po 1)

adam ali
źródło
0

Każdy ma inne ustawienia domyślne i co ciekawe, to się zmieni po pewnym czasie. Na przykład najpierw byłem na globalnym, a po 15 minutach pokazuje Ohio (czyli jest us-east-2).

Najlepszym podejściem jest sprawdzenie tego podczas pracy - w konsoli swojego obszaru roboczego AWS, po prostu ustaw go po prawej stronie powyżej obok swojego imienia i nazwiska na górnym pasku sprawdź nazwę swojego regionu i kliknij strzałkę w dół, aby zobaczyć swój region.

W AWS CLI wpisz aws configurelub aws2 configurepodaj swój dostęp i tajny identyfikator, a następnie podczas domyślnego regionu wpisz swój region i naciśnij Enter.

Na pewno uzyskasz dostęp do określonego zestawu regionów i będzie działać.

vedant dave
źródło
0

Rozwiązaniem mojego problemu było uruchomienie:

    sudo aws configure

Wprowadź swoje poświadczenia, a następnie uruchom:

    sudo aws s3 ls

Innym rozwiązaniem było upewnienie się, że region w pliku .aws / config jest taki sam jak punkty końcowe

Nicole Douglas
źródło
0

W systemie Windows uruchom ponownie polecenie aws configure i zresetuj region bez litery, na przykład jeśli twój region to us-east-1a, musisz go zmienić na us-east-1, aby działał.

wprowadź opis obrazu tutaj

techjunkie
źródło