Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Meilleures pratiques en matière de diffusion de données
Les bonnes pratiques suivantes vous permettent de tirer le meilleur parti de la diffusion de données dans Amazon Kinesis Data Streams. Pour obtenir la liste complète des indicateurs de diffusion référencés dans ces recommandations, consultezSurveillance de la livraison des données.
Débit et fraîcheur des données
-
Définissez le
DataFreshnessInSecondsparamètre en fonction du débit de votre flux. Des valeurs plus faibles augmentent la fréquence de diffusion mais peuvent entraîner des fichiers de sortie plus petits. Des valeurs plus élevées permettent d'accumuler davantage de données pour chaque cycle de livraison. -
Créez une CloudWatch alarme Amazon sur la
DataFreshnessmétrique afin de détecter lorsque la latence de livraison dépasse votre seuil acceptable. -
Vous pouvez créer plusieurs diffusions à partir du même flux Kinesis Data Streams. Chaque livraison fonctionne indépendamment, ce qui vous permet de livrer des données vers plusieurs destinations simultanément.
Gestion des schémas (tables de streaming sur Apache Iceberg)
-
Enregistrez vos schémas dans AWS Glue Schema Registry avant de créer une livraison. La livraison utilise le schéma enregistré pour définir la structure de la table de destination.
-
Les livraisons ne prennent pas en charge l'évolution du schéma. Si votre schéma change, vous devez supprimer et recréer la diffusion avec le schéma mis à jour.
-
Utilisez la validation du schéma côté producteur pour vous assurer que tous les enregistrements sont conformes au schéma enregistré avant d'être écrits dans le flux. Cela permet de minimiser l'échec de la livraison des enregistrements.
Disposition des objets S3 (compartiments Amazon S3 à usage général)
-
Choisissez un modèle de clé de sortie qui correspond aux modèles de requêtes de vos consommateurs en aval. Par exemple, utilisez des préfixes basés sur la date si vos requêtes sont fréquemment filtrées par plage horaire.
-
Activez la compression GZIP ou ZSTD pour réduire les coûts de stockage et améliorer les performances de lecture pour les charges de travail analytiques en aval.
-
Choisissez la classe de stockage Amazon S3 appropriée en fonction de vos modèles d'accès aux données. Utilisez STANDARD pour les données fréquemment consultées, INTELLIGENT_TIERING pour permettre à Amazon S3 de déplacer automatiquement des objets entre les niveaux d'accès, ou GLACIER_IR pour les données rarement consultées qui nécessitent encore une récupération en millisecondes.
Sécurité
-
Étendez votre politique IAM au bucket ou à la table spécifique dans lequel la livraison écrit. Évitez d'utiliser des ARN de ressources génériques.
-
Incluez les clés
aws:SourceArnet les clés deaws:SourceAccountcondition dans la politique de confiance du rôle IAM utilisé par la diffusion. Cela permet d'éviter le problème de confusion entre les sous-ministres en garantissant que seule votre prestation spécifique peut assumer le rôle. -
Activez la AWS CloudTrail journalisation pour auditer tous les appels d'API de livraison et les modifications de configuration.
-
Utilisez une AWS KMS clé gérée par le client pour les données sensibles. Cela vous donne un contrôle total sur la rotation des clés, les politiques d'accès et les pistes d'audit.
Dead-letter file d'attente
-
Configurez toujours une file d'attente aux lettres mortes pour votre livraison. Les enregistrements qui ne peuvent pas être livrés à la destination sont envoyés dans la file d'attente des lettres mortes pour une inspection ultérieure.
-
Surveillez la
DLQDeliverySuccessmétrique (DeliveryToS3.DLQDeliverySuccessouDeliveryToIceberg.DLQDeliverySuccess) CloudWatch pour détecter à quel moment les enregistrements sont acheminés vers la file d'attente de lettres mortes. -
Inspectez régulièrement les entrées des files d'attente en lettres mortes pour identifier les modèles d'échecs de livraison et prendre des mesures correctives au niveau du producteur ou de la configuration de livraison.
Contrôle
-
Créez des CloudWatch alarmes sur les indicateurs de livraison
DataFreshnesset d'échec d'enregistrement (DeliveryToS3.FailedRecordCountouDeliveryToIceberg.FailedRowCount) pour détecter de manière proactive les problèmes de livraison. -
Activez CloudWatch les journaux de votre livraison afin de capturer des diagnostics de livraison détaillés et des messages d'erreur.
-
Suivez la métrique des octets livrés (
DeliveryToS3.BytesOutouDeliveryToIceberg.BytesOut) pour surveiller le débit et identifier les baisses inattendues du volume de données.