Amazon Simple Storage Service(Amazon S3)로 요청할 경우, Amazon S3는 다음 메시지 중 비슷한 메시지를 보냅니다.

AmazonS3Exception: Internal Error (Service: Amazon S3; Status Code: 500; Error Code: 500 Internal Error; Request ID: A4DBBEXAMPLE2C4D)
AmazonS3Exception: Slow Down (Service: Amazon S3; Status Code: 503; Error Code: 503 Slow Down; Request ID: A4DBBEXAMPLE2C4D)

이러한 오류의 해결 방법은 무엇입니까?

오류 코드 500 Internal Error는 Amazon S3이 요청을 그 당시에 해결하지 못했다는 의미입니다. 오류 코드 503 Slow Down은 전형적으로 S3 버킷으로의 요청 가능성이 매우 높아 요청 빈도 및 성능 지침에 기재된 요청률을 초과합니다.

Amazon S3는 배포된 서비스이기 때문에 일반적으로 서비스를 사용하는 동안에는 5xx 오류의 발생 확률이 매우 낮습니다. 모든 요청에 대하여 Amazon S3에서 5xx 오류가 발생한 경우 재시도할 수 있거나 재시도해야 합니다. 따라서 Amazon S3에 요청하는 애플리케이션은 이러한 오류로부터 회복할 수 있는 내결함성 매커니즘이 있습니다.

5xx 오류를 해결하거나 피하려면 다음 솔루션을 시도해 보십시오.

  • 요청을 만드는 애플리케이션의 재시도 매커니즘을 활성화합니다.
  • 애플리케이션을 구성하여 점진적으로 요청률을 높입니다.
  • 다수의 접두사에 객체를 분산합니다.

요청을 만드는 애플리케이션의 재시도 매커니즘을 활성화합니다.

Amazon S3의 분산 성질 때문에 500 또는 503 오류를 반환하는 요청이 재시도될 수 있습니다. Amazon S3로 요청하는 애플리케이션에 재시도 논리를 빌드할 수 있는 모범 사례입니다. 애플리케이션의 재시도 횟수를 10으로 설정하도록 권장합니다.

모든 AWS SDK는 지수 백오프를 사용하는 알고리즘과 내장형 재시도 매커니즘을 가지고 있습니다. 이 알고리즘은 오류 응답이 연이어 나올 때마다 재시도 간 대기 시간을 점진적으로 늘립니다. 대부분의 지수 백오프 알고리즘은 지터(임의 지연)를 사용하여 연쇄 충돌을 방지합니다. 자세한 내용은 AWS의 오류 재시도 및 지수 백오프 단원을 참조하십시오.

애플리케이션을 구성하여 점진적으로 요청률을 높입니다.

503 Slow Down 오류를 피하려면 낮은 요청률(초당 트랜잭션)에 시작할 수 있도록 애플리케이션을 구성하십시오. 그런 다음 애플리케이션 요청률을 기하급수적으로 늘리십시오. Amazon S3는 자동적으로 높은 요청률을 처리하기 위해 조정합니다.

다수의 접두사에 객체를 분산합니다

요청 빈도 및 성능 지침에 기재된 요청률은 S3 버킷에서 접두사당 적용합니다. 전체적으로 더 높은 요청률을 처리하기 위해서 버킷을 설정하고 503 Slow Down 오류를 피하려면 다수의 접두사 객체를 분산할 수 있습니다. 예를 들어, S3 버킷을 사용하여 이미지 및 비디오를 저장하려면 이 파일을 다음과 비슷한 두 접두사로 분산할 수 있습니다.

  • mybucket/images
  • mybucket/videos

접두사에 대한 요청률이 점진적으로 증가하면 Amazon S3가 증가하여 각각의 두 접두사(초당 3,500 PUT/POST/DELETE 또는 5,500 GET 요청)에 대한 요청을 처리합니다. 버킷이 처리한 전체 요청률이 두 배가 됩니다.


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2018-09-18