Kinesis データストリームが 500 内部サーバーエラーを返すのはなぜですか?

所要時間1分
0

Amazon Kinesis Data Stream 500 の内部サーバーエラーまたは 503 サービス利用不可エラーのトラブルシューティングを行いたいと考えています。

簡単な説明

Kinesis データストリームに生成する場合、次の内部エラーが発生する可能性があります。

  • **PutRecord ** または PutRecordsAmazon KinesisException 500 または Amazon KinesisException 503 エラーを数分間、1% を超えるレートで返す
  • Shard.Shard.Success または GetRecords が、レートが 1% を超える Amazon KinesisException 500 または AmazonKinesisException 503 エラーを数分間、1% を超えるレートで返す

これらの内部エラーをトラブルシューティングするには、次の手順を実行します。

  1. エラー率を計算します。
  2. 再試行メカニズムを実装します。

解決策

エラー率の計算

PutRecord.Success または GetRecord.Success のタイムウィンドウが大幅に低下しているか確認します。これらの指標は [モニタリング] タブで確認できます。大幅な低下が見られる場合は、エラー率を計算して Kinesis データストリームの問題の重大性を判断します。
エラー率を計算するには、PutRecord.SuccessGetRecord.Success の平均値を計算します。

再試行メカニズムの実装

エラー率が 0.1% を下回っていることを確認します。Kinesis データストリームでは、低いエラー率で高スループットの書き込みが可能です。平均エラー率は通常 0.01% 未満です。

独自のコンシューマーまたはプロデューサーを記述した場合は、アプリケーションコードに再試行メカニズムを実装します。再試行メカニズムの実装の詳細については、「Implementing Efficient and Reliable Producers with the Amazon Kinesis Producer Library (Amazon Kinesis プロデューサーライブラリによる効率的で信頼性の高いプロデューサーの実装)」の「Retries (再試行)」セクションを参照してください。

エラー率が数分にわたって 1% を超える場合は、AWS サポートにお問い合わせください。その際、以下の情報を提供してください。

  • データストリームとの間でデータを読み書きするために使用するアプリケーション
  • Kinesis データストリームのシャード数
  • サーバー側の暗号化設定
  • 影響を受ける特定のシャード ID
  • 成功率の低下が確認される期間
  • 内部障害が発生しているリクエスト ID

関連情報

Amazon Kinesis Producer Library を使用してプロデューサーを開発する (KPL)

KCL 2.x コンシューマーの開発

AWS公式
AWS公式更新しました 1年前
コメントはありません