Pourquoi mon flux de données Kinesis renvoie-t-il une erreur de serveur interne (erreur 500) ?

Dernière mise à jour : 04/06/2020

Mon flux de données Amazon Kinesis renvoie une erreur de serveur interne (erreur 500) ou une erreur de service non disponible (erreur 503). Comment détecter et résoudre ces erreurs dans Amazon Kinesis Data Streams ?

Brève description

Si vous produisez sur un flux de données Kinesis, l'une des erreurs internes suivantes peut se produire :

  • PutRecord ou PutRecords renvoie une erreur AmazonKinesisException 500 ou AmazonKinesisException 503 avec un taux supérieur à 1 % pendant plusieurs minutes ;
  • SubscribeToShard.Success ou GetRecords renvoie une erreur AmazonKinesisException 500 ou AmazonKinesisException 503 avec un taux supérieur à 1 % pendant plusieurs minutes.

Vous pouvez résoudre ces erreurs internes en procédant comme suit :

  • Calculez votre taux d'erreur ;
  • Instaurez un mécanisme de nouvelle tentative.

Résolution

Calculer votre taux d'erreur

Recherchez la présence de diminutions importantes dans les fenêtres temporelles de PutRecord.Success ou GetRecord.Success sous l'onglet Monitoring. Si vous remarquez ce type de phénomène, calculez le taux d'erreur pour déterminer la gravité du problème affectant votre flux de données Kinesis.

Pour connaître votre taux d'erreur, calculez la valeur moyenne de PutRecord.Success et GetRecord.Success.

Instaurer un mécanisme de nouvelle tentative

Après avoir calculé votre taux d'erreur, vérifiez si celui-ci est inférieur à 0,1 %. Kinesis Data Streams permet d'effectuer des écritures haut débit avec un faible taux d'erreur. Le taux d'erreur moyen est généralement inférieur à 0,01 %.

Si vous avez écrit votre propre application consommateur ou producteur, instaurez un mécanisme de nouvelle tentative dans votre code d'application. Pour plus d'informations sur la mise en œuvre de mécanismes de nouvelle tentative, consultez la section Retries de l'article Implementing efficient and reliable producers with the Amazon Kinesis Producer Library.

Si votre taux d'erreurs dépasse 1 % pendant plusieurs minutes, contactez AWS Support. Fournissez les informations suivantes :

  • applications utilisées pour lire ou écrire des données vers/depuis des flux de données ;
  • nombre de partitions dans votre flux de données Kinesis ;
  • paramètres du chiffrement côté serveur ;
  • ID de partitions spécifiquement concernés ;
  • période pendant laquelle des baisses de taux de réussite sont observées ;
  • ID des demandes renvoyant des erreurs internes.