Kinesis 데이터 스트림에서 500 내부 서버 오류가 반환되는 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 6월 4일

Amazon Kinesis 데이터 스트림에서 500 내부 서버 오류 또는 503 서비스 사용 불가 오류가 반환됩니다. Amazon Kinesis Data Streams 내에서 이러한 오류를 감지하고 해결하려면 어떻게 해야 합니까?

간략한 설명

Kinesis 데이터 스트림에 데이터를 생성하는 경우 다음 내부 오류 중 하나가 발생할 수 있습니다.

  • PutRecord 또는 PutRecords가 몇 분 동안 1%를 초과하는 비율로 AmazonKinesisException 500 또는 AmazonKinesisException 503 오류를 반환합니다.
  • SubscribeToShard.Success 또는 GetRecords가 몇 분 동안 1%를 초과하는 비율로 AmazonKinesisException 500 또는 AmazonKinesisException 503 오류를 반환합니다.

다음을 수행하여 이러한 내부 오류를 해결할 수 있습니다.

  • 오류 발생률을 계산합니다.
  • 재시도 메커니즘을 구현합니다.

해결 방법

오류 발생률 계산

[모니터링] 탭에서 PutRecord.Success 또는 GetRecord.Success의 기간에 갑자기 성공률이 크게 하락하는 경우가 있는지 확인합니다. 성공률이 갑자기 하락한 경우가 있으면 오류 발생률을 계산하여 Kinesis 데이터 스트림 문제의 심각도를 구합니다.

오류 발생률을 계산하려면 PutRecord.SuccessGetRecord.Success의 평균 값을 계산합니다.

재시도 메커니즘 구현

오류 발생률을 계산한 후 오류 발생률이 0.1% 미만인지 확인합니다. Kinesis Data Streams를 사용하면 낮은 오류 발생률로 높은 처리량의 쓰기를 수행할 수 있습니다. 평균 오류 발생률은 일반적으로 0.01% 미만입니다.

소비자 또는 생산자를 직접 작성한 경우 애플리케이션 코드에 재시도 메커니즘을 구현합니다. 재시도 메커니즘 구현에 대한 자세한 내용은 Implementing efficient and reliable producers with the Amazon Kinesis Producer Library에서 Retries 섹션을 참조하십시오.

몇 분 동안 오류 발생률이 1%를 초과할 경우 AWS Support에 문의하십시오. 이 경우 다음 정보를 제공하십시오.

  • Data Streams에서 데이터를 읽거나 쓰는 데 사용한 애플리케이션
  • Kinesis 데이터 스트림의 샤드 수
  • 서버 측 암호화 설정
  • 영향을 받은 특정 샤드 ID
  • 성공률 하락이 관찰되는 기간
  • 내부 실패를 보고하는 요청 ID

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

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


도움이 필요하십니까?