AWS S3 CLI - Uç nokta URL'sine bağlanılamadı


118
$ aws s3 ls

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

Sorun ne olabilir?


Bu us-east-2, üzerinde bir cloudearch etki alanı oluşturmaya çalışırken benimle oldu, kullanmak zorunda mıydım us-east-1?
Jason Goemaat

Yanıtlar:


259

Muhtemelen varsayılan bölge için varsayılan profilinizde bir sorun var.

Adresinde dosyanızı kontrol edin ~/.aws/config, şuna benzer bir şeyiniz var

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

Bölgeyi olarak düzeltin region=us-east-1ve ardından komut doğru şekilde çalışacaktır.


3
~ / .Aws / config dosyasında da 'aws configure' komutuyla oluşturulan benzer bir yanlış girdim vardı. Varsayılan olarak, kabul ettiğim 'Mumbai' bölge adımı önerdi. Sorun buydu. Onu ap-south-1 ile değiştirdiğimde, (aws s3 ls) komutu çalışmaya başladı. Teşekkürler.
Anurag

1
Çok teşekkür ederim. Kafamda kalan küçük saçlar artık birkaç dakika daha güvende ...
copper.hat

1
Teşekkür ederim. Bunu nasıl bildiğiniz hakkında hiçbir fikrim yok.
user890332

2
Ben de benzer bir hata vardı ve aynı zamanda bir komut satırı seçeneği olarak bölgeyi belirterek çözülebileceği bulundu: aws s3 ls --region us-east-1.
Kurt Peek

3
Keşke böyle cevaplara maddi bağış gönderebilselerdi.
RayLoveless

8

ilk olarak 'aws configure' kullanır, ardından erişim anahtarını, gizli anahtarı ve bölgeyi girin. Girdiğiniz bölge bu sorun için önemli olacaktır. 's3.us-east-1a' değil 's3.us-east-1' gibi bir şey girmeyi deneyin. sorunu çözecektir.


6

Bazı AWS hizmetleri, yalnızca gerçek bölgenizle eşleşmeyen belirli bölgelerde kullanılabilir. Bu durumda, bölgeyi gerçek cli komutunuza ekleyerek standart ayarı geçersiz kılabilirsiniz.

Bu, yapılandırma dosyasında varsayılan bölgelerini değiştirmek istemeyen kişiler için kullanışlı bir çözüm olabilir. Genel yapılandırma dosyanız ayarlanmamışsa: Lütfen yukarıdaki önerileri kontrol edin.

Bu örnekte bölge, eu-west-1'e zorlanmıştır (örneğin, İrlanda):

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

Kullanıcıları silmek için aws iş postasıyla test edildi ve kullanıldı:

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

Fikri bu başlıktan çıkardım ve benim için mükemmel çalışıyor - bu yüzden paylaşmak istedim. Umarım yardımcı olur!


5

Yukarıda verilen çözümlerden hiçbiri işe yaramazsa, izinlerinizi ve güvenlik duvarı ayarlarınızı da kontrol edin. Benim durumumda proxy ortam değişkenleri eklemek işi yaptı.

Linux veya mac için

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

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

Pencereler için

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

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

görüntü açıklamasını buraya girin


5

Aws configure kullanılarak belirtilen varsayılan bölgeye güvenmek yerine CLI komut dosyanızda bölgeyi belirtmelisiniz (mevcut en popüler yanıtın öne sürdüğü gibi). Başka bir cevap da buna işaret ediyordu, ancak CLI'yi Powershell için AWS Tools üzerinden kullanıyorsanız sözdizimi yanlış.

Bu örnek, bölgeyi us-west-2 (Kuzey Kaliforniya), PowerShell sözdizimine zorlar:

aws s3 ls --region us-west-2

2

Muhtemelen, aws'yi yapılandırırken varsayılan bölgede bir sorun var. Sizin durumunuzda, URL " https://s3.us-east-1a.amazonaws.com/ "

Komut isteminizde,

aws yapılandırın, anahtarlarınızı girin, Şimdi bölgenizi us-east-1a'dan us-east-1'e düzeltin .

Lütfen sözdizimini kullandığınız CLI'ye göre kontrol edin. Bu yardımcı olacaktır.


1

Profilinizin ~/aws/configbölgeyi kullandığını varsayarsak (orijinal sorunuza göre AZ yerine); diğer neden, müşterinizin bağlanamamasıdır s3.us-east-1.amazonaws.com. Benim durumumda, ağ yapılandırmamdaki bir hata nedeniyle bu DNS adını çözemedim. DNS sorununu düzeltmek sorunumu çözdü.


0

Bunu düzeltmek için yaptığım birkaç şey:

  1. CLI'm güncellendi ve bu hatayı verdi (önceki hata " aws connection aborted error 10013" idi)
  2. Nslookup aws s3 endpoing denendi: nslookup s3.us-east-2.amazonaws.com

    DNS isteği zaman aşımına uğradı. zaman aşımı 2 saniyeydi. Sunucu: Bilinmeyen Adres: 192.168.10.1

-> hmmm çok tuhaf

  1. Windows ağ sorunlarını gidermeye gitti ve belirli bir sayfaya erişimi test etmek için seçildi. Windows güvenlik duvarının bağlantıyı engellediğini bildirdi. Bu düzeltildi

  2. Firewal aracılığıyla isteği düzelttikten sonra yeni bir hata aldı:

    ListBuckets işlemi çağrılırken bir hata oluştu (RequestTimeTooSkewed): İstek zamanı ile geçerli saat arasındaki fark çok büyük.

  3. Tarih ve saatim otomatik olarak güncellendi -> Düzeltildi


0

CLI'de aşağıdakileri yapmanız gerekir: 1. aws configure '
2. erişim anahtarını girin 3. gizli anahtarı girin 4. ve sonra bölgeyi yani: eu-west-1 (a veya b'yi 1'den sonra bırakın)


0

Herkesin farklı varsayılanları vardır ve ilginç bir şekilde, zamanla değişecektir. Örnek olarak, önce globaldeydim ve 15 dakika sonra Ohio'yu (yani us-east-2) gösteriyor.

En iyi yaklaşım, işiniz sırasında kontrol etmektir - AWS çalışma alanınızın konsolunda , üst çubukta adınızın yanında sağ üst tarafa ayarlayın. , bölge adınızı kontrol edin ve bölgenizi görmek için aşağı oka tıklayın.

AWS CLI'de aws configureveya yazın aws2 configure, erişiminizi ve gizli kimliğinizi verin, ardından varsayılan bölge sırasında bölgenizi yazın ve Enter tuşuna basın.

Kesinlikle belirli bir bölge setine erişeceksiniz ve işe yarayacak.


0

Sorunumun çözümü şunu çalıştırmaktı:

    sudo aws configure

Kimlik bilgilerinizi girin ve ardından çalıştırın:

    sudo aws s3 ls

Farklı bir çözüm, .aws / config dosyasındaki bölgenin uç noktalar ile aynı olduğundan emin olmaktı.


0

Windows'ta aws configure komutunu tekrar çalıştırın ve bölgeyi harf olmadan sıfırlayın, örneğin bölgeniz us-east-1a ise, çalışması için bunu us-east-1 olarak değiştirmeniz gerekir.

görüntü açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.