Amazon Kinesis Data Streams 생산자 문제 해결 - Amazon Kinesis Data Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Kinesis Data Streams 생산자 문제 해결

다음 섹션에서는 Amazon Kinesis Data Streams 생산자 작업 시 발견할 수 있는 몇 가지 일반적인 문제의 해결 방법을 제공합니다.

생산자 애플리케이션이 예상보다 느린 속도로 쓰고 있습니다.

예상보다 느린 속도의 쓰기 처리량에 대한 가장 공통적인 이유는 다음과 같습니다.

서비스 제한 초과

서비스 제한이 초과되는지 여부를 확인하려면, 생산자가 서비스에 대해 처리량 예외를 발생하는지 여부를 확인하고 병목 현상이 발생한 API 작업을 검사합니다. 호출에 따라 여러 제한이 있음을 유의하십시오(할당량과 제한 참조). 예를 들어, 가장 잘 알려진 쓰기 및 읽기에 대한 샤드 수준 제한 외에도 다음과 같은 스트림 수준 제한이 있습니다.

CreateStream, DeleteStream, ListStreams, GetShardIteratorMergeShards 작업은 초당 호출 5번으로 제한됩니다. DescribeStream 작업은 초당 호출 10번으로 제한됩니다. DescribeStreamSummary 작업은 초당 호출 20번으로 제한됩니다.

이러한 호출이 문제가 되지 않는 경우, 모든 샤드에 균등하게 넣기 작업을 배포할 수 있는 파티션 키를 선택했는지 및 나머지 파티션이 서비스 제한에 도달하지 않았을 때 특정 파티션 키가 서비스 제한에 도달했는지를 확인하십시오. 이렇게 하려면 최대 처리량을 측정하고 스트림의 샤드 수를 고려해야 합니다. 스트림 관리에 대한 자세한 내용은 스트림 생성 및 관리 단원을 참조하십시오.

작은 정보

단일 레코드 작업 PutRecord를 사용할 때는 처리량 제한 계산을 가장 가까운 킬로바이트로 올림해야 하는 반면, 멀티 레코드 작업 PutRecords에서는 각 호출에서 레코드의 누적 합계를 반올림해야 합니다. 예를 들어, 크기가 1.1KB인 레코드 600개의 PutRecords 요청은 병목 현상이 발생하지 않습니다.

생산자 최적화

생산자 최적화를 시작하기 전에 완료해야 할 몇 가지 핵심 작업이 있습니다. 먼저 레코드 크기와 초당 레코드를 기준으로 원하는 최대 처리량을 식별합니다. 그런 다음 스트림 용량을 제한 요인(서비스 제한 초과)으로 배제합니다. 스트림 용량을 배제한 경우, 두 가지 일반적인 생산자 유형에 대해 다음의 문제 해결 팁과 최적화 지침을 사용하십시오.

대규모 생산자

대규모 생산자는 일반적으로 온프레미스 서버 또는 Amazon EC2 인스턴스에서 실행됩니다. 대규모 생산자로부터 더 높은 처리량을 필요로하는 고객은 일반적으로 초당 지연 시간을 고려합니다. 지연 시간을 처리하는 전략에는 다음 사항이 포함됩니다. 고객이 레코드를 마이크로 배치/버퍼 처리할 수 있는 경우 Kinesis Producer Library(고급 집계 로직이 있음) 또는 멀티 레코드 작업 PutRecords를 사용하거나, 레코드를 더 큰 파일로 집계한 후 단일 레코드 작업 PutRecord를 사용합니다. 배치/버퍼를 사용할 수 없는 경우 여러 스레드를 사용하여 동시에 Kinesis Data Streams 서비스에 씁니다. AWS SDK for Java 및 다른 SDK에는 매우 적은 수의 코드로 이 작업을 수행할 수 있는 비동기 클라이언트가 포함됩니다.

소규모 생산자

소규모 생산자는 일반적으로 모바일 앱, IoT 디바이스 또는 웹 클라이언트입니다. 모바일 앱인 경우 AWS Mobile SDK에서 PutRecords 작업 또는 Kinesis 레코더를 사용하는 것이 좋습니다. 자세한 내용은 AWS Mobile SDK for Android 시작 안내서와 AWS Mobile SDK for iOS 시작 안내서를 참조하세요. 모바일 앱은 간헐적 연결을 본질적으로 처리해야 하며, PutRecords와 같은 일종의 배치 넣기를 필요로 합니다. 몇 가지 사유로 인해 배치를 사용할 수 없는 경우 위의 대규모 생산자 정보를 참조하십시오. 생산자가 브라우저인 경우 생성되는 데이터의 양은 일반적으로 매우 작습니다. 그러나 넣기 작업을 애플리케이션의 중요한 경로에 넣는 것이므로 아 방법은 권장되지 않습니다.

무단 KMS 마스터 키 권한 오류

생산자 애플리케이션이 KMS 마스터 키에 대한 권한 없이 암호화된 스트림에 작성하는 경우 이 오류가 발생합니다. KMS 키에 대한 액세스 권한을 애플리케이션에 할당하려면 AWS KMS에서 키 정책 사용AWS KMS에서 IAM 정책 사용을 참조하세요.

생산자를 위한 일반적인 문제, 질문 및 문제 해결 아이디어