AWS S3 CLI - Tidak dapat terhubung ke URL titik akhir

118
$ aws s3 ls

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

Apa masalahnya?

Prabhat
sumber
Ini terjadi pada saya ketika mencoba membuat domain cloudearch di us-east-2, saya harus menggunakan us-east-1?
Jason Goemaat

Jawaban:

259

Anda mungkin memiliki sesuatu yang salah dalam profil default Anda untuk wilayah default.

Periksa file Anda di ~/.aws/config, Anda memiliki sesuatu seperti

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

Perbaiki wilayah region=us-east-1dan kemudian perintah akan berfungsi dengan benar

Frederic Henri
sumber
3
Saya memiliki entri salah yang serupa di ~ / .aws / config yang dibuat oleh perintah 'aws configure'. Secara default disarankan nama wilayah saya 'Mumbai' yang saya terima. Inilah masalahnya. Setelah saya menggantinya dengan ap-south-1, perintah (aws s3 ls) mulai bekerja. Terima kasih.
Anurag
1
Terima kasih banyak. Sedikit rambut yang tersisa di kepalaku sekarang aman untuk beberapa saat lagi ...
tembaga. Bahwa
1
Terima kasih. Saya tidak tahu bagaimana Anda tahu itu.
pengguna890332
2
Aku punya kesalahan yang sama, dan menemukan bahwa hal itu bisa juga diselesaikan dengan menetapkan kawasan itu sebagai pilihan baris perintah: aws s3 ls --region us-east-1.
Kurt Peek
3
Saya berharap mereka memiliki kemampuan untuk mengirimkan sumbangan finansial untuk jawaban seperti ini.
RayLoveless
8

pertama Anda menggunakan 'aws configure' lalu masukkan kunci akses, dan kunci rahasia, dan wilayah. wilayah yang Anda masukkan akan menjadi penting untuk masalah ini. coba masukkan sesuatu seperti 's3.us-east-1', bukan 's3.us-east-1a'. itu akan menyelesaikan masalah.

fraya
sumber
6

Beberapa layanan AWS hanya tersedia di wilayah tertentu yang tidak sesuai dengan wilayah Anda yang sebenarnya. Jika ini masalahnya, Anda dapat mengganti pengaturan standar dengan menambahkan wilayah ke perintah cli Anda yang sebenarnya.

Ini mungkin solusi yang berguna untuk orang-orang yang tidak ingin mengubah kawasan default mereka di file konfigurasi. JIKA file konfigurasi umum Anda tidak disetel: Harap periksa saran di atas.

Dalam contoh ini, wilayah dipaksa ke eu-west-1 (misalnya Irlandia):

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

Diuji dan digunakan dengan aws workmail untuk menghapus pengguna:

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

Saya mendapatkan ide dari utas ini dan ini bekerja sempurna untuk saya - jadi saya ingin membagikannya. Semoga membantu!

Thomas Thiemann
sumber
5

Jika tidak ada solusi yang diberikan di atas yang berfungsi, periksa juga izin dan pengaturan firewall Anda. Dalam kasus saya menambahkan variabel lingkungan proxy melakukan pekerjaan itu.

Untuk Linux atau mac

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

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

Untuk Windows

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

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

masukkan deskripsi gambar di sini

imTheManager
sumber
5

Anda harus menentukan wilayah dalam skrip CLI Anda, daripada bergantung pada wilayah default yang ditentukan menggunakan konfigurasi aws (seperti yang ditegaskan jawaban paling populer saat ini). Jawaban lain menyinggung itu, tetapi sintaksnya salah jika Anda menggunakan CLI melalui AWS Tools for Powershell.

Contoh ini memaksa wilayah ke us-west-2 (California Utara), sintaks PowerShell:

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

Mungkin, ada yang salah dengan region default saat mengonfigurasi aws. Dalam kasus Anda, URL mengatakan " https://s3.us-east-1a.amazonaws.com/ "

Di prompt perintah Anda,

aws konfigurasi, masukkan kunci Anda, Sekarang perbaiki wilayah Anda dari us-east-1a ke us-east-1 .

Mohon periksa sintaksnya sesuai dengan CLI yang Anda gunakan. Ini akan sangat membantu.

Sonal
sumber
1

Dengan asumsi bahwa profil Anda di ~/aws/configmenggunakan wilayah (bukan AZ sesuai pertanyaan awal Anda); penyebab lainnya adalah ketidakmampuan klien Anda untuk terhubung s3.us-east-1.amazonaws.com. Dalam kasus saya, saya tidak dapat menyelesaikan nama DNS itu karena kesalahan dalam konfigurasi jaringan saya. Memperbaiki masalah DNS memecahkan masalah saya.

canadadry
sumber
0

Beberapa hal yang telah saya lakukan untuk memperbaikinya:

  1. Memperbarui CLI saya dan terjadi kesalahan ini (kesalahan sebelumnya adalah " aws connection aborted error 10013")
  2. Mencoba nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com

    Permintaan DNS kehabisan waktu. batas waktu adalah 2 detik. Server: Alamat Tidak Diketahui: 192.168.10.1

-> hmmm sangat aneh

  1. Pergi ke pemecahan masalah jaringan windows dan dipilih untuk menguji akses ke halaman tertentu. Ini menginformasikan bahwa firewall Windows memblokir koneksi. Perbaiki ini

  2. Menerima kesalahan baru, setelah memperbaiki permintaan melalui firewal:

    Terjadi kesalahan (RequestTimeTooSkewed) saat memanggil operasi ListBuckets: Perbedaan antara waktu permintaan dan waktu saat ini terlalu besar.

  3. Memperbarui tanggal & waktu saya menjadi otomatis -> Diperbaiki

Vladyslav Didenko
sumber
0

Anda harus melakukan hal berikut pada CLI: 1. aws configure '
2. masukan kunci akses 3. masukan kunci rahasia 4. dan kemudian wilayah yaitu: eu-west-1 (tinggalkan a atau b setelah 1)

adam ali
sumber
0

Setiap orang memiliki default yang berbeda, dan yang menarik itu akan berubah seiring waktu. Sebagai contoh, pertama saya berada di global, dan kemudian setelah 15 menit itu menunjukkan Ohio (yaitu us-east-2).

Pendekatan terbaik adalah memeriksanya selama Anda bekerja - di konsol area kerja AWS Anda, cukup atur di sisi kanan atas di dekat nama Anda di bilah atas, periksa nama wilayah Anda dan klik panah bawah untuk melihat wilayah Anda.

Di tipe AWS CLI aws configureatau aws2 configure, berikan akses dan id rahasia Anda, lalu selama wilayah default, tulis wilayah Anda dan tekan Enter.

Anda pasti akan mendapatkan akses ke kumpulan wilayah tertentu dan itu akan berfungsi.

vedant dave
sumber
0

Solusi untuk masalah saya adalah menjalankan:

    sudo aws configure

Masukkan kredensial Anda dan kemudian jalankan:

    sudo aws s3 ls

Solusi berbeda adalah memastikan bahwa wilayah di file .aws / config sama dengan titik akhir

Nicole Douglas
sumber