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 규칙이 레지스트리로 향하는 트래픽을 차단하고 있지 않은지 확인합니다.

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


Besoin d'aide pour une question technique ou de facturation ?