AWS S3 CLI-엔드 포인트 URL에 연결할 수 없습니다.


118
$ aws s3 ls

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

무엇이 문제일까요?


에 cloudsearch 도메인 만들려고 할 때 저와 무슨 일이 있었 us-east-2내가 사용했다,을 us-east-1?
Jason Goemaat

답변:


259

기본 지역의 기본 프로필에 문제가있을 수 있습니다.

파일을 체크 ~/.aws/config, 당신은 같은 것을 가지고

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

지역을로 수정하면 region=us-east-1명령이 올바르게 작동합니다.


3
~ / .aws / config에 'aws configure'명령으로 생성 된 유사한 잘못된 항목이 있습니다. 기본적으로 내가 수락 한 지역 이름 'Mumbai'를 제안했습니다. 이것이 문제였습니다. ap-south-1로 바꾸면 명령 (aws s3 ls)이 작동하기 시작했습니다. 감사.
Anurag

1
대단히 감사합니다. 내 머리에 남아있는 작은 머리카락은 이제 잠시 동안 안전합니다 ...
copper.hat

1
감사합니다. 어떻게 알았는지 모르겠어요.
user890332

2
비슷한 오류가 발생했으며 영역을 명령 줄 옵션으로 지정하여 해결할 수도 있습니다 aws s3 ls --region us-east-1..
Kurt Peek

3
나는 그들이 이런 대답에 재정적 기부를 할 수있는 능력이 있었으면한다.
RayLoveless

8

먼저 'aws configure'를 사용한 다음 액세스 키, 비밀 키 및 지역을 입력합니다. 입력 한 지역이이 문제에 중요합니다. 's3.us-east-1a'가 아닌 's3.us-east-1'과 같은 것을 입력하십시오. 문제를 해결할 것입니다.


6

일부 AWS 서비스는 실제 지역과 일치하지 않는 특정 지역에서만 사용할 수 있습니다. 이 경우 실제 cli 명령에 지역을 추가하여 표준 설정을 재정의 할 수 있습니다.

이것은 구성 파일에서 기본 영역을 변경하고 싶지 않은 사람들에게 편리한 솔루션 일 수 있습니다. 일반 구성 파일이 설정되지 않은 경우 : 위의 제안을 확인하십시오.

이 예에서 지역은 eu-west-1로 강제 설정됩니다 (예 : 아일랜드).

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

사용자를 삭제하기 위해 aws workmail과 함께 테스트 및 사용 :

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

저는이 스레드에서 아이디어를 도출했으며 저에게 완벽하게 작동하므로 공유하고 싶었습니다. 도움이 되었기를 바랍니다.


5

위에 제공된 해결 방법이 작동하지 않으면 권한 및 방화벽 설정도 확인하십시오. 제 경우에는 프록시 환경 변수를 추가하여 작업을 수행했습니다.

Linux 또는 Mac의 경우

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

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

Windows의 경우

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

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

여기에 이미지 설명 입력


5

aws configure를 사용하여 지정된 기본 리전을 사용하는 대신 CLI 스크립트에서 리전을 지정해야합니다 (현재 가장 인기있는 답변이 주장하는대로). 이에 대한 또 다른 대답이 암시되었지만 AWS Tools for Powershell을 통해 CLI를 사용하는 경우 구문이 잘못되었습니다.

이 예에서는 지역을 us-west-2 (캘리포니아 북부), PowerShell 구문으로 강제 적용합니다.

aws s3 ls --region us-west-2

2

aws를 구성하는 동안 기본 리전에 문제가있을 수 있습니다. 귀하의 경우 URL은 " https://s3.us-east-1a.amazonaws.com/ "

명령 프롬프트에서

aws configure, 키 입력, 이제 us-east-1a에서 us-east-1로 리전을 수정합니다 .

사용중인 CLI에 따라 구문을 확인하십시오. 이것은 도움이 될 것입니다.


1

의 프로필 ~/aws/config이 지역을 사용하고 있다고 가정합니다 (원래 질문에 따라 AZ 대신). 다른 원인은 클라이언트가에 연결할 수 없다는 것 s3.us-east-1.amazonaws.com입니다. 제 경우에는 네트워크 구성 오류로 인해 DNS 이름을 확인할 수 없었습니다. DNS 문제를 해결하면 문제가 해결되었습니다.


0

이 문제를 해결하기 위해 몇 가지 작업을 수행했습니다.

  1. 내 CLI를 업데이트했고이 오류가 발생했습니다 (이전 오류는 "aws connection aborted error 10013 "임).
  2. nslookup aws s3 endpoing 시도 : nslookup s3.us-east-2.amazonaws.com

    DNS 요청 시간이 초과되었습니다. 타임 아웃은 2 초입니다. 서버 : 알 수없는 주소 : 192.168.10.1

-> 흠 매우 이상해

  1. Windows 네트워크 문제 해결로 이동하여 특정 페이지에 대한 액세스를 테스트하도록 선택했습니다. Windows 방화벽이 연결을 차단했음을 알 렸습니다. 이 문제를 해결했습니다.

  2. firewal을 통해 요청을 수정 한 후 새로운 오류를 수신했습니다.

    ListBuckets 작업을 호출 할 때 오류 (RequestTimeTooSkewed)가 발생했습니다. 요청 시간과 현재 시간의 차이가 너무 큽니다.

  3. 내 날짜 및 시간을 자동으로 업데이트-> 고정


0

CLI에서 다음을 수행해야합니다. 1. aws configure '
2. 액세스 키를 입력합니다. 3. 비밀 키를 입력합니다. 4. 그런 다음 리전을 입력합니다. 즉 : eu-west-1 (1 뒤에 a 또는 b는 그대로 둡니다)


0

누구나 기본값이 다르며 흥미롭게도 시간이 지나면 변경됩니다. 예를 들어, 처음에는 전 세계에 있었고 15 분 후에 오하이오 (즉,us-east-2 됩니다.

가장 좋은 방법은 작업 중에 확인하는 것입니다. AWS 작업 영역의 콘솔에서 설정하기 만하면됩니다. 에서 상단 표시 줄에있는 이름 근처의 오른쪽 위에 됩니다. 리전 이름을 확인하고 아래 화살표를 클릭하여 리전을 확인합니다.

AWS CLI 유형에서 aws configure 또는을aws2 configure 하고 액세스 및 보안 ID를 제공 한 다음 기본 리전에서 리전을 작성하고 Enter를 누릅니다.

특정 지역 세트에 확실히 액세스 할 수 있으며 작동합니다.


0

내 문제에 대한 해결책은 다음을 실행하는 것입니다.

    sudo aws configure

자격 증명을 입력하고 다음을 실행합니다.

    sudo aws s3 ls

다른 해결책은 .aws / config 파일의 지역이 엔드 포인트와 동일한 지 확인하는 것이 었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.