AWS S3 CLI - Không thể kết nối với URL điểm cuối


118
$ aws s3 ls

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

Điều gì có thể là vấn đề?


Điều này đã xảy ra với tôi khi cố gắng tạo miền tìm kiếm trên đám mây us-east-2, tôi phải sử dụng us-east-1?
Jason Goemaat

Câu trả lời:


259

Bạn có thể có điều gì đó sai trong hồ sơ mặc định của mình cho vùng mặc định.

Kiểm tra tệp của bạn tại ~/.aws/config, bạn có một cái gì đó giống như

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

Sửa vùng thành region=us-east-1và sau đó lệnh sẽ hoạt động chính xác


3
Tôi đã có một mục nhập sai tương tự trong ~ / .aws / config được tạo bởi lệnh 'aws config'. Theo mặc định, nó đề xuất tên vùng của tôi là 'Mumbai' mà tôi đã chấp nhận. Đây là vấn đề. Sau khi tôi thay thế nó bằng ap-south-1, lệnh (aws s3 ls) bắt đầu hoạt động. Cảm ơn.
Anurag

1
Cảm ơn rât nhiều. Có gì còn lại tóc nhỏ trên đầu tôi bây giờ là an toàn cho một vài khoảnh khắc ...
copper.hat

1
Cảm ơn bạn. Tôi không biết làm thế nào bạn biết điều đó.
user890332

2
Tôi đã có một lỗi tương tự, và thấy rằng nó cũng có thể được giải quyết bằng cách xác định khu vực như một tùy chọn dòng lệnh: aws s3 ls --region us-east-1.
Kurt Peek

3
Tôi ước họ có khả năng đóng góp tài chính cho những câu trả lời như thế này.
RayLoveless

8

trước tiên, bạn sử dụng 'aws configure', sau đó nhập khóa truy cập, khóa bí mật và khu vực. khu vực bạn nhập sẽ quan trọng cho vấn đề này. cố gắng nhập một cái gì đó như 's3.us-west-1', không phải 's3.us-west-1a'. nó sẽ giải quyết vấn đề.


6

Một số dịch vụ AWS chỉ khả dụng ở các khu vực cụ thể không khớp với khu vực thực tế của bạn. Nếu đây là trường hợp, bạn có thể ghi đè cài đặt tiêu chuẩn bằng cách thêm vùng vào lệnh cli thực tế của bạn.

Đây có thể là một giải pháp hữu ích cho những người không muốn thay đổi vùng mặc định của họ trong tệp cấu hình. NẾU tệp cấu hình chung của bạn chưa được đặt: Vui lòng kiểm tra các đề xuất ở trên.

Trong ví dụ này, khu vực buộc phải eu-west-1 (ví dụ: Ireland):

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

Đã thử nghiệm và sử dụng với thư làm việc aws để xóa người dùng:

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

Tôi lấy ý tưởng từ chủ đề này và nó hoạt động hoàn hảo đối với tôi - vì vậy tôi muốn chia sẻ nó. Hy vọng nó giúp!


5

Nếu không có giải pháp nào được đưa ra ở trên hoạt động, hãy kiểm tra các quyền và cài đặt tường lửa của bạn. Trong trường hợp của tôi, việc thêm các biến môi trường proxy đã thực hiện công việc.

Đối với Linux hoặc mac

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

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

Cho cửa sổ

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

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

nhập mô tả hình ảnh ở đây


5

Bạn nên chỉ định vùng trong tập lệnh CLI của mình, thay vì dựa vào vùng mặc định được chỉ định bằng cấu hình aws (như khẳng định câu trả lời phổ biến nhất hiện tại). Một câu trả lời khác ám chỉ điều đó, nhưng cú pháp sai nếu bạn đang sử dụng CLI qua Công cụ AWS cho Powershell.

Ví dụ này buộc khu vực đến us-west-2 (Bắc California), cú pháp PowerShell:

aws s3 ls --region us-west-2

2

Có thể, có điều gì đó sai với vùng mặc định trong khi định cấu hình aws. Trong trường hợp của bạn, URL cho biết " https://s3.us-east-1a.amazonaws.com/ "

Trong dấu nhắc lệnh của bạn,

aws cấu hình, nhập khóa của bạn, Bây giờ sửa chữa khu vực của bạn từ us-đông-1a thành us-đông-1 .

Vui lòng kiểm tra cú pháp theo CLI bạn đang sử dụng. Điều này sẽ hữu ích.


1

Giả sử rằng hồ sơ của bạn ~/aws/configđang sử dụng khu vực (thay vì AZ như câu hỏi ban đầu của bạn); nguyên nhân khác là khách hàng của bạn không thể kết nối với s3.us-east-1.amazonaws.com. Trong trường hợp của tôi, tôi không thể phân giải tên DNS đó do lỗi trong cấu hình mạng của tôi. Khắc phục sự cố DNS đã giải quyết được sự cố của tôi.


0

Vài điều tôi đã làm để sửa lỗi này:

  1. Đã cập nhật CLI của tôi và nó có lỗi này (lỗi trước đó là " aws connection aborted error 10013")
  2. Đã thử nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com

    Yêu cầu DNS đã hết thời gian chờ. thời gian chờ là 2 giây. Máy chủ: Địa chỉ không xác định: 192.168.10.1

-> hmmm rất lạ

  1. Đã đến khắc phục sự cố mạng windows và được chọn để kiểm tra quyền truy cập vào trang cụ thể. Nó thông báo rằng tường lửa của Windows đã chặn kết nối. Đã sửa lỗi này

  2. Đã nhận được lỗi mới, sau khi sửa yêu cầu thông qua firewal:

    Đã xảy ra lỗi (RequestTimeTooSkewed) khi gọi thao tác ListBuckets: Sự khác biệt giữa thời gian yêu cầu và thời gian hiện tại quá lớn.

  3. Đã cập nhật ngày và giờ của tôi thành tự động -> Đã sửa


0

Bạn nên thực hiện như sau trên CLI: 1. aws configure '
2. nhập khóa truy cập 3. nhập khóa bí mật 4. và sau đó là vùng tức là: eu-west-1 (bỏ a hoặc b sau 1)


0

Mọi người đều có các giá trị mặc định khác nhau và điều thú vị là nó sẽ thay đổi theo thời gian. Ví dụ: đầu tiên tôi ở trên toàn cầu, và sau đó 15 phút, nó hiển thị Ohio (chính là us-east-2).

Cách tốt nhất là kiểm tra nó trong quá trình làm việc của bạn - trong bảng điều khiển của khu vực làm việc AWS của bạn, chỉ cần đặt nó ở bên phải phía trên gần tên của bạn trên thanh trên cùng, kiểm tra tên khu vực của bạn và nhấp vào mũi tên xuống để xem khu vực của bạn.

Trong AWS CLI, nhập aws configurehoặc aws2 configure, cung cấp quyền truy cập và id bí mật của bạn, sau đó trong khu vực mặc định, hãy ghi khu vực của bạn và nhấn Enter.

Bạn chắc chắn sẽ có quyền truy cập vào tập hợp khu vực cụ thể và nó sẽ hoạt động.


0

Giải pháp cho vấn đề của tôi là chạy:

    sudo aws configure

Nhập thông tin đăng nhập của bạn và sau đó chạy:

    sudo aws s3 ls

Một giải pháp khác là đảm bảo rằng vùng trong tệp .aws / config giống với các điểm cuối

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.