메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

Amazon S3 오류 모범 사례

Amazon S3와 함께 사용할 애플리케이션을 설계할 경우, Amazon S3 오류를 적절하게 처리하는 것이 중요합니다. 이 단원에서는 애플리케이션 설계 시 고려할 문제에 대해 설명합니다.

InternalErrors 재시도

내부 오류는 Amazon S3 환경 내에서 발생하는 오류입니다.

InternalError 응답을 받은 요청은 처리되지 않을 수 있습니다. 예를 들어 PUT 요청이 InternalError를 반환하는 경우, 후속 GET은 이전 값 또는 업데이트된 값을 검색할 수 있습니다.

Amazon S3가 InternalError 응답을 반환하는 경우, 요청을 재시도하십시오.

반복되는 SlowDown 오류에 대한 애플리케이션 튜닝

분산 시스템과 마찬가지로 S3는 의도적이거나 의도되지 않은 리소스 초과 사용을 감지하여 이에 대응하는 보호 메커니즘이 있습니다. SlowDown 오류는 이러한 메커니즘 중 하나가 높은 빈도로 요청될 때 발생할 수 있습니다. 요청 빈도를 줄이면 이 유형의 오류가 감소하거나 제거됩니다. 일반적으로 대부분의 사용자는 이러한 오류를 자주 겪지 않습니다. 하지만 이러한 오류에 대한 자세한 정보를 알고 싶다거나, SlowDown 오류가 자주 발생하거나 예기치 않은 경우에 발생할 경우 Amazon S3 개발자 포럼에 글을 게시해 주십시오. https://forums.aws.amazon.com/ 또는 AWS Premium Support https://aws.amazon.com/premiumsupport/에 가입하십시오.

오류 격리

참고

HTTP를 통한 SOAP 지원은 중단되었지만 HTTPS를 통해 계속해서 사용할 수 있습니다. 새로운 Amazon S3 기능은 SOAP에 대해 지원되지 않습니다. REST API 또는 AWS SDK를 사용하는 것이 좋습니다.

Amazon S3는 SOAP 및 REST API에서 사용하는 오류 코드 세트를 제공합니다. SOAP API는 표준 Amazon S3 오류 코드를 반환합니다. REST API는 표준 HTTP 서버와 같이 설계되고 기존 HTTP 클라이언트와 연동합니다(예: 브라우저, HTTP 클라이언트 라이브러리, 프록시, 캐시 등). HTTP 클라이언트가 오류를 적절하게 처리할 수 있도록 하기 위해 각 Amazon S3 오류를 HTTP 상태 코드에 매핑합니다.

HTTP 상태 코드는 Amazon S3 오류 코드보다 이해하기 어렵고, 오류에 관한 정보가 부족합니다. 예를 들어 NoSuchKeyNoSuchBucket Amazon S3 오류는 HTTP 404 Not Found 상태 코드에 매핑됩니다.

HTTP 상태 코드에는 오류 정보가 부족하지만 HTTP를 인식하는 클라이언트(Amazon S3 API 제외)는 일반적으로 오류를 제대로 처리합니다.

따라서 오류를 처리하거나 Amazon S3 오류를 최종 사용자에게 보고할 경우, HTTP 상태 코드 대신, 오류에 관한 많은 정보를 포함하는 Amazon S3 오류 코드를 사용하십시오. 또한 애플리케이션을 디버깅할 경우, 사람이 읽을 수 있는 XML 오류 응답의 <Details> 요소를 참조해야 합니다.