Amazon ECS의 ‘CannotPullContainerError: Error response from daemon: Get https://registry-name/: net/http: request cancelled while waiting for connection(Client.Timeout exceeded while awaiting headers)’ 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 6월 10일

Amazon Elastic Container Service(Amazon ECS)에서 태스크를 시작합니다. 그런 다음 "CannotPullContainerError: Error response from daemon: Get https://registry-name/: net/http: request cancelled while waiting for connection(Client.Timeout exceeded while awaiting headers)" 오류가 표시됩니다.

이 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

올바르게 구성되지 않은 네트워크 또는 간헐적 연결 상태로 인해 태스크가 이미지를 가져오지 못하면 이 오류가 발생할 수 있습니다.

다음 해결 방법은 올바르게 구성되지 않은 네트워크로 인해 발생한 오류를 해결하는 단계를 포함합니다.

​해결 방법

다음 시작 유형에 따라 솔루션을 선택합니다. Amazon Elastic Compute Cloud(Amazon EC2) 또는 AWS Fargate.

Amazon EC2 시작 유형

  • 컨테이너 인스턴스가 프라이빗 서브넷에 있는 경우 서브넷에 라우팅 테이블의 네트워크 주소 변환(NAT) 게이트웨이가 있는지 확인합니다.
    참고: NAT 게이트웨이 대신 AWS PrivateLink 또는 HTTP 프록시를 사용할 수 있습니다. 오류를 방지하려면 AWS PrivateLink 또는 HTTP 프록시를 올바르게 구성해야 합니다.
  • 컨테이너 인스턴스가 퍼블릭 서브넷에 있는 경우 인스턴스에 퍼블릭 IP 주소가 있는지 확인합니다. 서브넷의 퍼블릭 IPv4 주소 동작을 편집하여 시작 시 퍼블릭 IP를 컨테이너 인스턴스에 할당할 수 있습니다.
  • Amazon Virtual Private Cloud(Amazon VPC)에서 Amazon 제공 DNS를 사용하는 경우 인스턴스에 연결된 보안 그룹에 HTTPS(포트 443)에 대해 허용되는 아웃바운드 액세스가 있는지 확인합니다.
  • 사용자 지정 DNS를 사용하는 경우 포트 53에서 DNS(UDP 및 TCP)에 대해 아웃바운드 액세스가 허용되고 포트 443에서 HTTPS가 허용되고 있는지 확인합니다.
  • 네트워크 액세스 제어(네트워크 ACL) 규칙이 레지스트리로 향하는 트래픽을 차단하고 있지 않은지 확인합니다.

Fargate 시작 유형

  • 태스크를 실행하는 데 사용된 서브넷에 라우팅 테이블의 인터넷 게이트웨이 또는 NAT 게이트웨이에 대한 경로가 있는지 확인합니다.
    참고: 인터넷 게이트웨이 또는 NAT 게이트웨이 대신 AWS PrivateLink를 사용할 수 있습니다. 오류를 방지하려면 AWS PrivateLink 또는 HTTP 프록시를 올바르게 구성해야 합니다.
  • 퍼블릭 서브넷에서 태스크를 시작하는 경우, Amazon EC2 콘솔에서 태스크를 시작할 때 Auto-assign public IP에 대해 ENABLED를 선택합니다. 이렇게 하면 태스크가 아웃바운드 네트워크 액세스를 통해 이미지를 가져올 수 있습니다.
  • Amazon VPC에서 Amazon 제공 DNS를 사용하는 경우 인스턴스에 연결된 보안 그룹에 HTTPS(포트 443)에 대해 허용되는 아웃바운드 액세스가 있는지 확인합니다.
  • 사용자 지정 DNS를 사용하는 경우 포트 53에서 DNS(UDP 및 TCP)에 대해 아웃바운드 액세스가 허용되고 포트 443에서 HTTPS 액세스가 허용되는지 확인합니다.
  • 네트워크 ACL 규칙이 레지스트리로 향하는 트래픽을 차단하고 있지 않은지 확인합니다.

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

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?