Amazon S3 오류 모범 사례 - Amazon Simple Storage Service

Amazon S3 오류 모범 사례

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

InternalErrors 재시도

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

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

Amazon S3이 InternalError 응답을 반환하는 경우, 요청을 재시도하세요.

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

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

오류 격리

참고

HTTP를 통한 SOAP 지원은 중단되었지만 SOAP는 HTTPS를 통해 계속해서 사용할 수 있습니다. Amazon S3의 새로운 기능들은 SOAP에서 지원되지 않습니다. 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> 요소를 참조해야 합니다.