Configuration de la sauvegarde et des paramètres avancés - Amazon Data Firehose

La diffusion de flux Amazon Data Firehose vers les tables Apache Iceberg dans Amazon S3 est en version préliminaire et peut faire l'objet de modifications.

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.

Configuration de la sauvegarde et des paramètres avancés

Cette section décrit comment configurer la sauvegarde et les paramètres avancés de votre flux Firehose depuis la console.

Configuration des paramètres de sauvegarde

Amazon Data Firehose utilise Amazon S3 pour sauvegarder toutes les données ou uniquement les données échouées qu'il tente de livrer à la destination que vous avez choisie.

Important
  • Les paramètres de sauvegarde ne sont pris en charge que si la source de votre flux Firehose est Direct PUT ou Kinesis Data Streams.

  • La fonctionnalité de mise en mémoire tampon zéro n'est disponible que pour les destinations de l'application et n'est pas disponible pour la destination de sauvegarde Amazon S3.

Vous pouvez spécifier les paramètres de sauvegarde S3 pour votre flux Firehose si vous avez fait l'un des choix suivants.

  • Si vous définissez Amazon S3 comme destination pour votre flux Firehose et que vous choisissez de spécifier une fonction AWS Lambda pour transformer les enregistrements de données ou si vous choisissez de convertir les formats d'enregistrement de données pour votre flux Firehose.

  • Si vous définissez Amazon Redshift comme destination pour votre flux Firehose et que vous choisissez de spécifier une fonction AWS Lambda pour transformer les enregistrements de données.

  • Si vous définissez l'un des services suivants comme destination pour votre flux Firehose : Amazon OpenSearch Service, Datadog, Dynatrace, HTTP Endpoint, MongoDB Cloud, New Relic, Splunk ou LogicMonitor Sumo Logic, Snowflake, Apache Iceberg Tables.

Voici les paramètres de sauvegarde de votre stream Firehose.

  • Sauvegarde des enregistrements source dans Amazon S3 : si S3 ou Amazon Redshift est la destination que vous avez sélectionnée, ce paramètre indique si vous souhaitez activer la sauvegarde des données source ou la désactiver. Si un autre service pris en charge (autre que S3 ou Amazon Redshift) est défini comme destination sélectionnée, ce paramètre indique si vous souhaitez sauvegarder toutes vos données sources ou uniquement les données ayant échoué.

  • Compartiment de sauvegarde S3 : il s'agit du compartiment S3 dans lequel Amazon Data Firehose sauvegarde vos données.

  • Préfixe du compartiment de sauvegarde S3 : il s'agit du préfixe dans lequel Amazon Data Firehose sauvegarde vos données.

  • Préfixe de sortie d'erreur du compartiment de sauvegarde S3 : toutes les données ayant échoué sont sauvegardées dans ce préfixe de sortie d'erreur de compartiment S3.

  • Conseils de mise en mémoire tampon, compression et chiffrement pour la sauvegarde : Amazon Data Firehose utilise Amazon S3 pour sauvegarder toutes les données ou uniquement les données qu'il tente de livrer à la destination de votre choix, ou uniquement celles qui ont échoué. Amazon Data Firehose met en mémoire tampon les données entrantes avant de les transmettre (en les sauvegardant) à Amazon S3. Vous pouvez choisir une taille de tampon de 1 à 128 MiBs et un intervalle de mémoire tampon de 60 à 900 secondes. La première condition qui est satisfaite déclenche la livraison des données à Amazon S3. Si vous activez la transformation des données, l'intervalle de mémoire tampon s'applique entre le moment où les données transformées sont reçues par Amazon Data Firehose et leur livraison à Amazon S3. Si la livraison des données vers la destination prend du retard par rapport à l'écriture des données dans le flux Firehose, Amazon Data Firehose augmente la taille de la mémoire tampon de manière dynamique pour rattraper le retard. Cette action permet de veiller à ce que toutes les données soient livrées à la destination.

  • Compression S3 : choisissez entre GZIP une compression de données Snappy, Zip ou compatible avec Hadoop, ou aucune compression de données. Compatible avec Snappy, Zip et Hadoop La compression Snappy n'est pas disponible pour le flux Firehose avec Amazon Redshift comme destination.

  • Format d'extension de fichier S3 (facultatif) : spécifiez un format d'extension de fichier pour les objets livrés au compartiment de destination Amazon S3. Si vous activez cette fonctionnalité, l'extension de fichier spécifiée remplacera les extensions de fichier par défaut ajoutées par les fonctionnalités de conversion de format de données ou de compression S3 telles que .parquet ou .gz. Assurez-vous d'avoir configuré la bonne extension de fichier lorsque vous utilisez cette fonctionnalité avec la conversion de format de données ou la compression S3. L'extension de fichier doit commencer par un point (.) et peut contenir les caractères autorisés : 0-9a-z ! -_.*' (). L'extension de fichier ne peut pas dépasser 128 caractères.

  • Firehose prend en charge le chiffrement côté serveur Amazon S3 avec AWS Key Management Service (SSE-KMS) pour chiffrer les données livrées dans Amazon S3. Vous pouvez choisir d'utiliser le type de chiffrement par défaut spécifié dans le compartiment S3 de destination ou de chiffrer avec une clé de la liste des AWS KMS clés que vous possédez. Si vous chiffrez les données à l'aide de AWS KMS clés, vous pouvez utiliser la clé AWS gérée par défaut (aws/s3) ou une clé gérée par le client. Pour plus d'informations, voir Protection des données à l'aide du chiffrement côté serveur avec des clés AWS KMS gérées (SSE-). KMS

Configurer les paramètres avancés

La section suivante contient des détails sur les paramètres avancés de votre stream Firehose.

  • Chiffrement côté serveur : Amazon Data Firehose prend en charge le chiffrement côté serveur Amazon S3 avec AWS Key Management Service (AWS KMS) pour chiffrer les données livrées dans Amazon S3. Pour plus d'informations, voir Protection des données à l'aide du chiffrement côté serveur avec des clés AWS KMS gérées (SSE-). KMS

  • Journalisation des erreurs : Amazon Data Firehose enregistre les erreurs liées au traitement et à la livraison. En outre, lorsque la transformation des données est activée, elle peut enregistrer les appels Lambda et envoyer des erreurs de livraison de données à Logs. CloudWatch Pour plus d'informations, consultez la section Surveillance d'Amazon Data Firehose à l'aide CloudWatch de journaux.

    Important

    Bien que facultative, il est fortement recommandé d'activer la journalisation des erreurs d'Amazon Data Firehose lors de la création du stream Firehose. Cette pratique garantit que vous pouvez accéder aux détails de l'erreur en cas de traitement de l'enregistrement ou d'échec de la diffusion.

  • Autorisations : Amazon Data Firehose utilise des IAM rôles pour toutes les autorisations dont le stream Firehose a besoin. Vous pouvez choisir de créer un nouveau rôle dans lequel les autorisations requises sont attribuées automatiquement, ou de choisir un rôle existant créé pour Amazon Data Firehose. Le rôle est utilisé pour accorder à Firehose l'accès à divers services, notamment votre compartiment S3, votre AWS KMS clé (si le chiffrement des données est activé) et la fonction Lambda (si la transformation des données est activée). La console peut créer un rôle avec des espaces réservés. Pour plus d'informations, voir Qu'est-ce que c'est IAM ? .

  • Balises - Vous pouvez ajouter des balises pour organiser vos AWS ressources, suivre les coûts et contrôler l'accès.

    Si vous spécifiez des balises dans l'CreateDeliveryStreamaction, Amazon Data Firehose octroie une autorisation supplémentaire à l'firehose:TagDeliveryStreamaction afin de vérifier si les utilisateurs sont autorisés à créer des balises. Si vous ne fournissez pas cette autorisation, les demandes de création de nouveaux flux Firehose avec IAM des balises de ressources échoueront avec un résultat AccessDeniedException tel que celui-ci.

    AccessDeniedException User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.

    L'exemple suivant illustre une politique qui permet aux utilisateurs de créer un flux Firehose et d'appliquer des balises.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "firehose:CreateDeliveryStream", "Resource": "*", } }, { "Effect": "Allow", "Action": "firehose:TagDeliveryStream", "Resource": "*", } } ] }

Une fois que vous avez choisi votre sauvegarde et vos paramètres avancés, passez en revue vos choix, puis choisissez Create Firehose stream.

Le nouveau stream Firehose passe quelques instants à l'état de création avant d'être disponible. Une fois que votre stream Firehose est en état actif, vous pouvez commencer à lui envoyer des données depuis votre producteur.