Amazon S3에서 개체를 업로드하거나 다운로드할 때 연결 재설정 오류를 해결하려면 어떻게 해야 하나요?

3분 분량
0

Amazon Simple Storage Service(S3) 버킷에 개체를 업로드하거나 다운로드할 때 다음 오류 중 하나가 발생합니다. 피어에 의한 연결 재설정 오류, 연결 중단 또는 연결 재설정.

해결 방법

애플리케이션이 Amazon S3 엔드포인트에 연결을 설정할 수 없어 연결 재설정 오류가 발생합니다. 이는 S3 리소스에 액세스할 때 연결이 닫히거나 연결이 비활성화되기 때문일 수 있습니다. 이러한 오류는 애플리케이션 또는 클라이언트 계층, 네트워크 경로 또는 중간 리소스의 문제 때문에 발생합니다. 문제의 근본 원인을 파악하려면 오류를 일으키는 구성 요소를 찾아야 합니다.

연결 테스트

연결을 테스트하려면 다음 명령을 실행하여 시스템이 HTTP 또는 HTTPS를 통해 S3에 대해 연결을 설정할 수 있는지 확인합니다.

$ telnet mybucket.s3.REGION-CODE.amazonaws.com 80  
$ telnet mybucket.s3.REGION-CODE.amazonaws.com 443

SSL 검증 우회

요청에 --no-verify-ssl 파라미터를 추가하여 SSL 인증을 우회합니다. 이 파라미터는 SSL 인증서를 검증하지 않도록 합니다. 하지만 요청은 포트 443을 통해 전달됩니다. 이 방법은 SSL 검증과 관련된 문제를 격리하는 데 도움이 됩니다.

네트워크 트래픽 분석

패킷 캡처를 수행하여 머신과 Amazon S3 간의 네트워크 트래픽을 분석합니다. 패킷 캡처를 분석하여 클라이언트 또는 서버에서 RST 플래그가 발생하는지 확인합니다.

  • 네트워크에서 RST 플래그가 발생하는 경우 RST 플래그가 발생한 IP 주소와 프로세스를 기록해 둡니다. 프로세스에는 DNS 조회, TCP 핸드셰이크, SSL 핸드셰이크 및 데이터 전송이 포함됩니다.
  • SSL 핸드셰이크 중에 네트워크에서 RST 플래그가 발생하는 경우, 머신이 Amazon에서 반환한 인증서를 신뢰하는지 확인하세요.

연결 디버그

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

오류가 발생한 머신에서 AWS CLI cp 명령을 실행하여 Amazon S3 버킷에 연결해 봅니다. 명령에 --debug 플래그를 포함합니다.

aws s3 cp/sync SOURCE_FILE_PATH/SOURCE_FILE_NAME DESTINATION --debug

요청 헤더, 요청 방법 및 응답을 분석합니다. 문제가 간헐적으로 발생하고 여러 요청이 성공하는 경우, 성공한 요청과 실패한 요청 간에 차이가 있는지 확인하세요.

명령의 출력을 검사하여 네트워크 환경의 프록시가 오류를 유발하는지 확인합니다. HTTP 프록시로 인해 오류가 발생한 경우, 출력에 프록시 오류 또는 프록시 연결 실패가 표시됩니다. SSL 프록시로 인해 오류가 발생한 경우, SSL 핸드셰이크를 설정하려고 할 때 연결 재설정 오류 중 하나가 표시됩니다.

HTTP 연결 유지 확인

머신에서 HTTP 연결 유지를 켜서 머신이 단일 TCP 연결을 사용하여 여러 HTTP 요청과 응답에 대해 열린 상태를 유지하도록 합니다. TCP 연결 유지가 켜져 있는지 확인하려면 다음 명령을 실행합니다.

curl -Iv s3.amazonaws.com 2>&1 | grep -i 'connection #0'

TCP 연결 유지를 켜면 출력에 다음 문자열이 표시됩니다.

Connection #0 to host s3.amazonaws.com left intact

중간 리소스 확인

NAT 게이트웨이, 방화벽 또는 로드 밸런서와 같은 중간 리소스의 사용률이 높으면 연결이 조기에 종료될 수 있습니다. 또한 일정 기간 동안 데이터를 주고받지 않으면 연결이 조기에 종료되고 연결이 끊긴 것으로 표시될 수 있습니다.

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음