Amazon S3 버킷에서 sync 명령을 실행할 때 "Could not connect to the endpoint URL" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 12월 23일

Amazon Simple Storage Service(Amazon S3) 버킷에서 cp 또는 sync 명령을 실행하려고 합니다. 그런데 "Could not connect to the endpoint URL"이라는 오류 메시지가 나타납니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

AWS 명령줄 인터페이스(AWS CLI)를 사용하여 cp 또는 sync 명령을 실행하려면 해당 컴퓨터가 올바른 Amazon S3 엔드포인트에 연결해야 합니다. 그렇지 않으면, "Could not connect to the endpoint URL" 오류 메시지가 나타납니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.

이 오류를 해결하려면 다음 사항을 확인하세요.

  • 올바른 AWS 리전과 Amazon S3 엔드포인트를 사용하고 있는지 확인합니다.
  • 네트워크가 해당 Amazon S3 엔드포인트에 연결되는지 확인합니다.
  • DNS가 해당 Amazon S3 엔드포인트를 파악할 수 있는지 확인합니다.
  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 이러한 오류가 나타나는 경우 Amazon Virtual Private Cloud(Amazon VPC) 구성을 확인하십시오.

해결 방법

올바른 AWS 리전과 Amazon S3 엔드포인트를 사용하는지 확인

AWS CLI를 사용하여 명령을 실행하면 API 요청이 기본 AWS 리전의 S3 엔드포인트로 전송됩니다. 또는 명령에 리전이 지정되면 API 요청이 리전별 S3 엔드포인트로 전송됩니다. 그런 다음, AWS CLI에서 이 요청을 버킷의 리전 S3 엔드포인트로 리디렉션할 수 있습니다.

지정된 리전이나 엔드포인트에 오타 또는 오류가 있으면 "Could not connect to the endpoint URL" 오류가 발생할 수 있습니다.

예를 들어 다음의 명령은 엔드포인트 이름에 "e"가 하나 더 입력되어 오류가 발생합니다.

aws s3 cp filename s3://DOC-EXAMPLE-BUCKET/ --endpoint-url https://s3-acceleratee.amazonaws.com

cp 또는 sync 명령을 실행하기 전에 연결된 리전S3 엔드포인트가 올바르게 작성되었는지 확인합니다.

참고: Amazon S3 Transfer Acceleration을 사용할 경우 엔드포인트 이름은 Amazon S3 Transfer Acceleration 시작하기를 참조하세요.

네트워크가 S3 엔드포인트에 연결되는지 확인

네트워크 방화벽에서 Amazon S3 트래픽에 사용하는 포트를 통해 Amazon S3 엔드포인트로 전송되는 트래픽을 허용하는지 확인합니다.

예를 들어 다음의 telnet 명령은 포트 443에서 ap-southeast-2라는 리전 S3 엔드포인트로의 연결을 테스트합니다.

참고: 리전 엔드포인트와 포트(443 또는 80)는 자신의 사용 사례와 연결된 값으로 바꿉니다.

telnet s3.ap-southeast-2.amazonaws.com 443

DNS가 S3 엔드포인트를 파악할 수 있는지 확인

DNS가 Amazon S3 엔드포인트를 파악할 수 있는지 확인하기 위해서는 nslookup 또는 ping과 같은 DNS 쿼리 도구를 사용할 수 있습니다. 다음 예제에서는 nslookup을 사용합니다.

nslookup s3.amazonaws.com

다음 예제에서는 ping을 사용하여 DNS가 S3 엔드포인트를 파악하는지 확인합니다.

ping s3.amazonaws.com

DNS에서 S3 엔드포인트를 파악하지 못할 경우, DNS 구성 문제를 해결해야 합니다. Amazon Route 53가 DNS 공급자인 경우, Amazon Route 53 문제 해결을 참조하세요.

EC2 인스턴스에서 이 오류가 나타난다면 VPC 구성 확인

EC2 인스턴스가 퍼블릭 서브넷에 있는 경우:

  • 인스턴스가 있는 Amazon VPC의 네트워크 액세스 제어 목록(ACL)을 확인하십시오. 네트워크 ACL에서 포트 443에 대한 아웃바운드 규칙을 확인하십시오. 해당 아웃바운드 규칙이 DENY라면 이를 ALLOW로 변경합니다.
  • 네트워크 ACL이 Amazon S3 IP 주소 범위에서 특정 리전의 액세스만 제한하는 경우 AWS CLI 구성 파일을 확인합니다. 구성 파일은 올바른 AWS 리전을 지정해야 합니다.

EC2 인스턴스가 프라이빗 서브넷에 있는 경우:

  • 서브넷의 라우팅 테이블과 연결된 NAT(Network Address Translation) 게이트웨이가 있는지 확인하십시오. NAT 게이트웨이는 Amazon S3 엔드포인트에 도달하는 인터넷 경로를 프로비저닝합니다.
  • Amazon S3용 VPC 엔드포인트를 사용하는 경우에는 AWS CLI 구성 파일에 올바른 리전이 설정되어 있는지 확인하십시오. Amazon S3용 VPC 엔드포인트는 리전별로 다릅니다. VPC 종단점이 다른 리전에 있을 때 --region us-west-1을 사용하여 sync 명령을 실행하면 CLI가 https://s3.us-west-1.amazonaws.com에 연결됩니다. 그 결과, "Could not connect to the endpoint URL" 오류가 발생합니다.

이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?