Amazon S3에서 발생하는 "Your socket connection to the server was not read from or written to within the timeout period" 오류 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 12월 20일

AWS 명령줄 인터페이스(AWS CLI) 또는 AWS SDK를 사용하여 Amazon Simple Storage Service(Amazon S3)에 파일을 업로드하려고 하는데 다음과 같은 오류가 발생합니다.
Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed. (Service: Amazon S3; Status Code: 400; Error Code: RequestTimeout)

이 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

클라이언트와 Amazon S3 서버 간의 연결이 20초 이상 유휴 상태이면 Amazon S3가 연결을 종료합니다. 그러면 400 RequestTimeout 오류가 발생합니다. 이 오류를 해결하려면 다음 사항을 확인해 보십시오.

"Content-Length" 헤더에 설정된 바이트 수가 실제 파일 크기보다 큰 경우

HTTP 요청을 Amazon S3로 전송하면 Amazon S3는 Content-Length 헤더에 지정된 양의 데이터를 수신할 것으로 예상합니다. Amazon S3에서 예상한 양의 데이터가 수신되지 않고 연결이 20초 이상 유휴 상태이면 연결이 종료됩니다. Amazon S3로 전송하는 실제 파일의 크기가 Content-Length 헤더에 지정된 파일 크기와 일치하는지 확인해야 합니다.

높은 지연 시간, 패킷 손실, 정체 등의 네트워크 문제가 있는 경우

네트워크 연결이 느리거나 불량하여 일부 패킷 또는 모든 패킷이 드롭되면 Amazon S3는 예상 바이트 수만큼 수신될 때까지 기다립니다. 하지만 연결이 20초 이상 유휴 상태이면 Amazon S3는 연결을 종료하고 400 RequestTimeout 오류를 반환합니다. 이로 인해 오류가 발생하는지 확인하려면 패킷 캡처를 수행하고 패킷 드롭이 있는지 확인하십시오.


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

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


도움이 필요하십니까?