KinesisのメトリクスにPutRecord.Successが1になっていない時がある。

0

「現象」: プロデューサー側:「AWS SDK for .NET」でAmazon Kinesis Data streamsへ送信しているがPutRecord.Successが1になっていない時がある。 「分析」: 拡張シャードレベルメトリクスを有効にしてPutRecord.Successが1になっていない時各シャードの ・WriteProvisionedThroughputExceeded:0 ・IncomingBytes:シャードのPUT制限「最大 1 MB/秒または 1,000 レコード/秒の書き込みスループット」が超えていない。 となっています。

PutRecord.Successがで1になっていないことを解消方法は教えていただけますでしょうか。

質問済み 4ヶ月前277ビュー
1回答
1
承認された回答

PutRecord.Successが1を下回る原因とその原因に対する対応方法についてご紹介します。

■ PutRecord.Successが1を下回る原因 PutRecordオペレーションで失敗した場合に、PutRecord.Success[1]が1を下回ります。この原因は、書き込み時のスロットリングやKinesis Data Streamsの内部エラー等が考えられます。お客様の場合、書き込み時のスロットリングが起きていないため、Kinesis Data Streamsで内部エラーが起きた可能性がございます。

■ Kinesis Data Streamsで内部エラーが起きた場合の対応方法 内部エラーをトラブルシューティング[2]するため、まずエラー率を計算します。エラー率は、ストリームへの書き込み成功率を表すPutRecord.Successの平均値から計算いたします。

Kinesis Data Streamsでは、低頻度で内部エラーが発生することは想定された動作のため、プロデューサーのアプリケーションコードへ再試行メカニズムを実装していない場合は実装することをご検討ください。もし、エラー率が数分にわたり1%を超える場合は、お手数ですが、AWSサポートまでお問い合わせください。

■ 参考

[1] Amazon CloudWatch による Amazon Kinesis Data Streams サービスのモニタリング - 基本ストリームレベルメトリクス https://docs.aws.amazon.com/ja_jp/streams/latest/dev/monitoring-with-cloudwatch.html#kinesis-metrics-stream

PutRecord.Success	
指定された期間に測定された、Kinesis ストリームごとの成功した PutRecord オペレーションの数。Average はストリームへの書き込み成功率を反映しています。

[2] Kinesis データストリームが 500 Internal Server Error を返すのはなぜですか? https://repost.aws/ja/knowledge-center/kinesis-data-stream-500-error

AWS
Waki_T
回答済み 4ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン